问题补充说明:/*输入5个字符串,按由小到大的顺序输出。*/ #include
#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;
}
运行效果:
扩展资料:scanf函数用出微排搞法:
scanf("输入控360问答制符",输入参数);
功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。
用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。
如果想要输出包括空格在内的所有数据,可以使用gets()函饭移上景血随概蛋得村万数读入数据。ge剂致识ts()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志'\0'。
标签:C语言,由小到大,字符串