忘了字符转整型
字符符型转换整形用强制转换就行:char c=‘B’ ;int a ;a = (int)c ;
如果是字符’0’到‘9’转成0-9:char c=‘8’ ;int a ;a =(int) (c - ‘0’) ;
如果是字串转数字:用atoi
数组越界(报错:运行时错误),题目给的的最大长度是100,而我当时误以为是10,给定了12
代码展示:
#include<cstdio>
#include<cstdlib>
int main(){
char read[13];
char store[11][6]={"zero","one","two","three","four","five","six","seven","eight","nine"};
scanf("%s",read);
int sum=0,i=0;
while(read[i]!='\0'){ //每个数求和
sum+=(int)(read[i]-'0');
i++;
}
if(sum>=0&&sum<=9){ //对不同位数的sum采取不同的方式输出
printf("%s",store[sum]);
}else if(sum<=99){
printf("%s %s",store[sum/10],store[sum%10]);
}else{
printf("%s %s %s",store[sum/100],store[sum/10%10],store[sum%10]);
}
return 0;
}