C語言用結構體統計六人的五門功課,並統計每人平均成績和每科平均成績

代碼如下:

struct student{
	char name[10];
	int subject_1;
	int subject_2;
	int subject_3;
	int subject_4;
	int subject_5;
};

void sum1(struct student a[6] );   //每人平均
void sum2(struct student a[6] );    //每科平均


int main(){
	struct student stu[6];
	int i = 0;
	printf("請輸入6名學生信息:\n");
	for(i = 0; i < 6; i++)
	{
		printf("請輸入第%d位學生的信息:\n",i+1);
		printf("請輸入學生姓名:");
		gets(stu[i].name);
		printf("請輸入該學生五門成績:\n");
		scanf("%d",&stu[i].subject_1);
		scanf("%d",&stu[i].subject_2);
		scanf("%d",&stu[i].subject_3);
		scanf("%d",&stu[i].subject_4);
		scanf("%d",&stu[i].subject_5);	
		getchar();
	}
	sum2( stu );
	sum1( stu );
	
	return 0;
}

void sum1(struct student a[6] )  //每人平均
{
	int b[6];
	int i = 0;
	for(i = 0; i < 6; i++)
	{
		b[i] = (a[i].subject_1 + a[i].subject_2 + a[i].subject_3 + a[i].subject_4 + a[i].subject_5)/5;
	}
	printf("輸出6人每人的平均成績:\n");
	for(i = 0; i < 6; i++)
		printf("學生%s成績爲:%d\t",a[i].name,b[i]);
	printf("\n");
	
}

void sum2( struct student a[6] )   //每科平均
{
	int b[5], i;
	b[0] = (a[0].subject_1 + a[1].subject_1 + a[2].subject_1 + a[3].subject_1 + a[4].subject_1 + a[5].subject_1)/6;
	b[1] = (a[0].subject_2 + a[1].subject_2 + a[2].subject_2 + a[3].subject_2 + a[4].subject_2 + a[5].subject_2)/6;
	b[2] = (a[0].subject_3 + a[1].subject_3 + a[2].subject_3 + a[3].subject_3 + a[4].subject_3 + a[5].subject_3)/6;
	b[3] = (a[0].subject_4 + a[1].subject_4 + a[2].subject_4 + a[3].subject_4 + a[4].subject_4 + a[5].subject_4)/6;
	b[4] = (a[0].subject_5 + a[1].subject_5 + a[2].subject_5 + a[3].subject_5 + a[4].subject_5 + a[5].subject_5)/6;
	printf("輸出平均成績:\n");
	for(i = 0; i < 5; i++)
		printf("%d\t",b[i]);
	printf("\n");
	
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章