当前位置:问百书>百科知识>C语言,输入5个字符串,按由小到大的顺序输出。非常急,求指导!笑

C语言,输入5个字符串,按由小到大的顺序输出。非常急,求指导!笑

2023-03-01 19:14:27 编辑:join 浏览量:636

问题补充说明:/*输入5个字符串,按由小到大的顺序输出。*/ #include #include int main(void){ int i,j; char a[5][20], t[5]; printf("Enter 5 strings:\n"); for (i = 0; i < 5; i++){ scanf_s("%s",a[i]); } for (i = 1; i < 5; i++){ ... /*输入5个字符串,按由小到大的顺序输出。*/#include#includeint main(void){int i,j;char a[5][20], t[5];printf("Enter 5 strings:\n");for (i = 0; i < 5; i++){ scanf_s("%s",a[i]);}for (i = 1; i < 5; i++){ for (j =0; j < 5-i ;j++) if (strcmp(a[j], a[j+1]) > 0){ strcpy_s(t,20,a[j]); strcpy_s(a[j],20, a[j + 1]); strcpy_s(a[j + 1],20, t); }}printf("After sorted:\n");for (i = 0; i < 5; i++)//<----------------------------不懂的地方在这里!整个程序编译完后都显示没问题,puts(a[i]); 但是最后的结果就是输出不了,每次输出显示都只有5个return 0; 换行符,根本没有字符串,这是为什么?求指教!} 展开

#define_CRT_SECURE_翻含胡善对NO_WARNINGS1

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

voidsort(char**p)

{

char**q,**s,*t;

for(q=p;q<p+4;q++)

茶声冲营流形政试术{

for(s=q+1;s<p+5;s++)

{

if(strcmp(*q,*s)>0)

{

t=*q;

*q=*s;

*s=t;

}

}

}

}

intmain()

{

char*a[5],b[5][99],**p;

inti;

for(i=0;i<5铁务异全洲宪斯;i++)

a[i]来自=b[i];

printf("请依次输入五个字符串:\n");

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

scanf直片谈乎村("%s",a[i]);

p则树富保按=a;

sort(p)评讨儿;

printf("排序后输出为厂军策零间:\n");

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

{

printf("%s\n",a[i]);

}

system("pause");

return0;

}

运行效果:

C语言,输入5个字符串,按由小到大的顺序输出。非常急,求指导!笑

扩展资料:

scanf函数用出微排搞法:

scanf("输入控360问答制符",输入参数);

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。

如果想要输出包括空格在内的所有数据,可以使用gets()函饭移上景血随概蛋得村万数读入数据。ge剂致识ts()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。

标签:C语言,由小到大,字符串

版权声明:文章由 问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbaishu.com/article/31368.html
热门文章
二维码