本系列博客针对于《C程序设计教程(第四版)——谭浩强 编著》这本书中的所有例题和习题进行了详细的解释和学习,希望可以对你学习C 语言可以有所帮助。
有些代码可能会在前面详细解释,后面会一笔带过,希望大家可以多多翻阅,谢谢大家啦!!!嘻嘻!!!
习题1.3 先后输入50个学生的学号和姓名,要求将其中成绩在80分以上的学生的学号和成绩立即输出
#include <stdio.h>
int main()
{
char name[50][50];
int num[50];
float score[50];
int i;
int a;
printf("请输入学生个数:");
scanf("%d",&a);
printf("请输入%d名学生的姓名、学号、成绩\n",a);
for (i = 1; i <= a; i++) //循环输入50个人的姓名、学号、成绩
{
scanf("%s %d %f", name[i], &num[i], &score[i]);//姓名不需要取地址
}
//无论输入多少的数,输出其中成绩大于80的,并且将其对应姓名、学号和成绩全部输出
printf("成绩大于80的学生的有:\n");
for(i=1;i<=a;i++)
{
//判断成绩是否大于80分及其以上
if(score[i]>=80)
{
printf("姓名:%s 性别:%d 成绩:%.2f\n",name[i],num[i],score[i]);
}
}
return 0;
}
运行结果:(为了方便这里只输入4个学生的信息)
写代码过程中遇到的问题:
1.姓名需要使用二维数组
因为一个char类型的变量中只能存储一个字节,通常一个汉字占两个字节
2.循环输入名字需要用到for循环
printf("请输入%d名学生的姓名、学号、成绩\n",a);
for (i = 1; i <= a; i++) //循环输入50个人的姓名、学号、成绩
{
scanf("%s %d %f", name[i], &num[i], &score[i]);//姓名不需要取地址
}
3.判断成绩是否大于80,需要用到选择语句
if(score[i]>=80)
{
printf("姓名:%s 性别:%d 成绩:%.2f\n",name[i],num[i],score[i]);
}
4.将成绩大于80的学生信息全部输出,需要用到循环语句
printf("成绩大于80的学生的有:\n");
for(i=1;i<=a;i++)
{
//判断成绩是否大于80分及其以上
if(score[i]>=80)
{
printf("姓名:%s 性别:%d 成绩:%.2f\n",name[i],num[i],score[i]);
}
}