中易网

c语言for和if语句结合在一起时的问题

答案:3  悬赏:40  
解决时间 2021-02-15 09:48
c语言for和if语句结合在一起时的问题
最佳答案
你的for循环只有一层循环,是无法排序的,for循环中if没有跳出语句,所以不算控制for循环


下面修改了一下:
#include
#define SIZE 10
int main(void)
{
int hold;
int a[SIZE];
int i;
int j;
int k;

printf("please input ten numbers:
");for(i=0;iscanf("%d",&a[i]);




for(int i = 0; i < SIZE - 1; i++)
{
for(j=0;jif (a[j+1]>a[j])
{
hold=a[j];
a[j]=a[j+1];
a[j+1]=hold;
}
}


for(k=0;kprintf("%d  ",a[k]);
puts("");
}


测试:

全部回答
//-------------------
int hold;
int a[SIZE];
int i,j,k;
printf("please input ten numbers:\n");
for(i=0;i<SIZE;i++)
scanf("%d",&a[i]);
for(j=0;j<SIZE-1;j++) {
for(i=0;i<SIZE-1-j;i++) {
if(a[i]>a[i+1])
{
hold=a[i];
a[i]=a[i+1];
a[i+1]=hold;
}
}
}
for(k=0;k<SIZE;k++){
printf("%d",a[k]);
//puts("");
}
//-----------
如果输入的是1 2 3 4 5 6 7 8 9 10的话,输出的结果应该是2 3 4 5 6 7 8 9 10 1
如果你想从大到小排序的话,通过这种简单的两两比较大小,至少要用两个for循环
#include<stdio.h>
#include<Windows.h>//包含这个头文件可以调用system("pause");
#define SIZE 10
int main(void)
{
int hold;
int a[SIZE];
int i,j,k,l;
printf("please input ten numbers:\n");
for(i=0;i<SIZE;i++)
scanf("%d",&a[i]);
for(j=0;j<SIZE;j++)
{
for(l=0;l<SIZE-j;l++)
if (a[l+1]>a[l])
{
hold=a[l];
a[l]=a[l+1];
a[l+1]=hold;
}
}
for(k=0;k<SIZE;k++)
printf("%d",a[k]);
system("pause");
}
这样程序的输出结果就应该是10 9 8 7 6 5 4 3 2 1了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黄老师3+2课堂这个地址在什么地方,我要处理
安徽医学高等专科学校自主招生有优秀团员条件
一艘潜水艇从长江某基地赴东海执行任务的过程
e管家是干什么的?
乔治专业烫染造型店在哪里啊,我有事要去这个
跳投 上篮 投球的各种类型方法
福安市东亚建材有限公司我想知道这个在什么地
想找人设计下景观设计图纸至需要单纯的效果图
天地人环保科技创新园在哪里啊,我有事要去这
怎么用美图秀秀美化动态图?!和下面这张图片
兴业银行信用卡好申请吗?,,额度怎样
你好!请教您plc文本显示器(td200)怎么才能
荣耀6x怎么升级7.0
帽子摘了,头发太乱怎么办
如果我和公司签合同了 但是公司没有到公证的
推荐资讯
昌华二手车交易商行怎么去啊,有知道地址的么
若A城受沙尘暴影响,则遭受影响的时间有多长
水杉好种植否?
王者荣耀S11赛季哪些中路法师,最稳最强势
青岛同方药业NO.122地址有知道的么?有点事想
如何将E盘多余的空间转移到D盘!急!!!
徐婷的老公
应聘汽车销售填完简历后一般几天通知去面试
snake节奏是直播的那个节奏吗
网站新闻记者哪里找
为什么福田花园的违章越来越多
有没有11款雅阁改装过LED尾灯的???
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?