① C语言怎么定义多个数组储存字符串,又要求逐个输入
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
② 用C语言编程从键盘输入五个字符串,按从小到大的顺序对它们进行排序。
/*比较笨重的冒泡排序法,用到string中的串比较strcmp和串拷贝strcpy。amount是字符串的数量,length是字符串的长度,不管你是否习惯这么写,这样表示都是有好处的。我的编译器是visual studio 2008 C++。*/
#include <stdio.h>
#include <string.h>
int main()
{
const int amount=5;
const int length=20;
char string[amount][length];
for(int i=0;i<amount;i++)
{
scanf("%s",string[i]);
}
for(int i=0;i<amount;i++)
{
for(int j=0;j<i;j++)
{
if(strcmp(string[i],string[j])<0)
{
char tmp[length];
strcpy(tmp,string[i]);
strcpy(string[i],string[j]);
strcpy(string[j],tmp);
}
}
}
for(int i=0;i<amount;i++)
{
printf("%s\n",string[i]);
}
return 0;
}
③ C语言为字符串排序:要求长的排在后,一样长的值大的在后。
#include<stdio.h>
#include<string.h>
int main (void)
{
int i,j,b;
char m[][20]={"January","February","March","April","May","June","July","September"},c[20];
for (j=1;j<8;j++) //稍微修改了下
for (i=0;i<7;i++) //
{
if (strlen(m[i])>strlen(m[i+1]))
{
strcpy (&c[20],m[i]);
strcpy (m[i],m[i+1]);
strcpy (m[i+1],&c[20]);
}
else if (strcmp(m[i],m[i+1])>0&&strlen(m[i])==strlen(m[i+1]))
{
strcpy (&c[20],m[i]);
strcpy (m[i],m[i+1]);
strcpy (m[i+1],&c[20]);
}
}
for (b=0;b<=7;b++)
printf ("%s\n",m[b]);
}
这样应该可以了。
④ 我要c语言编译器帮我编译一个字符串.
什么样的字符串?
⑤ c语言中如何输入输出字符串
在<string.h>头文件中用字符串处理函数输入和输出,gest用来输入,puts用来输出。
字符串输入函数gets,从键盘键入以回车结束的字符串放入字符数组中,并自动加’ '。输入串长度应小于字符数组维数,字符串中可以包含空格。
字符串输出函数puts,向显示器输出字符串(输出完,自动换行,即用' '替'