#include <stdio.h>
#define M 1024
struct student
{
int id;
char name[20];
int score;
};
main()
{
int i,n;
struct student s[M];
printf("input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("input s[%d].id:",i);
scanf("%d",&s[i].id);
printf("input s[%s].name:",i);
scanf("%s",s[i].name);
printf("input s[%d].score:",i);
scanf("%d",&s[i].score);
}
for(i=0;i<n;i++)
printf("%d\t%s\t%d\n",s[i].id,s[i].name,s[i].score);
}
把主函数的输出部分,移出主函数,做成自定义函数方式,主函数完成调用。(可以给完整的过程吗🥺,之前有试过可以运行但是没有结果,所以可以求一个解题全过程吗🥺)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
qzjhjxj 2022-03-20 11:07关注修改如下,供参考:
#include <stdio.h> #define M 1024 struct student { int id; char name[20]; int score; }; void print(struct student *p,int n) { int i; for(i=0;i<n;i++) printf("%d\t%s\t%d\n",p[i].id,p[i].name,p[i].score); } int main() { int i,n; struct student s[M]; printf("input n:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("input s[%d].id:",i); scanf("%d",&s[i].id); printf("input s[%d].name:",i); //printf("input s[%s].name:",i); scanf("%s",s[i].name); printf("input s[%d].score:",i); scanf("%d",&s[i].score); } print(s,n);//for(i=0;i<n;i++)输出改为函数 // printf("%d\t%s\t%d\n",s[i].id,s[i].name,s[i].score); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报