当前位置:   article > 正文

C语言典型例题10

C语言典型例题10

本系列博客针对于《C程序设计教程(第四版)——谭浩强 编著》这本书中的所有例题和习题进行了详细的解释和学习,希望可以对你学习C 语言可以有所帮助。

有些代码可能会在前面详细解释,后面会一笔带过,希望大家可以多多翻阅,谢谢大家啦!!!嘻嘻!!!

习题1.3 先后输入50个学生的学号和姓名,要求将其中成绩在80分以上的学生的学号和成绩立即输出

  1. #include <stdio.h>
  2. int main()
  3. {
  4. char name[50][50];
  5. int num[50];
  6. float score[50];
  7. int i;
  8. int a;
  9. printf("请输入学生个数:");
  10. scanf("%d",&a);
  11. printf("请输入%d名学生的姓名、学号、成绩\n",a);
  12. for (i = 1; i <= a; i++) //循环输入50个人的姓名、学号、成绩
  13. {
  14. scanf("%s %d %f", name[i], &num[i], &score[i]);//姓名不需要取地址
  15. }
  16. //无论输入多少的数,输出其中成绩大于80的,并且将其对应姓名、学号和成绩全部输出
  17. printf("成绩大于80的学生的有:\n");
  18. for(i=1;i<=a;i++)
  19. {
  20. //判断成绩是否大于80分及其以上
  21. if(score[i]>=80)
  22. {
  23. printf("姓名:%s 性别:%d 成绩:%.2f\n",name[i],num[i],score[i]);
  24. }
  25. }
  26. return 0;
  27. }

运行结果:(为了方便这里只输入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]);
        }
    }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号