为什么打出都是第0个学生,会陷入死循环
程序代码:
// 2014.12.16.22.06.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include"string.h" int _tmain(int argc, _TCHAR* argv[]) { printf("欢迎来到学生管理系统"); char name[50]; int stu[100];//学生人数100 char stun[100][30];//学生姓名 int stuk[4][100];//学生四门功课成绩 int i=0; while(true) { printf("\n请输入要查询的内容"); gets(name); if (strcmp(name,"input")==0) { while(i<100) { printf("请输入%d学生姓名"); scanf("请输入学生姓名%s",&stun[i]); scanf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]); i++; } } else if(strcmp(name,"avg")==0) { int sum1=0,sum2=0,sum3=0,sum4=0; sum1=sum1+stuk[0][i]; sum2=sum2+stuk[1][i]; sum3=sum3+stuk[2][i]; sum4=sum4+stuk[3][i]; printf("语文平均分%d,数学平均分%d,英语平均分,计算机平均分%d",sum1/100,sum2/100,sum3/100,sum4/100); } else if(strcmp(name,"list")==0) { printf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]); } else { printf("帮助,input是输入,avg是求平均分,list是列出学生成绩"); } } return 0; } [local]1[/local]code]// 2014.12.16.22.06.cpp : 定义控制台应用程序的入口点。附件1是第一个代码显示图
//
#include "stdafx.h"
#include"string.h"
int _tmain(int argc, _TCHAR* argv[])
{
printf("欢迎来到学生管理系统");
char name[50];
int stu[100];//学生人数100
char stun[100][30];//学生姓名
int stuk[4][100];//学生四门功课成绩
int i=0;
while(true)
{
printf("\n请输入要查询的内容");
gets(name);
if (strcmp(name,"input")==0)
{
while(i<100)
{
printf("请输入%d学生姓名");
scanf("请输入学生姓名%s",&stun[i]);
scanf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);
i++;
if (printf(" "))
break;
}
}
else if(strcmp(name,"avg")==0)
{
int sum1=0,sum2=0,sum3=0,sum4=0;
sum1=sum1+stuk[0][i];
sum2=sum2+stuk[1][i];
sum3=sum3+stuk[2][i];
sum4=sum4+stuk[3][i];
printf("语文平均分%d,数学平均分%d,英语平均分,计算机平均分%d",sum1/100,sum2/100,sum3/100,sum4/100);
}
else if(strcmp(name,"list")==0)
{
printf("第%d个学生的语文成绩%d,数学成绩%d,英语成绩%d,计算机成绩%d",stun[i],stuk[0][i],stuk[1][i],stuk[2][i],stuk[3][i]);
}
else
{
printf("帮助,input是输入,avg是求平均分,list是列出学生成绩");
}
}
return 0;
}
[/code]改了之后又只能输入一个学生名字,后直接跳到帮助