自然数nを入力し、その数字の合計を計算し、合計の各数字を中国語のピンインで書き込みます。

1.数値の合計を計算します

分析:nの数がわからないため、  n = n / 10; n%10を使用して各桁を数えることができます

 

1 #include <stdio.h>
 2   
3  int main()
 4  {
 5      int n;
6      int sum = 0 ;
7      scanf(" %d "、&n);
8      while(n> 0 9      {
 10          sum = sum + n%10 ;
11          n = n / 10 ;
12      }
 13      printf(" %d " 、sum);
14は     0を返し ます15 }

第二に、高度なバージョン:

正の整数nを読み取り、  その桁の合計を計算し、合計の各桁を中国語のピンインで書き込みます。

入力形式:各テスト入力には1つのテストケースが含まれ自然数nの値を提供  します。ここで、nが1未満 であることを確認し  ます。

出力形式:nの数字の合計の各数字が 1行に出力されます。ピンインの数字の間にスペースが1つありますが、行  の最後のピンインの数字の後にスペースはありません。

入力例:1234567890987654321123456789        出力例:yi san wu

分析:数値が大きすぎるため、使用できるのは文字列のみです。
注:文字列の数値は数値に変換されます:-'0 ';ターミネーター:' \ 0 '
1 #include <stdio.h>
 2  #define N 100
 3  #define M 5
 4  int main()
 5  {
 6      int sum = 0、i = 0 、j;
7      char   hz [ 10 ] [ 5 ] = { " ling "" yi "" er "" san "" si "" wu "" liu "" qi "" ba "" jiu " };
8      文字sr [N];
9      int cs [M];
10      のために(私は= 0を I ++; I <M 11      - CS [I] = 1 12      scanf(" %s " 、sr);
13      i = 0 ;
14      while(sr [i]!= ' \ 0 ' 15      {
 16          sum + = sr [i]- ' 0 ';
17          i ++ ;
18      }
 19      j = 0 ;
20      while(sum> 0 21      {
 22          cs [j] = sum%10 ;
23          sum = sum / 10 ;
24          j ++ ;
25      }
 26      for(i = M- 1 ; i> = 0 ; i -- 27      {
 28          if(i == 0 29          {
 30              printf("%s " 、hz [cs [i]]);
 31              
32          } else {
 33              printf(" %s " 、hz [cs [i]]);
 34          }
 35       } 
 36      
37      return  0 ;
 38  
39 }
 

 

 

おすすめ

転載: www.cnblogs.com/Zhuohome/p/12754207.html