C语言,要输入N个字符串怎么输?

才学不久,我想问一下,
如果我想输入多个字符串怎么输入啊?
就比如for(i=0;i<n;i++)scanf("%d",&a[i]);
这种可以实现整型的输入了,多个,但是,字符串多个要是用这种如何输入啊。我本来想用二维数组,for(i=0;i<n;i++)gets(str[i]);
但是,不好用这种,请教一下,像我说这种,需要输入字符串个数能自己定,注意不是字符个数,这样如何实现?谢谢。
#include<stdio.h>
main()
{
char s[2][10];
for(int i=0;i<2;i++)
gets(s[i]);
for(i=0;i<2;i++)
printf("%s\n",s[i]);
}

这是我刚才写的,调不出来,退了重进的,好用了。可能是我编译的问题。

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#defineN256//宏定义

intmain()

{

charstrArray[N][256];

char*str[N];

char*temp;

inti,n;

printf("请输入字符串:\n");

for(i=0;i<N;i++)

{

gets(strArray[i]);

if(strcmp(strArray[i],"")==0)//空格串作为字符串输入结束符

{

break;

}

str[i]=strArray[i];

}

扩展资料

C语言输出函数printf

#include<stdio.h>

intmain()

{

inta=12;

floatb=3.1415;

charc='A';

printf("%d\n",a);

printf("o%o\n",a);

printf("0x%x\n",a);

printf("%3.2f\n",b);

printf("%c\n",c);

getchar();

return0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-20
如果要输入N个不包含空格的字符串,可以这样输入:
char s[N][20];
for(i=0;i<N;i++)
scanf("%s",s[i]);

如果要输入N个允许包含空格(以回车结束)的字符串,可以这样输入:
char s[N][100];
for(i=0;i<N;i++)
gets(s[i]);
第2个回答  2019-07-28
如果要输入N个不包含空格的字符串,可以这样输入:
char
s[N][20];
for(i=0;i<N;i++)
scanf("%s",s[i]);
如果要输入N个允许包含空格(以回车结束)的字符串,可以这样输入:
char
s[N][100];
for(i=0;i<N;i++)
gets(s[i]);
第3个回答  2007-11-22
楼上是C++

呵呵 这个用C也简单啊

假设a,b,c三个字符串

char a[100],b[100],c[100];
scanf("%s;%s;%s",a,b,c);
就可以了 不加& 包含头文件<string.h>
输入的时候字符串用英文分号分隔
第4个回答  2007-11-22
可以用指针数组来实现。
比如你的字符串个数有3个:则申明一个char *p[3];
然后只要循环读入就可以了。
for(i=0;i<3;i++)gets(p[i]);

C语言,要输入N个字符串怎么输?
{ charstrArray[N][256];char*str[N];char*temp;inti,n;printf("请输入字符串:\\n");for(i=0;i<N;i++){ gets(strArray[i]);if(strcmp(strArray[i],"")==0)\/\/空格串作为字符串输入结束符 { break;} str[i]=strArray[i];} ...

c语言中从键盘输入N个字符串,将字符串按从小到大的顺序排列并输出_百 ...
i < N; i ++) puts(str[i]);}。运行代码:执行结果:

C语言练习题:输入n个字符串,将它们按字典顺序输出。(请用数组的指针和...
i<n-1;i++) \/\/ 从前向后方向扫描,找到最后一对为升序的相邻元素(如果不存在,则所有排列已完成) { if(a[i]=0)\/\/ k>=0说明找到一对为升序的相邻元素 { l=-1;for(i=0;i<n;i++){if(a[k]<a[i]) l=i;} swap(&a[k],&a[l]);\/\/ 交换下标为k和l的元素for(i=...

C语言 从键盘输入n个字符串,从大到小排序输出
printf("\\n");return 0;}

c语言中怎么连续输入几个字符串?
可以定义一个数组啊,C中没有定义字符串的数据类型。代码举例:\/\/输入N个字符#include <stdio.h>int main (void){char zifu[100];scanf ("%s",zifu);printf ("%s",zifu);return 0;}

C语言如何一次输入多个字符串,然后再输出
1、首先打开visual studio软件,新建一个C语言文件。2、接着在C语言文件的顶部导入库内。3、接着运用scanf函数接收用户输入的字符串。4、然后我们利用printf函数打印一下用户输入的内容。5、运行程序以后就会弹出如下图所示的CMD界面,我们输入内容就会自动接收到,然后原样输出内容。6、最后如果你接收其他...

用C语言,输入n个字符串,n由键盘输出,将n个字符串中由小到大输出_百度知...
\/*输入字符串*\/ printf ("\\nHow many strings: ");scanf ("%d", &n);getchar ();printf ("input the strings: \\n");for (i = 0; i < n; i++) { printf ("%2d: ", i + 1);str[i] = (char*)malloc(MAX * sizeof(char));scanf ("%s", str[i]);} printf ("\\n...

c语言怎么输入多个字符串
char str1[20],str2[20];scanf("%s%s",str1,str2);这样就可以实现多个字符串的输入,注意几点:1.输入的每一个字符串长度应小于定义时的字符数组长度。2.输入字符串时,字符串与字符串之间用空格符或者回车换行符隔开。

c语言中,怎么输入多组字符串,放在二维数组里
1、字符输出,当要向输出设备(显示屏、打印机等)输出字符时,可以用 c 格式描述符控制。如下所示代码即输出字符ch (a) 。2、十进制输出,在需要输出十进制数字时,可以用d 或 i 控制输出。3、八进制输出,如下所示,利用 o 或 #o 控制输出八进制格式数字。4、十六进制输出,同八进制一样,...

怎么用C语言的scanf实现一次输入若干个数据
根据需要一般选择如下3种方法:1,已知数量,且个数较少:scanf("%d%d%d",&a&b&c);2,已知数量,但数量较多:for(int i=0;i<n;i++)scanf("%d",&a[i]);3,不知道数量 int i=0;while(scanf("%d",&a[i])){ i++;}

相似回答