#include<stdio.h>
#include<string.h>
main()
{ char a[5][10]={“china”,”beijing”,”you”,”tiananmen”,”welcome”};
int i,j; char t[10];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(strcmp(a[i],a[j])>0)
{ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[i],t);}
puts(a[3]);
是要找问题么
for(i=0;i<4;i++)
for(j=0;j<4-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);}
#include<stdio.h>
#include<string.h>
int main()
{
char a[5][10]={ "china", "beijing", "you", "tiananmen", "welcome"};
char t[10];
int i,j;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(strcmp(a[i],a[j])>0)
{
strcpy(t,a[i]);
strcpy(a[i],a[j]);
//strcpy(a[i],t);
strcpy(a[j],t);
}
for (i = 0; i < 5; i++)
puts(a[i]);
}
供参考~
注意字符串双引号是英文的,不能是中文的。注意下表的操作;
冒泡排序的循环是:
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
代码修改如下:
#include<stdio.h>
#include<string.h>
void main()
{
char a[5][10]={"china","beijing","you","tiananmen","welcome"};
int i,j;
char t[10];
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(strcmp(a[i],a[j])>0)
{
strcpy(t,a[i]);
strcpy(a[i],a[j]);
strcpy(a[i],t);
}
puts(a[3]);
}