输入5个字符串,按由小到大的顺序输出(用指针做)
#include<stdio.h>
#include<string.h>
main()
{
int i,j;
char t[5];
char a[5][5]={'\0'};
printf("输入5个字符串");
for(i=0;i<5;i++)
scanf("%s",&a<i>);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
{
if(strcmp(a[j],a[j+1])>0)
{
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
}
printf("比较大小后:\n");
for(i=0;i<5;i++)
printf("%s\n",a<i>);
}
扩展资料:
printf用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
#include<stdio.h>
struct friend
{
char name[81];
}b[5], t;
int main()
{
int n=5, i, j;
scanf ("%s %s %s %s %s",b[0].name,b[1].name,b[2].name,b[3].name,b[4].name);
for (i=0; i<n-1; i++)
for (j=0; j<n-i-1; j++)
{
if (b[j].name[0] > b[j+1].name[0])
{
t = b[j];
b[j] = b[j+1];
b[j+1] = t;
}
}
for (i=0; i<n; i++)
printf ("%s\n",b[i].name);
return 0;
}
推荐于2018-02-27
#include<string.h>
#define M 5
#define N 20
void main()
{
char str[M][N],temp[N];
int i,j;
for(i=0;i<M;i++)
{
printf("请输入第%d个字符串:",i+1);
scanf("%s",(str+i));
}
printf("排序前:\n");
for(i=0;i<M;i++)
printf("第%d个字符串:%s\n",i+1,*(str+i));
for(j=0;j<M-2;j++)
{
for(i=0;i<=M-j-1;i++)
if(strcmp(*(str+i),*(str+i+1))>0)
{
strcpy(temp,*(str+i));
strcpy(*(str+i),*(str+i+1));
strcpy(*(str+i+1),temp);
}
}
printf("排序后:\n");
for(i=0;i<M;i++)
printf("第%d个字符串:%s\n",i+1,*(str+i));
}