输出此学生的姓名,学号,和总分。下面是我做的程序,编译连接都么有错误,但是执行结果不对,求高人指点
struct student
{
int num[10];
char name[10];
float sco[2];
float aver;
float sum;
};
main()
{
struct student stu[3];
int i,j;
float max,sum,aver;
for(i=0;i<3;i++)
{
scanf("%d%s",&stu[i].num,stu[i].name);
sum=0;
for(j=0;j<2;j++)
scanf("%f",&stu[i].sco[j]);
sum=sum+stu[i].sco[j];
stu[i].aver=sum/2;
}
max=stu[0].aver;
for(i=0;i<3;i++)
if(stu[i].aver>max) max=stu[i].aver;
printf("%d%s",stu[i].num,stu[i].name);
printf("%f",stu[i].sum);
}
不好意思啊,请问执行的时候,如果输入三位同学学号为201111、201122、201133,姓名为wang、li、zhang,成绩为22 33、11 22、33 44,应该怎么输入啊?我修改之后,执行还是乱码,可能是我输入不对吧?
追答因为改正后储存学号是用int型的num来存,而你输入的已经大于int所能存储的最大范围32767
所以只需要将struct中的int num改成char num【20】即可,同时将相应的输入输出格式改变即可,改正后代码如下:
struct student
{
char num[20]; //将num[10]改成num[20]来储存学号,因为学号一般不超过19位
char name[10];
float sco[2];
float aver;
float sum;
};
main()
{
struct student stu[3];
int i,j;
float max,sum,aver;
for(i=0;imax) max=stu[i].aver;
printf("%s%s",stu[i].num,stu[i].name); 将%d改为%s,因为已经由字符型数组来储存学号了。
printf("%f",stu[i].sum);
}
不好意思啊,请问执行的时候,如果输入三位同学学号为201111、201122、201133,姓名为wang、li、zhang,成绩为22 33、11 22、33 44,应该怎么输入啊?我修改之后,执行还是乱码,可能是我输入不对吧?
...姓名和两门成绩。最后输出其中平均分最高的学生
int num; \/\/将num[10]改成num来储存学号,因为学号一般只是一个数字 char name[10];float sco[2];float aver;float sum;};main(){ struct student stu[3];int i,j;float max,sum,aver;for(i=0;i<3;i++){ scanf("%d%s",&stu[i].num,stu[i].name);sum=0;for(j=0;j<2;...
求C语言编程实现由键盘输入3个学生的信息(包括学号、姓名、成绩)程序运 ...
Input(s);for(i=0;i<3;++i)a[i]=&s[i];Sort(a);for(i=0;i<3;++i)printf("%d %s %.2f\\n",a[i]->num,a[i]->name,a[i]->score);return 0;}
在c语言中用调用函数求三个同学三科的总成绩,怎么编程
\/\/int num=0; \/*求总分*\/ float Sums(struct Student stu) { return stu.Mark1+stu.Mark2+stu.Mark3; } \/*输入学生信息*\/ int Student_Input(){ int num=0; while(1){ \/\/printf("请输入学号:"); students[num].ID=num+1; \/\/可以自行将学号改为手...
c语言,输入3个同学的姓名 学号 和3门课的成绩 ,然后打印出平均值和总分...
struct student *pb;printf("请依次输入%d名学生的学号、姓名、科目1、科目2和科目3的成绩:\\n", n);for(pb=pa;pb<pa+n;pb++)\/\/错误:原来是pb<pb+n,这明显是恒成立的。scanf("%d%s%lf%lf%lf",&pb->num,pb->name,&pb->score1,&pb->score2,&pb->score3);} void output(struct...
编写C语言程序,按提示输入学号,3门功课名称。输出学号,3门功课成绩...
int main(){ char str[20];\/\/学号 char a[20],b[20],c[20];\/\/功课名称 int x,y,z;\/\/功课分数 printf("请输入你的学号:\\n");while(scanf("%s",str)!=EOF)\/\/输入学号 { getchar();scanf("%s%d%s%d%s%d",a,&x,b,&y,c,&z);\/\/分别输入三门课的名称和分数 printf("学号...
编写一个c语言程序,实现录入学生学号和姓名信息的功能
include<stdio.h> include<stdlib.h> intmain(void){ chars[10];\/\/姓名 intnum;\/\/学号 printf("请输入姓名:\\n");gets(s);printf("请输学号:\\n");scanf("%d",&num);printf("姓名是:%s\\n学号是:%d\\n",s,num);system("pause");return0;} ...
用C语言输出学生信息,输出学生本人的学号、姓名、年龄、班级等信息...
char name[8];int clas[3];int old[3];} stu[5];void main(){int i;for(i=0;i<5;i++){ printf("\\n please input No. %d score:\\n",i);printf("stuNo:");scanf("%s",stu[i].num);printf("name:");scanf("%s",stu[i].name);printf("class:");scanf("%s",stu[i]...
C语言 要求通过键盘输入三个学生信息(包括姓名、学号、班级),并输出这...
_class[20];};int main(){ struct st s[11];\/\/定义结构体数组;for(int i=0;i<3;i++)scanf("%s%d%s",s[i].name,&s[i].id,s[i]._class);\/\/输入 for(int i=0;i<3;i++)printf("姓名:%s 学号:%d 班级:%s\\n",s[i].name,s[i].id,s[i]._class);\/\/输出 } ...
c语言:结构体:有3个学生,每个学生的数据包括学号、姓名、3门课的成
};int main(){ struct student stu[3];int i,max;printf("请输入三位学生的学号、姓名、3门课的成绩(以空格分开输入):\\n");for(i=0;i<3;i++){ printf("请输入第%d个学生的信息:",i+1);scanf("%s%s%f%f%f",stu[i].number,stu[i].name,&stu[i].score[0],&stu[i].score[...
c语言输入两个学生的姓名、学号、英语、数学、计算机成绩
float score[3][2]={0};printf("请输入第1个学生的姓名: \\n");gets(name[0]);printf("请输入第1个学生的学号: \\n");scanf("%d",&ID[0]);printf("请输入第1个学生的英语成绩: \\n");scanf("%f",&score[0][0]);printf("请输入第1个学生的数学成绩: \\n");scanf("%f",&...