Description
读入n个随机整数,按小于10、10~99、100~999、1000以上四类统计,输出数据分别在每类中的出现次数。
Input
有多组测试数据。输入的第一行是整数T(0<T<=1000),表示测试数据的组数。每一组测试数据只有一行,开始是三个整数n,表示该行随机整数的个数,随后是n个随机整数,该行每个数后均有一个空格。该行没有其它多余的符号。0<n<=30000,随机整数小于32768。
Output
对应每组输入,输出一行,共四个数,表示属于各类随机数个数,相邻两数之间有一个空格。该行不能有其它多余的符号。
Sample Input
1
10 1596 83 11 325 727 2 167 17 104 1910
Sample Output
1 3 4 2
解答:
1 #include <stdio.h> 2 3 int i,j,t,n[1001],k[1001][10],a[1000][32000]; 4 int main() 5 { 6 scanf("%d",&t); 7 for (i=0;i<t;i++) 8 { 9 scanf("%d",&n[i]); 10 for (j=0;j<n[i];j++) scanf("%d",&a[i][j]); 11 } 12 for (i=0;i<t;i++) 13 { 14 k[i][1]=0; 15 k[i][2]=0; 16 k[i][3]=0; 17 k[i][4]=0; 18 for (j=0;j<n[i];j++) 19 { 20 if (a[i][j]<10) k[i][1]++; 21 if ((a[i][j]>=10)&&(a[i][j]<100)) k[i][2]++; 22 if ((a[i][j]>=100)&&(a[i][j]<1000)) k[i][3]++; 23 if (a[i][j]>=1000) k[i][4]++; 24 } 25 for (j=1;j<4;j++) printf("%d ",k[i][j]); 26 printf("%d\n",k[i][4]); 27 } 28 }