第1个回答 2020-02-16
#include
<stdio.h>
#include
<string.h>
main()
{
char
a[10],t[10];
int
i,j;
for(i=0;i<10;i++)
{
printf("input:");
scanf("%s",a[i]);//输入
}
for(i=1;i<10;i++)//冒泡法
排序
for(j=0;j<10-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("Output:\n");
for(i=0;i<10;i++)
puts(a[i]);//输出
}
//
第2个回答 2009-05-19
#include <stdio.h>
#include <string.h>
main()
{
char a[10][10],t[10];
int i,j;
for(i=0;i<10;i++)
{
printf("input:");
scanf("%s",a[i]);//输入
}
for(i=1;i<10;i++)//冒泡法 排序
for(j=0;j<10-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("Output:\n");
for(i=0;i<10;i++)
puts(a[i]);//输出
}
//调试成功
第3个回答 2009-05-20
#include <stdio.h>
#include <string.h>
main()
{
char a[10],t[10];
int i,j;
for(i=0;i<10;i++)
{
printf("input:");
scanf("%s",a[i]);//输入
}
for(i=1;i<10;i++)//冒泡法 排序
for(j=0;j<10-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("Output:\n");
for(i=0;i<10;i++)
puts(a[i]);//输出
}
//本回答被提问者采纳
第4个回答 2009-05-19
#include <stdio.h>
#include <string.h>
#define NUM 10
void main()
{
char str[NUM][20];
char temp[20];
int i, j, t;
for (i = 0; i < NUM; ++i)
scanf("%s", str[i]);
for (i = 0; i < NUM - 1; ++i)
{
t = i;
for (j = i; j < NUM; ++j)
{
if (strcmp(str[t], str[j]) > 0)
t = j;
}
if (t != i)
{
strcpy(temp, str[i]);
strcpy(str[i], str[t]);
strcpy(str[t], temp);
}
}
for (i = 0; i < 10; ++i)
printf("%s ", str[i]);
putchar('\n');
}