C语言的编乘来个做下,最好有多种做法🙏

编程题 求45个学生中身高低于1.3米的人数,最,好,有,多,种,做,法,

以下回答参考GPT并且由Bony-整理:
方案一:使用 if 语句进行判断

可以使用 if 语句判断每个学生的身高是否低于1.3米,统计符合条件的学生人数,代码如下:

#include <stdio.h>

int main()
{
    int height[45] = {130, 125, 140, 129, 132, 128, 135, 127, 138, 131, 
                      136, 133, 129, 137, 132, 130, 129, 127, 141, 126, 
                      132, 133, 138, 130, 127, 142, 128, 129, 131, 139, 
                      135, 133, 126, 130, 132, 128, 139, 127, 134, 137, 
                      131, 142, 129, 126, 135, 128, 136};
    int count = 0;
    int i;
    for (i = 0; i < 45; i++) {
        if (height[i] < 130) {
            count++;
        }
    }
    printf("身高低于1.3米的人数为:%d\n", count);
    return 0;
}

方案二:使用 while 循环进行判断

除了使用 if 语句判断,也可以使用 while 循环判断每个学生的身高是否低于1.3米,统计符合条件的学生人数,代码如下:

#include <stdio.h>

int main()
{
    int height[45] = {130, 125, 140, 129, 132, 128, 135, 127, 138, 131, 
                      136, 133, 129, 137, 132, 130, 129, 127, 141, 126, 
                      132, 133, 138, 130, 127, 142, 128, 129, 131, 139, 
                      135, 133, 126, 130, 132, 128, 139, 127, 134, 137, 
                      131, 142, 129, 126, 135, 128, 136};
    int count = 0;
    int i = 0;
    while (i < 45) {
        if (height[i] < 130) {
            count++;
        }
        i++;
    }
    printf("身高低于1.3米的人数为:%d\n", count);
    return 0;
}

方案三:使用 do-while 循环进行判断

还可以使用 do-while 循环判断每个学生的身高是否低于1.3米,统计符合条件的学生人数,代码如下:

#include <stdio.h>

int main()
{
    int height[45] = {130, 125, 140, 129, 132, 128, 135, 127, 138, 131, 
                      136, 133, 129, 137, 132, 130, 129, 127, 141, 126, 
                      132, 133, 138, 130, 127, 142, 128, 129, 139, 137, 
                      140, 143, 131, 139, 142, 129, 133, 128, 126, 136, 
                      140, 134, 135, 130};
    int count = 0, i = 0;
    do {
        if (height[i] < 130) {
            count++;
        }
        i++;
    } while (i < 45);
    printf("身高低于1.3米的学生人数为:%d\n", count);
    return 0;
}


  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7660439
  • 这篇博客也不错, 你可以看下C语言 单链表的相关操作(头插法,尾插法,插入,删除,释放,查找)
  • 除此之外, 这篇博客: 数据结构(C语言版)实现链栈的创建,赋值随机数,进栈,出栈,取栈顶元素,输出中的 2.图示 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述

  • 您还可以看一下 朱有鹏老师的指针才是C的精髓-4.3.C语言专题第3部分课程中的 4.3.10.输入型参数与输出型参数小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    可以使用数组和循环遍历45名学生的身高,统计低于1.3米的人数。具体步骤如下:

    1.定义一个int类型变量count,用于统计低于1.3米的学生人数。 2.定义一个长度为45的float类型数组,用于存储45个学生的身高。 3.使用循环读入45个学生的身高,将身高存储到数组中。 4.循环遍历数组,判断身高是否低于1.3米,如果是,则count加1。 5.输出count,即低于1.3米的学生人数。

    代码如下所示:

    #include <stdio.h>
    
    int main()
    {
        int count = 0; // 存储低于1.3米的学生人数
        float heights[45]; // 存储45个学生的身高
    
        // 循环读入45个学生的身高
        for (int i = 0; i < 45; i++) {
            printf("请输入第%d个学生的身高:", i + 1);
            scanf("%f", &heights[i]);
        }
    
        // 循环遍历数组,统计低于1.3米的学生人数
        for (int i = 0; i < 45; i++) {
            if (heights[i] < 1.3) {
                count++;
            }
        }
    
        // 输出低于1.3米的学生人数
        printf("低于1.3米的学生人数为:%d\n", count);
    
        return 0;
    }
    

    另外,如果身高的数据是从文件中读取的,可以使用文件读写操作对数据进行读取和统计。具体步骤如下:

    1.打开文件,使用fopen函数。 2.定义一个int类型变量count,用于统计低于1.3米的学生人数。 3.定义一个float类型变量height,用于存储每个学生的身高。 4.使用循环读取文件中的每个学生的身高,并进行判断。 5.关闭文件,使用fclose函数。 6.输出count,即低于1.3米的学生人数。

    代码如下所示:

    #include <stdio.h>
    
    int main()
    {
        int count = 0; // 存储低于1.3米的学生人数
        float height; // 存储每个学生的身高
    
        FILE *fp = fopen("height.txt", "r"); // 打开文件
    
        if (fp == NULL) { // 如果打开文件失败,则输出错误信息并退出程序
            printf("打开文件失败!\n");
            return -1;
        }
    
        // 循环读取文件中的每个学生的身高,并进行判断
        while (fscanf(fp, "%f", &height) != EOF) {
            if (height < 1.3) {
                count++;
            }
        }
    
        fclose(fp); // 关闭文件
    
        // 输出低于1.3米的学生人数
        printf("低于1.3米的学生人数为:%d\n", count);
    
        return 0;
    }