C语言定义一个二维数组char aa[3][10],然后输入分别输入3个字符串
时间: 2023-10-10 16:08:45 浏览: 154
好的,可以使用以下代码来实现:
```c
#include <stdio.h>
int main() {
char aa[3][10];
for (int i = 0; i < 3; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", aa[i]);
}
// 输出输入的字符串
for (int i = 0; i < 3; i++) {
printf("输入的第%d个字符串为:%s\n", i + 1, aa[i]);
}
return 0;
}
```
这段代码中,先定义了一个二维字符数组`aa[3][10]`,表示有3个字符串,每个字符串最多可以有10个字符。然后使用循环依次输入每个字符串,最后再循环输出输入的字符串。注意,使用`scanf`输入字符串时,不需要在变量名前加取地址符`&`。
相关问题
编程对若干字符串升序排序,然后输出排序后的结果. 用二维数组存放, 字符串的个数<10个,字符串长度<50。 程序运行结果示例: 请输入需要排序的字符串个数:3 请输入第1个字符串:ba 请输入第2个字符串:abcdesfliee 请输入第3个字符串:aa 排序后的字符串顺序为: 第1个字符串为:aa 第2个字符串为:abcdesfliee 第3个字符串为:ba 输入提示:"请输入需要排序的字符串个数:" 输入格式:"%d" 输入提示:"请输入第%d个字符串:" 输入格式:"%s" 输出提示:"排序后的字符串顺序为:\n" 输出格式:"第%d个字符串为:%s \n"
好的,我来为你写一个C语言的程序实现你的需求:
```c
#include <stdio.h>
#include <string.h>
int main()
{
int n, i, j;
char str[10][50], temp[50];
printf("请输入需要排序的字符串个数:");
scanf("%d", &n);
getchar(); // 将上一行输入后的回车符吸收掉
for(i=0; i<n; i++)
{
printf("请输入第%d个字符串:", i+1);
scanf("%s", str[i]);
}
// 冒泡排序
for(i=0; i<n-1; i++)
{
for(j=0; j<n-i-1; j++)
{
if(strcmp(str[j], str[j+1]) > 0)
{
strcpy(temp, str[j]);
strcpy(str[j], str[j+1]);
strcpy(str[j+1], temp);
}
}
}
printf("排序后的字符串顺序为:\n");
for(i=0; i<n; i++)
{
printf("第%d个字符串为:%s \n", i+1, str[i]);
}
return 0;
}
```
你可以将上面的代码复制到本地的C语言编译器中运行,看一下效果。
阅读全文