1. 程式人生 > >練兵區——程式設計題——不計入總分 1

練兵區——程式設計題——不計入總分 1

1

判斷一個整型資料有幾位v2.0(4分)

題目內容:

從鍵盤輸入一個整型資料(int型),編寫程式判斷該整數共有幾位,並輸出包含各個數字的個數。例如,從鍵盤輸入整數16644,該整數共有5位,其中有1個1,2個6,2個4。

程式執行結果示例1:

Please enter the number:

12226↙

12226: 5 bits

1: 1

2: 3

6: 1

程式執行結果示例2:

Please enter the number:

-12243↙

-12243: 5 bits

1: 1

2: 2

3: 1

4: 1

輸入格式: "%d"

輸出格式:

輸入提示資訊:"Please enter the number:\n"

判斷該整數共有幾位:"%d: %d bits\n"

包含數字0的個數:"0: %d\n"

包含數字1的個數:"1: %d\n"

包含數字2的個數:"2: %d\n"

包含數字3的個數:"3: %d\n"

包含數字4的個數:"4: %d\n"

包含數字5的個數:"5: %d\n"

包含數字6的個數:"6: %d\n"

包含數字7的個數:"7: %d\n"

包含數字8的個數:"8: %d\n"

包含數字9的個數:"9: %d\n"

為避免出現格式錯誤,請直接拷貝貼上題目中給的格式字串和提示資訊到你的程式中。

#include <stdio.h> #include <stdlib.h> int main() {     int m,n,s,a,b,c,d,e,f,g,h,x,z,i=0,l;     a=0;     b=0;     c=0;     d=0;     e=0;     f=0;     g=0;     h=0;     x=0;     z=0;     printf("Please enter the number:\n");     scanf("%d",&n);     l=n;     do     {         n=abs(n);         switch(n%10)         {         case 0:             a++;             break;         case 1:             b++;             break;         case 2:             c++;             break;         case 3:             d++;             break;         case 4:             e++;             break;         case 5:             f++;             break;         case 6:             g++;             break;         case 7:             h++;             break;         case 8:             x++;             break;         default :             z++;         }         n=n/10;     }     while(n);     m=abs(l);     while (m)     {         i++;         m/=10;     }

    printf("%d: %d bits\n",l,i);     if(a)     {         printf("0: %d\n",a);     }     if(b)     {         printf("1: %d\n",b);     }     if(c)     {         printf("2: %d\n",c);     }     if(d)     {         printf("3: %d\n",d);     }     if(e)     {         printf("4: %d\n",e);     }     if(f)     {         printf("5: %d\n",f);     }     if(g)     {         printf("6: %d\n",g);     }     if(h)     {         printf("7: %d\n",h);     }     if(x)     {         printf("8: %d\n",x);     }     if(z)     {         printf("9: %d\n",z);     }     return 0; }