编程题 求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;
}
可以使用数组和循环遍历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;
}