本题运行时要求键盘输入10个人员的信息(每一个人信息包括:姓名,性别,年龄,民族),要求同学实现一个函数,统计民族是“汉族”的人数。 函数接口定义: public static int numofHan(String data[]) 其中 data[] 是传入的参数。 data[]中的每一个元素都是一个完整的人员信息字符串,该字符串由“姓名,性别,年龄,民族”,各项之间用英文半角的逗号分隔。函数须返回 值是汉族的人数。 裁判测试程序样例: import java.util.Scanner; public class Main { public static void main(String[] args) { final int HUMANNUM=10; String persons[]=new String[HUMANNUM]; Scanner in=new Scanner(System.in); for(int i=0;i<persons.length;i++) persons[i]=in.nextLine(); int result=numofHan(persons); System.out.println(result); } /*在此处给出函数numofHan()*/ } 输入样例: Tom_1,男,19,汉族 Tom_2,女,18,汉族 Tom_3,男,20,满族 Tom_4,男,18,汉族 Tom_5,男,19,汉族人 Tom_6,女,17,汉族 Tom_7,男,19,蒙古族 汉族朋友_1,男,18,汉族 Tom_8,male,19,老外 Tom_9,female,20,汉族 输出样例: 7 代码长度限制 16 KB 时间限制 400 ms 内存限制
时间: 2023-06-10 09:04:42 浏览: 199
64 MB
解题思路:
题目要求统计民族是“汉族”的人数,因此可以遍历每一个人员信息字符串,检查其中民族是否为“汉族”,从而统计出“汉族”的人数。
具体的实现步骤如下:
首先,遍历每一个人员信息字符串,可以使用 for 循环,循环变量 i 从 0 到 data.length-1。
接着,获取当前人员信息字符串并将其按英文半角的逗号分隔开,可以使用 String 类的 split() 方法,将该方法返回的字符串数组中的第 4 个元素与“汉族”进行比较。
对于比较结果为真的情况(即该人员是“汉族”),通过定义一个计数器,可以将其累加 1,最终返回计数器的值即可。
Java代码:
相关问题
编写一个程序,定义一个结构体表示人的基本信息,包括姓名、年龄和性别。从键盘输入5个人的信息,然后输出每个人的信息
以下是一个示例程序,可以实现你的需求:
```c
#include <stdio.h>
struct Person {
char name[20];
int age;
char gender;
};
int main() {
struct Person people[5];
// 从键盘输入每个人的信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d个人的姓名:", i+1);
scanf("%s", people[i].name);
printf("请输入第%d个人的年龄:", i+1);
scanf("%d", &people[i].age);
printf("请输入第%d个人的性别(M/F):", i+1);
scanf(" %c", &people[i].gender);
}
// 输出每个人的信息
for (int i = 0; i < 5; i++) {
printf("第%d个人的信息如下:\n", i+1);
printf("姓名:%s\n", people[i].name);
printf("年龄:%d\n", people[i].age);
printf("性别:%c\n", people[i].gender);
}
return 0;
}
```
在这个示例程序中,我们定义了一个 `Person` 结构体,包含了姓名、年龄和性别这三个基本信息。然后通过一个循环,从键盘输入每个人的信息,存储在一个长度为 5 的数组中。最后再通过一个循环,输出每个人的信息。
需要注意的是,在输入性别时,我们使用了一个空格来跳过之前输入的回车符。这是因为在输入姓名和年龄时,用户按下回车键后输入的回车符会被留在输入缓存中,下一个 `scanf` 函数会直接读取这个回车符,导致输入不正确。通过在 `%c` 前加上一个空格,可以让 `scanf` 跳过缓存中的回车符,正确地读取性别信息。
编写一个程序,定义一个结构体表示人的基本信息,包括姓名、年龄和性别。 从键盘输入5个人的信息,然后输出每个人的信息
好的,我来帮你编写这个程序。以下是代码:
```c
#include <stdio.h>
struct Person {
char name[20];
int age;
char gender;
};
int main() {
struct Person people[5];
// 从键盘输入每个人的信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d个人的信息:\n", i+1);
printf("姓名:");
scanf("%s", people[i].name);
printf("年龄:");
scanf("%d", &people[i].age);
printf("性别:");
scanf(" %c", &people[i].gender);
}
// 输出每个人的信息
printf("输入完毕,每个人的信息如下:\n");
for (int i = 0; i < 5; i++) {
printf("姓名:%s,年龄:%d,性别:%c\n", people[i].name, people[i].age, people[i].gender);
}
return 0;
}
```
这个程序定义了一个结构体 `Person`,包含了三个成员变量:`name`,`age`,`gender`。然后在 `main` 函数中,创建了一个包含 5 个 `Person` 结构体的数组 `people`,并通过 `for` 循环依次从键盘输入每个人的信息。最后再通过 `for` 循环输出每个人的信息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)