从键盘输入10个字符串,把字符串按字典升序排列并输出。每行输出一个字符串,用C语言怎么写?

作者&投稿:燕勉 (若有异议请与网页底部的电邮联系)
从键盘输入10个字符串,把字符串按字典升序排列并输出。每行输出一个字符串,用C语言怎么写?~

假设每个字符串的长度是10,所进行的就是Strcompare(S,T);可以采用冒泡法的思想。

#include "stdio.h"
#include "string.h"
int main()
{
char str[10][30]={0};
char tem[30]={0};
int i,j;
printf("请输入10个单词:");
for(i=0;i<10;i++)//输入
scanf("%s",str[i]);
for(i=0;i<9;i++)//排序
for(j=i+1;j<10;j++)
if(strcmp(str[i],str[j])>0)
{
strcpy(tem,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],tem);
}
printf("这10个单词按照字典排序输出为:
");
for(i=0;i<10;i++)// 输出
{
printf("%s
",str[i]);
}
}

将字符串2复制到字符串1 strcpy(s1,s2);

交换两个字符串:strcpy(t,s1);strcpy(s1,s2);strcpy(s2,t);

字符串比大小根据ascll码挨个比较,strcmp("a","b");返回的是小于0的数,strcmp("b","b");返回的是0,strcmp("b",“a”);

返回的是大于0的数,strcmp("abc","acb")先比较第一个a相等继续向后比较b和c,b&lt;c返回小于0的数

#include&lt;stdio.h&gt;

#include&lt;string.h&gt;

main()

{

int i,j;

char t[10];

char a[10][10]={'\0'};

printf("输入10个字符串");

for(i=0;i&lt;10;i++)

scanf("%s",&a&lt;i&gt;);

for(i=0;i&lt;9;i++)

for(j=0;j&lt;9-i;j++)

{

if(strcmp(a[j],a[j+1])&gt;0)

{

strcpy(t,a[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],t);

}

}

printf("比较大小后:
");

for(i=0;i&lt;10;i++)

printf("%s
",a&lt;i&gt;);

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include&lt;math.h&gt;//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。



#include<stdio.h>

#include<string.h>

main()

{

   char s[10][20],t[10];

   int i,j;

   printf("please input 10 strings:
");

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

     gets(s[i]);

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

     for(j=0;j<9-i;j++)

       if(strcmp(s[j],s[j+1])>0)

{strcpy(t,s[j]);strcpy(s[j],s[j+1]);strcpy(s[j+1],t);}

   printf("After sort:
");

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

     printf("%s
",s[i]);

}





从键盘输入10个字符,输出最大字符ASCII值
int main(){ char a[11];int i,m,max;for(i=0;i<10;i++){ scanf("%c",&a[i]);} m=a[0];for(i=1;i<10;i++){ if(m

键盘输入10个字符放入数组中,输出ASCII码值最大的元素、它的ASCII码...
include<string.h> int main(){ char str[20],max;int x=0;gets(str);max=str[0];for(int i=0;i<strlen(str);i++)if(str[i]>max){ max=str[i];\/\/记录最大值 x=i;\/\/记录下标 } printf("max=%c \\nmax address=%d \\nASCII=%d",max,x,max);return 0;} ...

从键盘输入十个字符,请将其中的小写字母转换为大写字母,其它字符不变...
include<stdio.h>int main(){char s[20]; int i; gets(s); for(i=0;i<10;i++) if(s[i]>='a'&&s[i]<='z') s[i]-=32; s[i]='\\0'; puts(s); return 0;}

从键盘上输入10个字符,统计数字字符的个数
printf("大写字母为%d个;小写字母为%d个;数字为%d个;其他字符为%d个",big,small,figure,other);}

c++编写一个程序,从键盘输入10个字符,统计 大小写字母 与数字字符的...
int count = 10;char c;int NcharS , Nnum , NcharB;NcharS = Nnum = NcharB = 0;while(count--){ cin >> c;if (c >= 'a' && c <= 'z')NcharS++;else if (c >= 'A' && c <= 'Z')NcharB++;else if (c >= '0' && c <= '9')Nnum++;else{} } cout <...

c++编写一个程序,从键盘输入10个字符,并统计其中英文字母(不区分大小写...
void main(){ int str[10],i,count_letter=0,count_digit=0;cout<<"input 10 strings="<<endl;for(i=0;i<10;i++)cin>>str[i];for(i=0;i<10;i++){ if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))count_letter++;if(str[i]>='1'&&str[i]...

c语言,从键盘上输入10个字符,将其中的小写英文字母转换成大写英文字母...
include<stdio.h> void main(){int i;char c;for (i=0;i<10;i++){c=getchar();\/\/这一句不知道对不对?if (c>='a'&&c<='z')c=c-32;printf("%c ",c);} }

从键盘上输入一个长度为十的数组,然后逆序输出(C语言编程)
\/ 从键盘上接收10个字符,按逆序输出 \/ include <stdio.h> include <conio.h> int main(int argc, char*argv[]){ char szInput[10] ="";int i =0;printf( "请输入10个字符:");gets( szInput);for( i =9; i >=0; --i){ putchar( szInput[i]);} printf( "\\n");return ...

为什么我的按下键盘会出现输入多个字符?
一、首先按下键盘“WIN键”,接着点击“控制面板”。二、控制面板内点击“轻松访问中心”。三、然后点击“使键盘更易于使用”。四、勾选“启用筛选键”,并点击“设置筛选键”。五、接着勾选“启用重复键和慢速键”并点击“设置重复键和慢速键”。六、最后勾选“减缓键盘重复速度”,下面第一个时间...

键盘上输入一个拼音字母为啥就会出好几个字符
假设你在输入拼音“ni hao ma”,但是每次按下“n”键时都会出现“nn”或者“n+其他字符”的情况,这就很可能是粘连键问题。你可以尝试清理键盘或者更换键盘来解决这个问题。如果你在输入拼音时发现某些按键需要按多次才能输入一个字符,或者按下后一段时间仍然处于激活状态,那么可能是键盘设置错误。你...

上犹县13634256000: 从键盘输入10个字符串,把字符串按字典升序排列并输出.每行输出一个字符串,用C语言怎么写? -
犹奔诚年: 将字符串2复制到字符串1 strcpy(s1,s2); 交换两个字符串:strcpy(t,s1);strcpy(s1,s2);strcpy(s2,t); 字符串比大小根据ascll码挨个比较,strcmp("a","b");返回的是小于0的数,strcmp("b","b");返回的是0,strcmp("b",“a”); 返回的...

上犹县13634256000: 从键盘上输入十个字符串,按从小到大输出 -
犹奔诚年: #include #define N 10 void select_sort(int s[]) { int i, j, temp, min; for (i=0; i { min = i; for (j=i+1; j { if (s[j]} temp = s[i]; s[i] = s[min]; s[min] = temp; } return; } void bubble_sort(int s[]) { int i, j, temp, flag; for (i=N-1; i>=1; i--) { flag = 0; for (j=0; j { if (s[j] > s[j+1])...

上犹县13634256000: 从键盘读入10个字符串,按从大到小排序并输出 -
犹奔诚年: #include #include void Rank(char a[][200],int n) { int i,j; char t[200]; for(i=0;i < n-1;i++) { for(...

上犹县13634256000: 从键盘任意输入10个长度不超过10的字符串,编程,按字典的次序输出这些字符串 -
犹奔诚年: 先对字符串中10个字符进行比较大小,然后再输出

上犹县13634256000: 编写一个程序实现对字符串的排序 要求:从键盘上输入10个字符串, 将排序的结果输出 -
犹奔诚年: #include void main() { char string[10][20],tmp[20];//定义二维数组 和临时数组for(int i=0;i<10;i++)scanf("%s",*(string+i));//sting[i]这样写也可以 一个意思for(int i=0;i<10-1;i++)for(int j=i+1;j<10;j++)if(strcmp(string[i],string[j])>0)//比较大小{ strcpy...

上犹县13634256000: 输入有限个字符串,按字符串长度排序,如果字符串长度一样,再把字符串按字母排序,C语言编程 -
犹奔诚年: 设允许输入10个字符串,长度限制为50个字符以内,用char型二维数组记载.另声明一个10个元素的char *型指针数组,使每个元素对应指向前述每个字符串,排序时只交换指针而不拷贝字符串.代码如下: #include "stdio.h" #include "...

上犹县13634256000: 编写一个程序,从键盘读入10个字符串,将这10个字符串进行由大到小的排序,并输出排序后的各字符串 -
犹奔诚年: /* 排序前 :stdio stdlib string conio time malloc 排序后 :conio malloc stdio stdlib string time 请按任意键继续. . .*/#include <stdio.h>#include <stdlib.h>#include <string.h> void Sort(char s[][10], int n) { int i,j,k; char t[81]; for(i = 0; i < n - 1; ++i) { k = i; ...

上犹县13634256000: 从键盘输入10个字符串,按照字典顺序将其排序输出怎么写(C++语言) -
犹奔诚年: 按asc码比较字符串大小,做个排序就出来了.可以先比较第一个字符的大小,如果第一个字符相同,则比较第二个,这样就出来了

上犹县13634256000: 输入10个字符串,编写程序将它们按照字符串长度大小进行升序排列 -
犹奔诚年: 我太清楚你那个“字符串大小” 具体是什么意思,是指字符串大小,还是字符串的ASCII码呢?所以我使用strcmp()对读字符串的ASCII码大小进行排序了.#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 3 int main(void) { ...

上犹县13634256000: 从键盘输入10个字符串,按照字典顺序将其排序输出 二维字符数组 -
犹奔诚年: //没用2为字符串,麻烦死.用的结构体 #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct {char c[105]; }Line; Line a[10]; int cmp(const void *x,const void *y) {char *m = ((Line*)x)->c;char *n = ((Line*)y)->c;return strcmp(m,n); }...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网