c语言2维字符数组从键盘输入
时间: 2024-01-10 12:04:24 浏览: 23
下面是一个示例代码,可以从键盘输入一个2维字符数组:
```c
#include <stdio.h>
int main() {
char arr[3][4]; // 定义一个3行4列的字符数组
// 从键盘输入字符
printf("请输入一个3行4列的字符数组:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
scanf("%c", &arr[i][j]);
}
getchar(); // 输入完一行后需要消耗掉换行符
}
// 输出字符数组
printf("您输入的字符数组是:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%c ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
注意,在输入字符时,需要使用`scanf("%c", &arr[i][j])`,因为字符数组的每个元素都是一个字符类型。同时,在输入完一行字符后,需要使用`getchar()`来消耗掉输入时的换行符。
相关问题
c语言从键盘输入数组
以下是两种C语言从键盘输入数组的方法:
1. 从键盘输入整型内容到整型数组(一维数组):
```c
int i, a[2];
for (i = 0; i < 2; i++) {
scanf("%d", a + i); // 这里写a+i 才是一个一个赋值。数组就是指针 a+i=a[i] //scanf("%d",&a[i]); //这么写也行
}
```
2. 从键盘输入字符类型到字符数组:
```c
char ch[100];
scanf("%s", ch); // &ch也可以
```
或者:
```c
char ch[100];
for (int i = 0; i < 3; i++) {
scanf("%c", ch + i); // 这种有个缺点,一次只能输入一个字符,输入大于1个的字符也是第1个字符而已 // &ch[i]也行
}
```
用c语言完成应用一维数组,对10个数进行排序,使其按照从大到小的顺序输出。和从键盘输入两个字符串,将它们连接成一个字符串
好的,我来分别回答你的两个问题。
第一个问题,用 C 语言实现对 10 个数进行从大到小排序的程序可以这样写:
```c
#include <stdio.h>
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr[10] = {9, 7, 8, 3, 5, 4, 6, 2, 1, 0};
int i;
sort(arr, 10);
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序首先定义了一个数组 `arr`,并初始化了 10 个数字。然后调用 `sort` 函数对数组进行排序,最后输出排序后的结果。
第二个问题,用 C 语言实现从键盘输入两个字符串,将它们连接成一个字符串的程序可以这样写:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], str3[200];
printf("Enter the first string: ");
fgets(str1, 100, stdin);
printf("Enter the second string: ");
fgets(str2, 100, stdin);
str1[strlen(str1) - 1] = '\0'; // 去掉 str1 的换行符
str2[strlen(str2) - 1] = '\0'; // 去掉 str2 的换行符
strcpy(str3, str1);
strcat(str3, str2);
printf("The concatenated string is: %s\n", str3);
return 0;
}
```
这个程序首先定义了三个字符串变量 `str1`、`str2` 和 `str3`,分别用来存储第一个字符串、第二个字符串和合并后的字符串。然后通过 `fgets` 函数分别从键盘输入两个字符串,并去掉每个字符串的换行符。接着,将第一个字符串复制到 `str3` 中,再使用 `strcat` 函数将第二个字符串连接到 `str3` 的末尾。最后输出合并后的字符串。