为什么输出的学生姓名会重复输出两次??怎么改??

#include
#define N 10
struct student{
char num[6];
char name[8];
int score[4];
};

void input(struct student stu[],int n)
{
int i,j;
for(i=0;i<n;i++)
{
scanf("%s",stu[i].num);
scanf("%s",stu[i].name);
for(j=0;j<4;j++)
{
scanf("%d",&stu[i].score[j]);
}
}
}

void print(struct student stu[],int n)
{
int i,j;
for(i=0;i<n;i++)
{
printf("%s ",stu[i].num);
printf("%s ",stu[i].name);
for(j=0;j<4;j++)
{
printf("%d ",stu[i].score[j]);
}
}
printf("\n");
}

void main()
{
int n,i;
struct student stu[N];
printf("input the number of the studentds:");
scanf("%d",&n);

printf("input student num:\n");
printf("input student name:\n");
printf("input student four score:\n");
printf("=================================================\n");

input(stu,n);
printf("\ninput 1(output result) or 2(exist):\n");
scanf("%d",&i);
if(i==1)
{
    print(stu,n);
}
if(i==2)
{
    printf("Exist!\n");
}
printf("\n");

}


1个回答

我简单测试了你的程序,没有发现输出2遍姓名的问题,如下:

图片说明
如果你说存在,请提供你是怎么输入的。

Bei_MingXue
Bei_MingXue 回复caozhy:。。。感觉很有道理的样子。。好的,信你啦
大约一年之前 回复
caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复Bei_MingXue: 越界可能出错可能不出错(好比闯红灯不一定每次都会被车撞,但是不能闯红灯)。但是越界肯定是不行的。
大约一年之前 回复
Bei_MingXue
Bei_MingXue 回复caozhy: 我试过,八个字母输入的话不会重复输出两个名字。数字只能输入5位。感觉有点迷。。。
大约一年之前 回复
caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复Bei_MingXue: char[8]只能存储7个字符。\0是scanf写入的
大约一年之前 回复
Bei_MingXue
Bei_MingXue 回复caozhy: 就是只有储存数据是这样的,如果是储存字母后面会自动加\0,char【8】可以填入8个字符对吧???
大约一年之前 回复
caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复Bei_MingXue: 你char[6]最多只能存5个字符,还有一个需要存储结束符号\0,如果要6位,你起码需要char[7]
大约一年之前 回复
Bei_MingXue
Bei_MingXue 就是输入六位学号,名字输入8个字母,然后名字就重复输出了。。
大约一年之前 回复
Bei_MingXue
Bei_MingXue 我不会发照片。。。我输入的是111111 kkkkkkkk 10 20 30 40 222222 qqqqqqqq 50 60 70 80
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

1
已知有若干个学生的数据(包括学号、姓名和一门课程的成绩)请编程实现
1
求思路..想做个学生考勤怎么建表呢?年份怎么判断.输出时只想输出1个月 或者3个月,怎么指定输出哪个月呢?
1
建立学生类要求有构造函数、显示函数、成绩修改函数,建立两个对象,输入成绩,并显示两个学生的信息。
2
mysql多表查询怎么输出这样的结果呢
1
建立一个学生类,存放5个学生的数据(学号、姓名、成绩)
0
C语言程序设计一个小学生四则运算系统
0
C语言数据结构输出学号,表示各个学生的成绩,以学号递增顺序给出,第一个学生学号为1
1
每位学生的平均成绩输出
0
综合运用C语言的程序代码编写的技术输出各科成绩均大于等于平均成绩的学生数量
0
按学号递增排序;当 C=2时,按姓名的非递减字典序排序,运用的是C语言怎么做,谢谢
1
C语言程序编写求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量
0
JAVA 现有3老师个分别管理3个班级班级学生人数不限(即1个老师管理1个班级),录入学生期末成绩。
1
python 如何在列表内查询输出制定内容
3
PTA 1004 成绩排名 C++ 网页提交的时候“部分正确”,找不出来错误。。
2
怎么把这样的文件文本按照姓名分数的形式读入链表?
0
EXCEL排序的问题,怎么用代码来实现呢
0
如何来统计同成绩学生人数
1
求SpringBootJPA一对多和多对多的写法
1
怎么在此基础上添加判断是否再次添加的数据是否存在
2
怎么在此基础上添加判断,判断是否再次添加的数据是否存在 ?