程序设计题不知道怎么写,能不能帮忙看下

:功能:编写函数统计各分数段的人数。N个分数通过调用随机函数获得,并放在主函数的score数组中。要求函数把0~9分数段的人数放在d[0]中,10~19分数段的人数放在d[1]中,以此类推。结果在主函数中输出。要求:用for循环完成------------------------------------------------*/#include <stdlib.h>#include<stdio.h>void wwjt(); void fun(int score[],int n,int d[])/*n是score数组的元素个数*/{ /**********Program**********/ }

/********** End **********/}

main(){ int score[30],d[10]={0},i; printf("学生的成绩为:\n"); for(i=0;i<30;i++) { score[i]=rand()%100; printf("%5d",score[i]); if((i+1)%5==0)printf("\n"); } printf("\n-------------------\n"); fun(score,30,d); for(i=0;i<10;i++) printf("%2d到%2d的人数为%3d人\n",i*10,i*10+9,d[i]); printf("\n-------------------\n");wwjt();}void wwjt(){ FILE *IN,*OUT; int iIN[30],iOUT[10]={0}; int i; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(i=0;i<15;i++) fscanf(IN,"%d",&iIN[i]); fun(iIN,15,iOUT); for(i=0;i<10;i++){ fprintf(OUT,"%d\n",iOUT[i]); } fclose(IN); fclose(OUT);}

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdlib.h>
#include <stdio.h>
void wwjt();
void fun(int score[],int n,int d[])
{
	int i = 0;
	for (i = 0; i < n; i++)
	{
		if(score[i] >= 0 && score[i] <= 9)
			d[0] = d[0] +1;
		else if(score[i] >= 10 && score[i] <= 19)
			d[1] = d[1] +1;
		else if(score[i] >= 20 && score[i] <= 29)
			d[2] = d[2] +1;
		else if(score[i] >= 30 && score[i] <= 39)
			d[3] = d[3] +1;
		else if(score[i] >= 40 && score[i] <= 49)
			d[4] = d[4] +1;
		else if(score[i] >= 50 && score[i] <= 59)
			d[5] = d[5] +1;
		else if(score[i] >= 60 && score[i] <= 69)
			d[6] = d[6] +1;
		else if(score[i] >= 70 && score[i] <= 79)
			d[7] = d[7] +1;
		else if(score[i] >= 80 && score[i] <= 89)
			d[8] = d[8] +1;
		else if(score[i] >= 90 && score[i] <= 99)
			d[9] = d[9] +1;
	}
}
void main()
{
	int score[30],d[10]={0},i;
	printf("学生成绩为:\n");
	for (i = 0; i < 30; i++)
	{
		score[i] = rand() % 100;
		printf("%5d",score[i]);
		if( (i+i)%5 == 0 ) printf("\n");
	}
	printf("\n-----------------------\n");
	fun(score,30,d);
	for (i = 0; i < 10;i++)
	{
		printf("%d~%d分数段的人数为:%d\n",i * 10,i*10+9,d[i]);
	}
}

 

楼上的朋友程序没错,但我建议对分数取余来决定范围,这样代码就不用那么长了