如图,在用clion写c语言的时候总是会莫名奇妙多打一个换行符(‘’输入成功.‘’ 的下面不应该是空的),
也会出现中间多出一个换行符,不知道是什么问题
部分代码如下
#include <stdio.h>
#include <string.h>
int main(){
//这里是测试数据
//添加6个课程:Subject1 Subject2 Subject3 Subject4 Subject5 Subject6
/*添加5个学生信息
202211089312 Jame 67 98 78 98 67 34
202211089124 Tom 12 43 78 94 23 45
202211089456 Jason 13 43 89 78 59 34
202211083652 Mary 34 43 34 78 89 56
202211089234 Bot 58 39 50 50 68 39
*/
int student_sum=100,subject_sum=20; //规定学生最大总数与
int n1,n2,n3,n4,i,j,l,t,m; //临时数据(用完就扔)
int student_now=0,subject_now=0,student_now1=0,subject_now1=0; //统计收入的学生数量
float student_aver[student_sum],t_aver,studnet_total[student_sum],t_total;
char choice; //菜单选择号
char k[15]; //菜单号2用,储存需要查询的学生的学号或者姓名
char student_number[student_sum][15],student_name[student_sum][9],subject_name[subject_sum][20]; //学生信息
char t_number[15],t_name[9]; //交换用临时数据
int t_score[subject_sum]; //交换用临时数据
int student_score[student_sum][subject_sum]; //学生所有学科的分数
while(1)
{
printf("1. 输入:输入学科信息和学生信息\n");
printf("2. 查询:按照学号或者姓名查询单个学生的所有成绩\n");
printf("3. 显示:显示学生的所有信息或所有学生的单科成绩信息\n");
printf("4. 排序:按照学号、姓名或者单科学科成绩进行排序\n");
printf("0. 退出\n");
printf("输入菜单号:");
scanf("%c",&choice);
switch(choice){
case '1':
//添加课程
printf("是否要添加课程?是请输入要添加的课程数量,否请输入0,请输入:");
scanf("%d",&n1);
if (n1!=0)
{
printf("请输入每个课程的名称,课程间以空格分开:");
for (i=subject_now;i<subject_now1+n1;++i)
{
scanf("%s",subject_name[subject_now]);
subject_now+=1;
}
subject_now1=subject_now;
printf("输入成功.\n");
}
else if (n1==0){
goto label1;
}
//输入学号,姓名,成绩
printf("是否要继续输入学生信息?是请输入1,否请输入0,请输入:");
scanf("%d",&t);
if (t==1)
{
label1:
if (subject_now ==0)
{
printf("没有学科数据,请先输入学科数据。\n");
break;
}
printf("请输入你要添加的学生数量:");
scanf("%d", &n2);
printf("请按顺序输入基本信息(中间以空格分开):学号,姓名,");
//显示课程名
for (i=0;i<subject_now;++i)
{
if (i==subject_now-1)
{
printf("%s成绩:\n",subject_name[i]);
}
else
{
printf("%s成绩,",subject_name[i]);
}
}
你没有用多线程吧,或者后台开了按键精灵之类的