第 1 頁:填空題 |
第 2 頁:改錯(cuò)題 |
第 3 頁:編程題 |
三、編程題
請編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)計(jì)個(gè)年齡段的人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中;要求函數(shù)把0至9歲年齡段的人數(shù)放在d[0]中,把10至19歲年齡段的人數(shù)放在d[1]中,把20至29歲年齡段的人數(shù)放在d[2]中,其余依此類推,把100歲(含100)以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸出。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
#include
#define N 50
#define M 11
void fun(int *a, int *b)
{
}
double rnd()
{
static t=29, c=217, m=1024, r=0;
r=(r*t+c)%m;
return((double)r/m);
}
main()
{
int age[N], i, d[M];
FILE *out ;
for(i=0; i age[i]=(int)(115*rnd()); printf("The original data :\n"); for(i=0; i printf((i+1)%10==0?"%4d\n":"%4d",age[i]); printf("\n\n"); fun( age, d); out=fopen ("out.dat","w"); for(i=0;i<10;i++) { printf("%4d---%4d : %4d\n", i*10, i*10+9, d[i]); fprintf(out, "%4d---%4d : %4d\n", i*10, i*10+9, d[i]); } printf(" Over 100 : %4d\n", d[10]); fprintf(out, " Over 100 : %4d\n", d[10]); fclose (out ); } 參考答案: void fun (int *a, int *b) { int i, j; for(j=0;j b[j]=0; for(i=0;i if(a[i]>=0&&a[i]<=9) b[0]+=1; else if(a[i]>=10&&a[i]<=19) b[1]+=1; else if(a[i>=20&&a[i]<=29) b[2]+=1; else if(a[i]>=30&&a[i]<=39) b[3]+=1; else if(a[i>=40&&a[i]<=49]) b[4]+=1; else if(a[i]>=50&&a[i]<=59) b[5]+=1; else if(a[i]>=60&&a[i]<=69) b[6]+=1; else if(a[i]>=70&&a[i]<=79) b[7]+=1; else if(a[i]>=80&&a[i]<=89) b[8]+=1; else if(a[i]>=90&&a[i]<=99) b[9]+=1; else b[10]+=1; }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |