用C语言编写这样一个程序:任意的写出n个整数,对它们进行比较大小并把它们按从小到大的顺序输出

跪求答案

#include <stdio.h>
#include <stdlib.h>

//这个是排序函数,其实有好多版本的,这只是其中一版
void choise(int *a,int n)
{
int i,j,k,temp;
for(i=0;i<n-1;i++)
{
k=i; /*给记号赋值*/

for(j=i+1;j<n;j++)
if(a[k]>a[j])
k=j; /*是k总是指向最小元素*/

if(i!=k)
{ /*当k!=i是才交换,否则a[i]即为最小*/
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}

int main(void)
{
//定义排序数据的个数
int n;
printf("请输入你要进行排序的数据个数\n");
scanf("%d",&n);

//录入要排列的数据
int * a;
a = (int *)malloc(sizeof(int)*(n+1));
printf("请输入你要排序的数据\n");
for(int i =0; i < n; i++)
{
scanf("%d", &a[i]);
}

printf("原始的数据排列是:\n");
for(int j = 0; j < n; j++)
{
printf("a[%d] = %d\t", j, a[j]);
}
//执行排序函数,对数据进行排序
choise(a, n);

//排序后对数据进行输出
printf("排列的数据排列是:\n");
for(int k = 0; k < n; k++)
{
printf("a[%d] = %d\t", k, a[k]);
}

printf("\n");
return 0;
}追问

运行怎么有错误啊???

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-10
#include <stdio.h>
int main()
{
int n,i,j,t;

printf("输入n的值:");
scanf("%d/n",n);
int a[n];
printf("input n numbers :\n");
for (i=0;i<n;i++) scanf("%d",&a[i]);
printf("\n");
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
if (a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("the sorted numbers :\n");
for(i=0;i<n;i++) printf("%d ",a[i]);
printf("\n");
return 0;
}追问

运行出错???

用C语言编写这样一个程序:任意的写出n个整数,对它们进行比较大小并把它...
int n;printf("请输入你要进行排序的数据个数\\n");scanf("%d",&n);\/\/录入要排列的数据 int * a;a = (int *)malloc(sizeof(int)*(n+1));printf("请输入你要排序的数据\\n");for(int i =0; i < n; i++){ scanf("%d", &a[i]);} printf("原始的数据排列是:\\n");for...

用C语言编写这样一个程序:任意的写出n个整数,对它们进行比较大小并把它...
b=c;c=t;} printf("%d>%d>%d",a,b,c);} 我做的是三个数的,n个数的可以类推一下

用C语言描述对于输入的任意三个整数,将它们按从小到大的顺序输出?_百 ...
1、输入三个整数x,y,z,请把这三个数由小到大输出。2、所需要的开头代码,#include "stdio.h"#include "conio.h",预处理命令,表示程序包含conio.h库文件conio.h库文件定义了通过控制台进行数据输入和数据输出的函数。3、下面这个代码是关键 int x,y,z,t; scanf("%d%d%d",&x,&y,&z)...

怎样用C语言对一串整行数从大到小排序
void select_sort(int *x, int n){ int i, j, min, t; for (i=0; i<n-1; i++) \/*要选择的次数:0~n-2共n-1次*\/ { min = i; \/*假设当前下标为i的数最小,比较后再调整*\/ for (j=i+1; j<n; j++)\/*循环找出最小的数的下标是哪个*\/ { if (*(x+j) < *(x+min)) { ...

编写程序,使任意输入的三个整数按从小到大的顺序输出.(先画框图,再写...
为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≤b≤c.具体操作步骤如下:第一步;输出3个整数a,b,c.第二步:将a与b比较,并把大者赋给b,小者赋给a.第三步:将a与c比较,并把大者赋给c,小者赋给a,此时a已是三者中最小的.第四步:将b与c比较,...

一个c语言小问题,编写程序?
按照题目要求编写的C语言程序如下(见图)

用C语言编写:编写一个函数,要求在主函数中输入两个数,输出其中最大值...
C语言代码如下:include<stdio.h> int main(){ int a,b;printf("please enter two number:"); ---两个数字用空格隔开,以回车键结束输入。scanf("%d %d",&a,&b);if(a>b)printf("The max is %d",a);else if(b>a)printf("The max is %d",b);else printf("The two Numbers...

共3门学科,要求用C语言编程,输入全班成绩,并把它们的平均分进行排序,如 ...
char *nameSave=(char *)malloc(sizeof(char)*nameLen); XK xk[3];\/\/记录三科名称及平均分 \/\/录入成绩 printf("录入%d名学生的语文成绩:\\n",stuNum); for(i=0;i<stuNum;i++) { scanf("%d",&y[i]); sum[0]=sum[0]+y[...

第一行输入一个数n,第二行输入n个整数,按照倒序把n个数输出.(使用数组...
然后倒序输出数组元素即可,不需要对数据进行改变。正确代码如下:include <stdio.h> define N 2000 int main () { int i=0;int n=0,a[N];scanf("%d",&n);for(i;i<n;i++){ scanf("%d",&a[i]);} for(i=n-1;i>=0;i--){ printf("%d ",a[i]);} return 0;} ...

比较大小数学教案5篇
比较大小数学教案篇1 教学目标 1.在具体的问题情境中,经历探究小数的大小比较方法的过程,根据数的位值原理,掌握小数的大小比较的方法 ,会比较小数的大小,并能把两个以上的小数按大小进行排序。2.在独立自主、合作交流的活动中,培养了学生猜想、验证、比较、概括的思维能力。

相似回答
大家正在搜