- 论坛徽章:
- 0
|
#include <stdio.h>
#include <stdlib.h> /*因为要用strcpy函数,所以要包含头文件stdlib.h。*/
struct student /*定义一个结构体。*/
{
char name[20]; /*姓名。*/
int age; /*年龄。*/
int sex; /*性别。*/
int height; /*身高。 */
};
void main()
{
struct student stu[50]; /*定义一个结构体,表示有50个学生。*/
int i=0; /*输入学生的计数。*/
int j ; /*输出的计数。*/
char s; /*用户输入数据。*/
char name[20]; /*姓名。*/
while(1) /*进入一个while循环。*/
{
printf("input a student?\n?Y/N:"); /*提示用户输入选择。*/
scanf("%c",&s); /*用户输入一个字符。*/
if(s=='N'||s=='n') /*输入N或n则中断循环。*/
{
break; /*中止当前循环。*/
}
if(s!='n'&&s!='N'&&s!='y'&&s!='Y') /*如果不是N、n、Y、y这几个字母则进入下次循环。*/
{
printf("error.\n"); /*输出提示。*/
continue; /*进入下一次循环。*/
}
printf("please input age:\n"); /*提示输入年龄。*/
scanf("%d",&stu[i].age); /*输入年龄。*/
printf("please input height:\n"); /*提示身高。*/
scanf("%d",&stu[i].height); /*输入身高。*/
printf("please input sex:\n"); /*提示性别。*/
scanf("%d",&stu[i].sex); /*输入性别。*/
printf("please input name:\n"); /*提示姓名。*/
scanf("%s",&stu[i].name); /*输入姓名到name字符串。*/
/*将字符串复制到学生姓名上。*/
i++; /*计数器自加。*/
}
for(j=0;j<i;j++) /*for循环输出。*/
{
printf("Student[%d]\n",j); /*提示第几个学生。*/
printf(" Name :%s \n",stu[j].name); /*输出姓名。*/
printf(" Age :%d \n",stu[j].age); /*输出年龄。*/
printf(" Sex :%d \n",stu[j].sex); /*输出性别。*/
printf(" Height:%d \n",stu[j].height); /*输出身高。*/
}
}
就是输入时:问什么输完一个学生的信息后“printf("error.\n");”都执行了一次? |
|