Pat1005

题目链接:https://www.patest.cn/contests/pat-a-practise/1005

思路:这里就是输入一个数,然后把这个数的各个位数加起来,然后将总和的数字用英文输出。

首先以char数组读入这个数,然后把各个位数和加起来。然后输出,输出的时候有技巧,我们可以写一个char型的二维数组将英文的zero-night存起来,然后和的每位数所对应的英文就为二维数组的第一维位数

具体写法看代码

#include<iostream>
#include<string.h>
using namespace std;
int main(){
	char a[10000];
	int b[10000];
	int sum=0;
	char str[11][15]={"zero","one","two","three",
	"four","five","six","seven","eight","nine"};	
	cin>>a;
	int i;
	for(i=0;a[i]!='\0';i++){
		b[i]=a[i]-'0';
		cout<<b[i]<<endl;
	}
	for(int j=0;j<i;j++)
	sum=sum+b[j];
	int n=0;
	if(sum==0){
		cout<<"zero"<<endl;
	}
	else{
			while(sum>0){
				b[n]=sum%10;//记录下每位数字
				sum=sum/10;
				n++;
			}
	}
	for(int i=n-1;i>0;i--){
		cout<<str[b[i]]<<" ";//数字与英文对应
	}
	cout<<str[b[0]]<<endl;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值