c语言-C填空题:键盘上输入10个整数,程序按降序完成从大到小排序

问题描述

C填空题:键盘上输入10个整数,程序按降序完成从大到小排序

#include
void sort(int *p,int *q)
{
int *max,*s;
if(p>q)return;
max=p;
__ for(s=p+1;s<=q;s++)__
if()max=s;
swap();
sort((),q);
}
void swap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
void main()
{

int i,array[10];
for(i=0;i<10;i++)
    scanf("%d",());
sort((),array+9);
for(i=0;i<10;i++)
   printf("%d",*(array+i));

}

解决方案

 #include<stdio.h>
void sort(int *p,int *q)
{
    int *max,*s;
    if(p>q)return;
    max=p;
    //找寻p,q之间的最大值
    for(s=p+1;s<=q;s++)
        if(*s > *max)max=s;
    //将array[p]和之后的最大值交换
    swap(p,max);
    //排序array[p+1...q]
    sort(p+1,q);
}
void swap(int *x,int *y)
{
    int temp;
    temp=*x;
    *x=*y;
    *y=temp;
}
void main()
{
    int i,array[10];
    //赋值
    for(i=0;i<10;i++)
        scanf("%d",&array[i]);
    //对array数组排序
    sort(array,array+9);
    for(i=0;i<10;i++)
       printf("%d",*(array+i));
}

解决方案二:

 if(s > *max)max=s;

swap(&s, max);

sort(s,q);

scanf("%d",&array[i]);

sort(array,array+9);
时间: 2024-11-05 12:33:58

c语言-C填空题:键盘上输入10个整数,程序按降序完成从大到小排序的相关文章

printf-c语言从键盘上输入10个数,找到最小数,输出与其相邻的数。

问题描述 c语言从键盘上输入10个数,找到最小数,输出与其相邻的数. 从键盘上输入10个数,找到最小数,输出与其相邻的数. #include<stdio.h> void min(double a[10]) {int i,index; double min=a[0]; for(i=0;i<10;i++) if(min<a[0]){min=a[i]; index=i;} printf("%f &f",a[index-1],a[index+1]); } voi

c++-从键盘上输入两个正整数,输出它们的最大公约数和最小公倍数用C++实现

问题描述 从键盘上输入两个正整数,输出它们的最大公约数和最小公倍数用C++实现 用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急用C++实现,一早要交作业,急 解决方案 http://ww

用汇编语言将十进制数据转换成十六进制数。要求从键盘上输入一个十进制数,然后以十六进制数输出

问题描述 用汇编语言将十进制数据转换成十六进制数.要求从键盘上输入一个十进制数,然后以十六进制数输出 用汇编语言将十进制数据转换成十六进制数.要求从键盘上输入一个十进制数,然后以十六进制数输出,用子程序实现 解决方案 http://www.cnblogs.com/vongang/archive/2011/11/16/2251645.html

源代码-【二维字符数组】从键盘输入若干英文单词,单词最大长度不超过 15 个字母,把单词按照长度从大到小排序

问题描述 [二维字符数组]从键盘输入若干英文单词,单词最大长度不超过 15 个字母,把单词按照长度从大到小排序 用C语言来写,还没有学到指针,所以不要指针的写法,求大神给个源代码,我自己已经想了3个小时了还没有写出来. 解决方案 不用指针的话,没有办法动态分配内存,我们只能做一个假设,那就是键盘输入的单词不超过n(比如n=100,可以视作无限大) 至于排序,可以用冒泡都可以. 解决方案二: #include<string.h> #include<stdio.h> void main

从键盘输入10个整数,然后按照和输入相反的顺序输出出来

问题描述 从键盘输入10个整数,然后按照和输入相反的顺序输出出来 从键盘输入10个整数,然后按照和输入相反的顺序输出出来 要求用VC++实现 解决方案 #include int main() { int n[10],i; for(i=0;i scanf("%d",n+i); for(i=9;i>=0;--i) printf("%d ",n[i]); return 0; } 解决方案二: #include<stdio.h> int main() {

number-汇编语言输入10个整数,输出其中最小的奇数。

问题描述 汇编语言输入10个整数,输出其中最小的奇数. 编一程序,从键盘输入10个无符号整数(8位),找出其中最小的奇数并将结果显示出来.没有奇数则显示 NO ODD NUMBER哪位大侠可以教教我这个该怎么做,老师教的完全听不懂QAQ 解决方案 DATAS SEGMENTDATA DB 745865692541876119833;DATA DB 745866662541866169836 ; test odd numberlen equ $ - offset datano_str db 'NO

十个整数-输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急

问题描述 输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急 输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急. 解决方案 #include <stdio.h> #define MAX 11 /*输入MAX-1个整型数字,找出不同数字的个数,并且给出出现次数最多的数字.*/ int *sel_sort(int n , int *a,int seq)/*选择排序 seq:0为由小到大,1为由大到小*/ { int i=0,

c++-输入10个整数,按每行3个整数输出这些数,最后输出10个整数的平均值?写出调试过程

问题描述 输入10个整数,按每行3个整数输出这些数,最后输出10个整数的平均值?写出调试过程 整数,按每行3个整数输出这些数,最后输出10个整数的平均值?写出调试过过程.最好在下面这个图上改 解决方案 解决方案二: 你的n没有给值啊,不是要求10么.const int n = 10; 解决方案三: 输入10个整数

c++-输入10个整数,按每行3个数输出这些数,最后输出10个整数的平均值

问题描述 输入10个整数,按每行3个数输出这些数,最后输出10个整数的平均值 输入10个整数,按每行3个数输出这些数,最后输出10个整数的平均值.下面图是我的过程,求教,我该如何改呢#includeusing namespace std;void input(int a[], int n) { for (int i = 0; i < n; i++)cin >>a[i];}void output(int a[], int n) { for (int i = 0; i < n; i++