解题思路:





注意事项:





参考代码:

/*
t
*/
#include<stdio.h>
#define N 100
struct student
{
    char num[10];
    char name[10];
    int score[3];
};
void input(struct student *stu,int n)//把结构体变量正常对待即可
{
    int i;
    for(i = 0; i < n; i++)
        scanf("%s%s%d%d%d",stu[i].num,stu[i].name,stu[i].score,stu[i].score+1,stu[i].score+2);
//stu[i].score是score数组的首地址
}
void print(struct student *stu,int n)
{
    int i;
    for(i = 0; i < n; i++)
        printf("%s,%s,%d,%d,%d\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
}
int main()
{
    struct student stu[N];
    int n;
    scanf("%d",&n);
    input(stu,n);
    print(stu,n);
    return 0;
}


点赞(12)
 

0.0分

13 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 5 条评论

福卡 4年前 回复TA
@小小白 可能你输出函数名字写错了吧
阿琛 4年前 回复TA
void input(struct Stu *stu,int n){
	for(int i=0;i<n;i++){
		scanf("%s%s%d%d%d",stu[i].id,stu[i].name,stu[i].s1,stu[i].s2,stu[i].s3);
	}
}
这里不是定义了一个结构体指针吗? 为什么下面的scanf可以直接变成结构体数组?
小小白 4年前 回复TA
#include<stdio.h>
struct Stu
{
   char id[10];
   char name[10];
   int s1;
   int s2;
   int s3;
};
void input(struct Stu *stu,int n){
	for(int i=0;i<n;i++){
		scanf("%s%s%d%d%d",stu[i].id,stu[i].name,stu[i].s1,stu[i].s2,stu[i].s3);
	}
}
void output(struct Stu *stu,int n){
	for(int i=0;i<n;i++){
		printf("%s %s %d %d %d\n",stu[i].id,stu[i].name,stu[i].s1,stu[i].s2,stu[i].s3);
	}
}
int main(){
	int n;
	scanf("%d",&n);
	struct Stu stu[100];
	input(stu,n);
	output(stu,n);
	return 0;
}
为什么不对啊
煮酒老麦 4年前 回复TA
受教了,scanf少了&
周周小鱼 5年前 回复TA
为什么成员都是数组呢,不用数组可以吗