排序 函数-编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出

问题描述

编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出

编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出。要求用函数sort()进行排序, 用函数input()输入数据,用函数output()输出数据。
(1) 主函数定义数组a[N],N定义为10
(2) 函数声名:
(3) 主函数调用函数实现程序功能。
(4) 函数定义

解决方案

下面的代码考虑输入的是否是整数

#include<stdio.h>

#define N 10

void input();
void sort();
void output();

void main()
{
    int a[N];

    input(a, N);

    sort(a, N);
    output(a, N);

    getch();
}

void input(int *a, int n)
{
    int i = 0;
    char c;

    printf("nEnter the %d of numbers: ", n);

    for (i = 0; i < n; i++)
    {
        printf("Please input number %d : ", i + 1);

        while(scanf("%d", &a[i]) != 1)
        {
            scanf("%s", &a[i]);
            printf("Sorry, [%s] is not a number. Please input number %d : ", &a[i], i);
        }
    }
}

void sort(int *a, int n)
{
    int i, j, temp;

    for(i = 0; i < n; i++)
    {
        for(j = i; j < n; j++)
        {
            if(a[i] > a[j])
            {
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
}

void output(int *a, int n)
{
    int i;

    printf("nSorted array:");
    for(i = 0; i < n; i++)
    {
        printf("t%d",a[i]);
    }
}

解决方案二:

 #include <iostream> 

using namespace std; 

int main() 

{ 

 int a[10],i,j,k,temp; 

 cout<<"请输入10个数"<<endl; 

 for(i=0;i<10;i++) 

  cin>>a[i]; 

 for(i=0;i<9;i++) 

 { 

  k=i; 

  for(j=i+1;j<10;j++) 

   if(a[k]>a[j])  k=j; 

   if(k!=i) 

   { 

    temp=a[i]; 

    a[i]=a[k]; 

    a[k]=temp; 

   } 

 } 

 for(i=0;i<10;i++) 

  cout<<a[i]<<"   "; 

 cout<<endl; 

 return 0; 

}

解决方案三:

请问你是想要代码吗?
你如果是学编程的建议自己搞

解决方案四:

额! 怎么这么简单! 有很多的排序算法啊! 比如像:冒泡,插入都是一些排序的算法!查一下就知道了!

时间: 2025-01-23 20:18:12

排序 函数-编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出的相关文章

函数-编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,

问题描述 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值, 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,然后用函数aver实现平均值计算,输出这10个数以及平均值,要求数组和元素个数作为参数传递. 声明函数avar: (3)主函数输入10个数据,用for循环语句输入: 解决方案 你能不能再懒点?发了这个问题编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出,都有答案了,整数改成浮点的自己都不改. 解决方案二

c语言-C语言数据打包程序 从键盘输入一组数据,输出为头+长度+类型+数据+尾;结果很奇怪

问题描述 C语言数据打包程序 从键盘输入一组数据,输出为头+长度+类型+数据+尾:结果很奇怪 typedef struct DataMessage { int file_header; //数据头 int length; // 数据长度 char type; //数据类型 char data[10]; //数据 int file_ending; //数据尾 }Message; main() { char string[100]; Message mes; int i; mes.file_head

从键盘输入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() {

c语言-从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

问题描述 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 解决方案 我用java不过逻辑都一样 int n = 987878976;//正是是从键盘接收的数字,处理后的数字. int count = 0;//保存数字的位数 while(n>=1){ count++; n = n/10; } //输出count就可以了 解决方案二: #include <iostream> using names

编写程序,查找并删除forward_list&lt;int&gt;中的奇数元素

#include<iostream> #include<forward_list> using namespace std; int main() { forward_list<int> flst={0,1,2,3,4,5,6,7,8,9}; auto prev=flst.before_begin(); auto curr=flst.begin(); while(curr!=flst.end()) { if(*curr%2)//当找到奇数元素时,我们将prev传递给er

ruby-RUBY sublime Text3 gets函数不能输入 跳过了键盘输入的步骤

问题描述 RUBY sublime Text3 gets函数不能输入 跳过了键盘输入的步骤 gets函数直接跳过键盘输入这个步骤 然后输出为空 是ST3的编译问题还是怎样 我的是OSX系统

c++文件的输入输出,怎么编写程序

问题描述 c++文件的输入输出,怎么编写程序 编写程序,将abc.txt的内容复制到xyz.txt文件中. 不懂使用文件 呜 解决方案 编写程序 分别使用输入 输出 求平均值函数 解决方案二: //打开文件需要ofstream和ifstream, 一个是读, 一个是写. 所以, 要复制需要这样: #include using namespace std; int main() { ifstream fin("abc.txt"); ofstream fout("xyz.txt&

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个连续的16位无符号数FBNC-ARRAY(每个数组元素占用一个字,共10个元素,用于保存斐波那契数列的前10项),其中前两个元素分别是0和1,此外还要定义一个双字变量SUM,编写程序,计算所有10个斐波那契数据的和,保存在SUM中. 解决方案 {求大神帮忙!!!!!!}求大神帮忙,急!!用的vs2005,这怎么解决呢,求大神帮忙 解决方案二: 这个很简单 啊,自己看看基本的汇编指令就行了,所编选一个编译器,都支持ASM的(汇编). 解