永发信息网

求助:为什么我这个程序的运行结果有时候正确有时候错误?

答案:1  悬赏:80  手机版
解决时间 2021-04-13 21:15
  • 提问者网友:姑娘长的好罪过
  • 2021-04-13 00:25

#include<stdio.h>
#define N 5
static int k;
struct student
{
char num[6];
char name[8];
int score[4];
int sumscore[4];
}stu[N];

void print(struct student stu[])
{
int i,j;
int maxsum;
printf("\nnum name score1 score2 score3\n");
for(i=0;i<N;i++)
{
printf("%s%6s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%9d",stu[i].score[j]);
printf("\n");
}
maxsum=stu[0].sumscore[0];
for(i=0;i<N;i++)
{
if(maxsum<stu[i].sumscore[i])
k=i;
}
printf("The highest score of student is:\n");
printf("The student's num is %s\n",stu[k].num);
printf("The student's name is %s\n",stu[k].name);
for(j=0;j<3;j++)
printf("The student's score %d is %d\n",j+1,stu[k].score[j]);
printf("\n");
}

void input(struct student stu[])
{
int i,j;
for(i=0;i<N;i++)
{
printf("Enter score of student %d\n",i+1);
printf("Enter student 's num:");
scanf("%s",&stu[i].num);
printf("Enter student's name:");
scanf("%s",&stu[i].name);
for(j=0;j<3;j++)
{
printf("score %d:",j+1);
scanf("%d",&stu[i].score[j]);
stu[i].sumscore[i]+=stu[i].score[j];
}
printf("\n");
}
}

void main()
{
input(stu);
print(stu);

getch();
}
谢谢!

最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-04-13 00:47

怎么个错法?

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯