C语言问题

[复制链接]
查看11 | 回复2 | 2008-7-13 12:57:51 | 显示全部楼层 |阅读模式
这是一个起泡法求10个数大顺序的程序
#include "stdio.h"
main()
{
int a[11];
int i,j,t;
printf("input 10 numbers:\n");
for(i=1;ia[i+1])
{
t=a;a=a[i+1];a[i+1]=t;
}
printf("the sorrted numbers:\n");
for (i=1;ia[i+1]),不要对a-1,然后把-1移到2的前面

回复

使用道具 举报

千问 | 2008-7-13 12:57:51 | 显示全部楼层
如果遇到if(a>a[i+1]),电脑会执行{ t=a;a=a[i+1];a[i+1]=t; } printf("the sorrted numbers:\n"); 如果遇到你说的情况aa[i+1]),所以电脑就不会执行{ t=a;a=a[i+1];a[i+1]=t; } printf("the sorrted numbers:\n"); 而是跳过这里,从本次循环的开始处执行也就是for (j=1;j<=9;j++) for(i=1;i<=10-j;i++) 又从这里执行对,你补充的
回复

使用道具 举报

千问 | 2008-7-13 12:57:51 | 显示全部楼层
这就是起泡法的特点。C语言要求的是简洁,可以不要的不要,这里a<a[i+1]分析就多余了 第一次循环1-12第二次循环 -112
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行