永发信息网

大家帮我看个程序

答案:3  悬赏:30  手机版
解决时间 2021-05-09 02:49
#include<stdio.h>
#include<string.h>
#define N 10
void main()
{
char a[N];
int i,t,j,l;
gets(a);
for(j=0;j<strlen(a);j++)
for(i=0;i<strlen(a)-1;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<=strlen(a);i++)
printf("%c",a[i]);
}这是比较一个字符串中每个元素大小,并且由小到大输出的程序,按理说只有用冒泡法才能写出,但是用冒泡法写出来后结果不对··最后就改成这样了,请高手帮我解释下额!谢谢
最佳答案

没看懂你中间两个for循环要干什么,我给你用冒泡法重写了,排序方法不止冒泡法一种,你可以尝试用别的来试一试:


#include<stdio.h>
#include<string.h>
#define N 10
void main()
{
char a[N];
int i,t,j,l;
gets(a);
for(j=strlen(a)-1;j>=0;j--)
for(i=0;i<j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<strlen(a);i++)
printf("%c",a[i]);
}


全部回答

if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; }

改成:

if(a[j]>a[i]) { t=a[j]; a[j]=a[i]; a[i]=t; }

你的变量J没有用上
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何提高QQ农场里狗抓人几率?
我小孩一个多月了可就是不我的奶,怎么办?
请问在汕头哪里有高速精密桌上车床销售?
罗丽莎的命脉是谁?
问道有什么副本专门刷级的?给我具体讲讲…谢
从小就胖,能瘦下来吗?要怎样才能瘦?
谁有 单机游戏 变形金刚2 的下载地址啊
高山道班在什么地方啊,我要过去处理事情
咋在空间透明模块上添加文字?
狂犬疫苗最后一针可以提推后两天打吗??
健美操专业学好有什么出路。
世上最大的鸟是什么
大话2里忽视抗混和强的区别是什么 [
怎么像女网友表白啊?
什么职业最NB.新手玩,驱魔行吗?
推荐资讯
QQ飞车好不好卖东西
天津谁收购十字绣成品呢 ?我急需卖出!
玉牌怎么配好看,玉牌搭配什么项链好看?如图
QQ秀购物代券能买什么
如果简爱没有获得一笔遗产,或者罗切斯特没有
我该怎么办。大家帮我想想
麦蒂何时复出啊?唉
公共区域卫生标语楼道,求宿舍楼道卫生标语
如何手画画螺旋线
龙之谷祭师2转,什么时候出?叫什么?
华冠大药房华冠店地址有知道的么?有点事想过
八王坟长途汽车站电话是多少?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?