69,336
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
int main()
{ char str[10];
void max(char str_1[]);
gets(str);
max(str);
return 0;
}
void max(char str_1[])
{ int i,j,t,m;
for(i=0;i<10;i++)
{ for(j=0;(j<9-i)&&(str_1[j]!='\0');j++)
if(str_1[j]>str_1[j+1])
{ t=str_1[j];
str_1[j]=str_1[j+1];
str_1[j+1]=t; }}
puts(str_1);
}
void max(char str_1[])
{ int i,j,t,m;
for(i=0;i<10;i++)
// 这个判断跟下面的用法有问题,即使你的str_1[j] != '0',你下面的str_1[j+1]却是会等于'\0'的
// 所以最后就是把整个字符串都换成0了,输出就看不到了,你自己改一下,体验一下吧
{ for(j=0;(j<9-i)&&(str_1[j]!='\0');j++)
if(str_1[j]>str_1[j+1])
{ t=str_1[j];
str_1[j]=str_1[j+1];
str_1[j+1]=t; }}
puts(str_1);
}
#include <stdio.h>
#include <string.h>
int main()
{ char str[100];
void max(char str_1[]);
gets(str);
max(str);
puts(str);
return 0;
}
void max(char str_1[])
{ int i,j;
char t;
for(i=0;i<strlen(str_1)-1;i++)
{ for(j=i+1;j<strlen(str_1);j++)
if(str_1[i]>str_1[j])
{ t=str_1[j];
str_1[j]=str_1[i];
str_1[i]=t; }}
}
#include <stdio.h>
#include <string.h>
int main()
{ void exchange(char str_1[]);
char str[10];
gets(str);
exchange(str);
return 0;
}
void exchange(char str_1[])
{ int i,j,t,m;
for(i=0;i<10;i++)
{ for(j=0;j<9-i;j++)
if(str_1[j]>str_1[j+1])
{ t=str_1[j];
str_1[j]=str_1[j+1];
str_1[j+1]=t; }}
puts(str_1);
}
结果 和我输入的一样 没排序。。。
不知道哪里错了。。。
#include <stdio.h>
#include <string.h>
int main()
{ char str[100];
void max(char str_1[]);
gets(str);
max(str);
puts(str_1);
return 0;
}
void max(char str_1[])
{ int i,j;
char t;
for(i=0;i<strlen(str_1);i++)
{ for(j=i+1;j<strlen(str_1);j++)
if(str_1[i]>str_1[j])
{ t=str_1[j];
str_1[i]=str_1[j];
str_1[j]=t; }}
}