吃c语言用数组输入五个人的名字
时间: 2024-12-04 07:24:49 浏览: 6
可以使用C语言中的数组来输入五个人的名字,具体操作如下:
1. 定义一个字符数组来存储五个人的名字,如下所示:
```
char names[20];
```
其中,`names`表示字符数组的名称,`5`表示数组中元素的个数,即存储五个人的名字,`20`表示每个元素所能存储的最大字符数,这里设置为20。
2. 使用循环语句来输入每个人的名字,如下所示:
```
for(int i=0; i<5; i++){
printf("请输入第%d个人的名字:", i+1);
scanf("%s", names[i]);
}
```
在循环中,通过 `printf` 函数输出提示信息,使用 `scanf` 函数来输入每个人的名字,并将输入的名字存储到 `names` 数组对应的元素中。
完整代码示例如下:
```
#include <stdio.h>
int main()
{
char names[20];
for(int i=0; i<5; i++){
printf("请输入第%d个人的名字:", i+1);
scanf("%s", names[i]);
}
printf("五个人的名字分别是:\n");
for(int i=0; i<5; i++){
printf("%s\n", names[i]);
}
return 0;
}
```
相关问题
c语言用二维数组在一行中储存 名字,学号,分数,储存3个人的,代码实现,名字等内容要等用户输入
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
char student_info[3][3][20]; // 定义一个3行3列的二维数组,每个元素可以储存20个字符
// 循环输入3个人的名字、学号、分数
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的名字:", i+1);
scanf("%s", student_info[i][0]); // 第i个学生的名字储存在第i行第0列
printf("请输入第%d个学生的学号:", i+1);
scanf("%s", student_info[i][1]); // 第i个学生的学号储存在第i行第1列
printf("请输入第%d个学生的分数:", i+1);
scanf("%s", student_info[i][2]); // 第i个学生的分数储存在第i行第2列
}
// 输出每个学生的名字、学号、分数
printf("姓名\t学号\t分数\n"); // 格式化输出表头
for (int i = 0; i < 3; i++) {
printf("%s\t%s\t%s\n", student_info[i][0], student_info[i][1], student_info[i][2]); // 格式化输出第i个学生的信息
}
return 0;
}
```
以上代码使用了一个3行3列的二维数组,每行分别储存一个学生的名字、学号、分数。在循环中,先询问用户输入每个学生的信息,然后储存在相应的元素中。最后,使用格式化输出的方法输出每个学生的信息。
c语言 利用二维数组输入5个英文名并按首字母的Ascii码从低到高排序
在C语言中,你可以使用二维字符数组来存储五个英文名字,并利用ASCII码对它们进行排序。首先,我们需要定义一个二维字符数组,然后读入用户输入的英文名字,接着通过ASCII码值进行比较并排序。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义最大长度
#define MAX_NAME_LENGTH 20
void input_names(char names[][MAX_NAME_LENGTH], int num) {
for (int i = 0; i < num; i++) {
printf("请输入第 %d 个人的姓名(不超过20个字符): ", i + 1);
fgets(names[i], MAX_NAME_LENGTH, stdin);
// 去除换行符
names[i][strcspn(names[i], "\n")] = '\0';
}
}
void sort_by_ascii(char names[][MAX_NAME_LENGTH], int num) {
// 对字符串数组进行冒泡排序,根据ASCII码值
for(int i=0; i<num-1; i++) {
for(int j=0; j<num-i-1; j++) {
if(names[j][0] > names[j+1][0]) { // 比较首字母ASCII码
char temp[40];
strcpy(temp, names[j]);
strcpy(names[j], names[j+1]);
strcpy(names[j+1], temp);
}
}
}
}
int main() {
char names[5][MAX_NAME_LENGTH]; // 二维字符数组,用于存放5个英文名
int num = 5;
input_names(names, num);
printf("\n按首字母的ASCII码从低到高排序后的名字如下:\n");
sort_by_ascii(names, num);
for(int i=0; i<num; i++) {
printf("%s\n", names[i]);
}
return 0;
}
```
阅读全文