请问这个用c语言怎么写程序?

用最简单易懂的方法

#include<stdio.h>

int main()

{

int b[111],d[111],k=0,sum=0,l=0;

char a[111];

gets(a);//这一题数非常大,只能用字符串表示; 

for(int i=0;a[i]!='\0';i++)

{

b[k++]=a[i]-48;//字符不能加减运算,让字符减去字符'0'的ASCII码,就变成字符对应的数了; 

}

for(int i=0;i<k;i++)

{

sum=sum+b[i];//各个位上的数相加的和; 

}

while(sum!=0)//再把和的各个位提取出来;不过这是倒序的; 

{ //比如sum=123,这提取出来的是321;

d[l++]=sum%10;//和的各个位都存到数组d中; 

sum/=10;

}

for(int i=l-1;i>=0;i--)//逆序循环 

{

switch(d[i])//d[i]的值等于下列case后的那个数,就输出那个case; 

{

case 0: printf("ling");break;

case 1: printf("yi");break;

case 2: printf("er");break;

case 3: printf("san");break;

case 4: printf("si");break;

case 5: printf("wu");break;

case 6: printf("liu");break;

case 7: printf("qi");break;

case 8: printf("ba");break;

case 9: printf("jiu");break;

}

if(i!=0)

{

printf(" ");

}

}

return 0;

 } 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-22

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

const char Fanyi[10][10] = { "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu","ling" };

char Result_r[10][10];


int main()

{

char Shuru[1000];

int result = 0;

scanf("%s", &Shuru);

printf("测试 %s-%d\n", Shuru, strlen(Shuru));

for (int i = 0; i < strlen(Shuru); i++)

{

result = result + (int)(Shuru[i] - '0');

}

itoa(result, Result_r[1],10);

printf("weishu:%s\n", Result_r[1]);

for (int i = 0; i < strlen(Result_r[1]); i++)

{

printf("%s ", Fanyi[int(Result_r[1][i] - '0')-1]);

}

getchar();

return 0;

}

第2个回答  2020-02-22

#include <stdio.h>

int main() {

  int sum = 0;

  char a, *c[] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};

  while ((a = getchar()) != '\n')

    sum += a - '0';

  if (sum / 100)

    printf ("%s ", c[sum / 100]);

  if (sum / 10)

    printf ("%s ", c[sum / 10 % 10]);

  printf ("%s", c[sum % 10]);

  return 0;

}

本回答被提问者采纳
第3个回答  2020-02-21
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",i,j,i*j);
}
printf("\n");
}
}追问

你这不对吧

错的吧

本回答被网友采纳
相似回答