第一个程序的代码:
#include "stdio.h"
struct stu
{
int num;
char *name;
char sex;
float score;
}boy[5]={
{101,"Li ping",'M',45},
{102,"Zhang ping",'M',62.5},
{103,"Hei fang",'F',92.5},
{104,"Cheng ling",'F',87},
{105,"Wang ming",'M',58},
};
main()
{
int i,c=0;
float ave,s=0;
for(i=0;i<5;i++)
{
s+=boy[i].score;
if(boy[i].score<60)
{
c+=1;
}
}
printf("s=%f\n,s");
ave=s/5;
printf("average=%f\ncount=%d\n",ave,c);
system("pause");
return 0;
}
第二个程序的代码:
#include <stdio.h>
#include <stdlib.h>
main()
{
struct stu
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
system("pause");
return 0;
}
第三个程序的代码:
#include <stdio.h>
#include <stdlib.h>
main()
{
struct stu
{
int num;
char *name;
char sex;
float score;
}
boy1,boy2;
boy1.num=102;
boy1.name="Zhang ping";
printf("input sex and score\n");
scanf("%c%f",&boy1.sex,&boy1.score);
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
system("pause");
return 0;
}
这三个程序的代码出了什么问题呢?
scanf("%c%f",&boy1.sex,&boy1.score); 改为 scanf("%c %f",&boy1.sex,&boy1.score);
没输出内容吗?能正常编译没报错,代码应该没问题
scanf里面少了一个空格。
printf("s=%f\n,s");改成 printf("s=%f\n",s);
main函数要有返回值类型 int main()
请采纳,谢谢!
第一个程序,main()函数里printf("s=%f\n,s");改为printf("s=%f\n",s);
第三个程序:scanf("%c%f",&boy1.sex,&boy1.score);改为scanf("%c %f",&boy1.sex,&boy1.score);
%c和%f之间加空格
如有帮助,请采纳一下,谢谢。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632