#define M 100
void arrout(int *,int);
int arrin(int *);
main(int argc, char *argv[])
{
int s[M],k;
k=arrin(s);
arrout(s,k);
}
arrin(int *a)
{
int i,x;
i=0;
scanf("%d",&x);
while(x>=0)
{
*(a+i)=x;
i++;
scanf("%d",&x);
}
return i;
}
void arrout(int *a,int n)
{
int i;
for(i=0;i<n;i++)
printf(((i+1)%5==0)?"%4d\n":"%4d",*(a+i));
printf("\n");
}
#include<stdio.h>
#include<stdlib.h>
#define M 50
#define N 10
getdata(int *s)
{
int i;
// for(i=0;i<M;i++)
// s[i]=random(10);
}
stat(int *a,int *c)
{
int i;
for(i=0;i<N;i++)
c[i]=0;
for(i=0;i<M;i++)
c[a[i]]++;
}
outdata(int *c)
{
int i;
for(i=0;i<N;i++)
printf("%d : %d\n",i,c[i]);
}
main()
{
int a[M],c[N];
getdata(a);
stat(a,c);
printf("Output the result: \n");
outdata(c);
}
这是习题册上的原题.确保录入都正确,但就是出错.先说谢谢了!