编程统计身高(单位为厘米)。统计分 150——154;155——159;160——164;165——169; 170——174;175——179 及低于 150、高于 179 共八档次进行。c语言编写
时间: 2024-09-19 07:16:40 浏览: 22
java并发编程——内存模型
在C语言中,你可以通过结构体、数组以及循环结构来完成这个任务。首先,定义一个结构体表示身高范围:
```c
typedef struct {
int start;
int end;
char label[20]; // 存储每个段落的描述
} HeightRange;
```
然后创建一个数组来存储这八个身高段:
```c
HeightRange heightRanges[] = {
{150, 154, "150-154"},
{155, 159, "155-159"},
{160, 164, "160-164"},
{165, 169, "165-169"},
{170, 174, "170-174"},
{175, 179, "175-179"},
{150, -1, "Below 150"},
{-1, 180, "Above 179"} // 补充两个特殊区间
};
```
接着,编写一个函数来读取用户输入并统计落入各范围的人数:
```c
#include <stdio.h>
void countHeights(int heights[], int num_heights) {
for (int i = 0; i < num_heights; ++i) {
int currentHeight = heights[i];
for (int j = 0; j < 8 && heightRanges[j].start <= currentHeight && currentHeight < heightRanges[j+1].end; ++j) {
printf("There are %d people in the range of %s.\n", heightRanges[j].start, heightRanges[j].label);
}
}
}
int main() {
int numStudents;
printf("Enter number of students: ");
scanf("%d", &numStudents);
int heights[numStudents]; // 假设输入的是学生的身高数据
// ... 从输入获取并存储学生身高 ...
countHeights(heights, numStudents); // 调用函数统计
return 0;
}
```
在这个程序中,你需要提供一个获取用户输入并将身高存储到`heights`数组的方法。最后,调用`countHeights`函数来计算每个身高段的频数。
阅读全文