用c语言表示一下代码:每组输入数据有两行,第一行是一个正整数n(1 < n < 1000),表示参加招新的学生总人数。第二行输入n个整数(取值为0或1),0代表男生,1代表女生,整数间由一个空格隔开。每组输出一行,由两个数组成,用一个空格隔开,分别表示男生和女生的总人数。
时间: 2024-10-25 19:05:20 浏览: 93
在C语言中,你可以使用`scanf`函数读取输入,动态分配数组存储男生和女生的数量,然后遍历数组计算总人数。以下是相应的代码实现:
```c
#include <stdio.h>
#include <stdlib.h> // 引入内存管理函数
#define MAX_STUDENTS 1000
int main() {
int n, male_count = 0, female_count = 0;
int gender[MAX_STUDENTS]; // 存储每个学生的性别
// 读取输入的整数n
printf("请输入参加招新学生总人数: ");
scanf("%d", &n);
// 验证输入的有效性
if (n < 1 || n > 1000) {
printf("错误:输入的学生人数超出范围(1-1000)。\n");
return 1;
}
// 读取每位学生的性别
getchar(); // 消耗换行符
for (int i = 0; i < n; i++) {
scanf("%d", &gender[i]);
if (gender[i] == 0) {
male_count++;
} else if (gender[i] == 1) {
female_count++;
}
}
// 输出结果
printf("男生总数: %d, 女生总数: %d\n", male_count, female_count);
free(gender); // 释放动态分配的数组内存
return 0;
}
阅读全文