爱问知识人 爱问教育 医院库

C语言能人请进

首页

C语言能人请进

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

提交回答
好评回答
  • 2019-03-09 18:48:13
    定义个足够大的数组,把输入的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
    		                
    		            

    宋***

    2019-03-09 18:48:13

其他答案

    2019-03-09 19:08:02
  • 可以用数组去做,然后前后比较啊

    再***

    2019-03-09 19:08:02

  • 2019-03-09 18:45:57
  •   呵呵,我想了两种算法,第一种算法(就是用枚举加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);}。
      

    离***

    2019-03-09 18:45:57

类似问题

换一换

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 170-189
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):