搜索
首页 电脑/网络 程序设计 C/C++

C语言能人请进

C语言写一个程序,要求输入N个整数,按从小到大的顺序输出,就说说思路。如果N=4,写个具体的程序。

全部回答

2007-02-05

0 0
    定义个足够大的数组,把输入的N个整数作为数组的前N个元素。 先用基本的算法把这个数组的前N个数排序,然后按排好的顺序输出这前N个数就行了。 #include "stdio。
    h" #define MAX 100 void main() { int n,num[MAX],i,j,k; // 输入 printf("N:"); scanf("%d",&n); for(i=0;inum[j+1]) { k=num[j]; num[j]=num[j+1]; num[j+1]=k; } } } // 输出 printf("\nResult:\n"); for(i=0;i<n;i++) { printf("%d\n",num[i]); } printf("\n\n"); }。
  

2007-02-14

425 0
    呵呵,我想了两种算法,第一种算法(就是用枚举加if条件)适用于整数数目较小的时候,数目多的话逻辑上会很麻烦,但效率高于第二种。第二种是选择排序,算法虽然有点复杂,但当整数数目多时(如100个时,这时你用第1种算法写到猴年马月也写不完,而此时第二种方法无论是逻辑还是算法都十分简单了),十分实用。
    算法1:#includevoidmain(){cout>a>>b>>c>>d;if(a=b){d+=c;c=d-c;d-=c;gotoplace;}//下面d小于bif(d//首先键入要输入的整数个数,按回车结束,然后输入你想排序的整数,就能得到结果了voidinput(intn,inta[10]){for(inti=0;i>a[i];}voidpaixu(intn,inta[10]){inttemp,flag;for(inti=0;itemp){temp=a[j];flag=j;}}temp=a[i];a[i]=a[flag];a[flag]=temp;}}voidoutput(intn,inta[10]){for(inti=0;i>n;input(n,a);paixu(n,a);output(n,a);}。
    。

2007-02-10

426 0
    #include void main(void) { int number; int i,j,a[9999],temp; printf("\n请输入整数个数:\n"); scanf("%d",&number); for(i=1;ia[j]) {temp=a[j]; a[j]=a[i]; a[i]=temp; } } printf("\n排序结果:\n"); for(i=1;i<=number;i++) printf("%d\t",a[i]); }。
    。

2007-02-04

398 0
可以用数组去做,然后前后比较啊

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
C/C++
数据库
VB
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报