将四个国家英文名按字母表顺序排列输出问题#include"stdio.h"#include"string.h"void main(){ char *cs,*str[]={"English","China","Japan","America"}; int i,j,k; for(i=0;i<4;i
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 06:41:53
将四个国家英文名按字母表顺序排列输出问题#include"stdio.h"#include"string.h"void main(){ char *cs,*str[]={"English","China","Japan","America"}; int i,j,k; for(i=0;i<4;i
将四个国家英文名按字母表顺序排列输出问题
#include"stdio.h"
#include"string.h"
void main()
{
char *cs,*str[]={"English","China","Japan","America"};
int i,j,k;
for(i=0;i<4;i++)
{
k=0;
for(j=0;j<=3-i;j++)
{
if(strcmp(str[j],str[k])>0)
k=j;
}
if(k!=3-i)
{
cs=str[k];
str[k]=str[3-i];
str[3-i]=cs;
}
puts(str[i]);
}
}
/*不知道错哪了,输出结果不对*/
将四个国家英文名按字母表顺序排列输出问题#include"stdio.h"#include"string.h"void main(){ char *cs,*str[]={"English","China","Japan","America"}; int i,j,k; for(i=0;i<4;i
你的puts的问题.你这里的k是找到的最大的,但是,你下面的puts确实输出端 第i个,你应该要输出的是k,不过,你又跟3-i换了,所以.这里应该是puts(str[3-i])或者,在if前面puts(str[k])
至于你是要从大到小还是从小到大的话,就看strcmp那里了.改动代码如下(从大到小)
#include"stdio.h"
#include"string.h"
void main()
{
char *cs,*str[]={"English","China","Japan","America"};
int i,j,k;
for(i=0;i