#include<stdio.h>
int main(){
char s[101];
int sum=0;
int u=0
for(int i=0;s[i]!='\0';i++){
scanf("%c",s[i]);
u++;
}
for(int j=0;j<=i-1;j++){
sum=sum+(s[i]-'\0');
}
int shuzi;
for(int k=0;sum!=0;k++){
shuzi=sum%10;
sum=sum/10;
if(shuzi==1){
printf(" yi");
}else if(shuzi==2){
printf(" er");
}else if(shuzi==3){
printf(" san");
}else if(shuzi==4){
printf(" si");
}else if(shuzi==5){
printf(" wu");
}else if(shuzi==6){
printf(" liu");
}else if(shuzi==7){
printf(" qi");
}else if(shuzi==8){
printf(" ba");
}else if(shuzi==9){
printf(" jiu");
}else if(shuzi==10){
printf("shi");
}
}
return 0;
}
#include<stdio.h>
int main(){
char s[101];
int sum=0;
int u=0;
int flag=0;
for(int i=0;s[i]!='\0';i++){
scanf("%c",&s[i]);
u++;
flag=i;
}
for(int j=0;j<=flag-1;j++){
sum=sum+(s[flag]-'\0');
}
int shuzi;
for(int k=0;sum!=0;k++){
shuzi=sum%10;
sum=sum/10;
if(shuzi==1){
printf(" yi");
}else if(shuzi==2){
printf(" er");
}else if(shuzi==3){
printf(" san");
}else if(shuzi==4){
printf(" si");
}else if(shuzi==5){
printf(" wu");
}else if(shuzi==6){
printf(" liu");
}else if(shuzi==7){
printf(" qi");
}else if(shuzi==8){
printf(" ba");
}else if(shuzi==9){
printf(" jiu");
}else if(shuzi==10){
printf("shi");
}
}
return 0;
}
测试图:
希望对题主有所帮助,可以的话,帮忙点个采纳!
for(int j=0;j<=i-1;j++){
sum=sum+(s[i]-'\0');
}
这里你想使用i,那你应该把循环写到i的循环里面去,否则就要把i定义成全局变量
int u=0; //缺逗号
//for(int i=0;s[i]!='\0';i++) '\0'输入不了,以回车符作为结束标志
for(int i=0;(s[i]=getchar())!='\n';i++,u++);
for(int j=0;j<u;j++){ //i是上个for的局部变量,此处无效,
sum+=(s[j]-'0'); //
}