用C语言编写“输入10个整数,按从大到小排列”的程序说明

程序已经有了,并可以运行,求每一步的程序说明?
#include<stdio.h>
void main()
{int i,j,min,temp,a[10];
printf("请输入:\n");
for(i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=1;i<=9;i++)
{min=i;
for(j=i+1;j<=10;j++)
if (a[min]>a[j]) min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;}
printf("\n从大到小排列是:\n");
for(i=10;i>=1;i--)
printf("%5d",a[i]);
printf("\n");}

程序已经有了,并可以运行,求每一步的程序说明?望高物帮忙!
先谢啦!

#include<stdio.h>
void main()
{int i,j,min,temp,a[10];
printf("请输入:\n");/* 提示用户输入信息 */
for(i=1;i<=10;i++)/* 这里有问题,下标i应该是从0开始,最大为9,即应写为for(i=0;i<10;i++) */
{printf("a[%d]=",i);/* 输出第i个数a[i]= */
scanf("%d",&a[i]);}/* 接收用户输入的值 */
printf("\n");/* 用户输入完一个换一行 */
for(i=0;i<=9;i++)/* 前面一个数 */
{min=i;
for(j=i+1;j<10;j++)/* 后面一个数 */
if (a[min]>a[j]) min=j;/* 小值放在下标为min的元素里 */
temp=a[i];/* 以下三句为交换a[i]和a[min]的值,目的是小值放在前面 */
a[i]=a[min];
a[min]=temp;}
printf("\n从大到小排列是:\n");/* 输出提示信息 */
for(i=9;i>=0;i--)/* 因为经过上面的比较后,i的初值已经为9,所以是-- */
printf("%5d",a[i]);/* 按顺序逐个输出数组元素 */
printf("\n");}/* 输出一个元素就换一行 */
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-05
#include<stdio.h>//标准输入输出函数调用需要此头文件、就是那个printf和scanf函数要用的
void main()//主函数
{int i,j,min,temp,a[10];
printf("请输入:\n"); //屏幕输出引号内的字符然后换行
for(i=1;i<=10;i++) //从键盘上循环输入10个数据
{printf("a[%d]=",i);
scanf("%d",&a[i]);} //读取数据函数
printf("\n"); //换行
for(i=1;i<=9;i++) //比较10个数据
{min=i; //每次比较的最小数据赋给min
for(j=i+1;j<=10;j++) //比较循环控制
if (a[min]>a[j]) min=j; //大小数值判断
temp=a[i];
a[i]=a[min]; //a[i]里存放的最小数值
a[min]=temp;}
printf("\n从大到小排列是:\n"); 输出字符
for(i=10;i>=1;i--) 循环输出按大小排列的数据
printf("%5d",a[i]);
printf("\n");} 每输出一个数据换行本回答被提问者采纳
第2个回答  2010-08-05
你就是一个冒泡排序的,这还要怎么说明的,这是最简单的C语言程序了

C语言如何输入十个数,按从大到小顺序排列!
printf("从大到小排序后:");for (i = 0; i < 10; i++)printf("%2d", a[i]);return 0;}

用C语言,随机输入10个整数,用冒泡排序法对这些整数进行从小到大排序...
int a[10];int b[10]={9,10,11,12,1,2,3,4,0,1};int c[10]={1,2,3,4,13,14,15,16,2,3};int i;printf("请输入待排序的10个数:");for(i=0;i<10;i++){ scanf("%d",&a[i]);} fun(a);printf("\\n排序后的数列如下:\\n");for(i=0;i<10;i++){ printf("...

如何用c语言实现输入一些数字,按照从大到小排序输出?
printf("从大到小");for (i = 0; i < 10; i++)printf("%2d", a[i]);return 0;}

C语言 从键盘输入10个整数,将这10个整数按从小到大的顺序输出。
1、打开软件进入页面,点击文件-新建-文件-C++ Source File。2、输入预处理命令和主函数:#include<stdio.h>\/*输入输出头文件*\/void main()\/*空类型:主函数*\/。3、定义变量和数组的数据输入10个数:int a[10],i,t;\/*定义变量和数组数据类型为整型*\/printf("输入10个整数:");\/*输出文字提...

输入10个整数按照由大到小的顺序如何输出C语言编写?
输入10个整数按照由大到小的顺序输出C语言编写具体如下:include<isostream.h> void main()int data[10];cout<<endl<<;for(i=0;i<10;i++)cin>>data[10];define SIZE(sizeof(data)\/sizeof(data(0))for(m=0;m<SIZE-1;m++){ int j=m;for(int i=m+1;i<SIZE;I++)if(data[i...

C语言编程输入10个整数存入数组a中然后按从打到小的顺序排序并输
编写一个C语言程序,用于输入10个整数存入数组a中,然后按照从大到小的顺序排序并输出。程序实现步骤如下:首先,引入必要的头文件<stdio.h>。接着,使用int main()函数作为程序的主入口。在主函数内部,定义一个整数型数组a[10]和两个整数变量i和j。使用for循环,从0到9遍历数组,输入每个元素的值...

c语言输入10个整数,将这10个数按绝对值由大到小排序输出
N 10int main(int argc, char *argv[]){int a[N];int i,j,t;for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=i+1;j<N;j++){if(abs(a[i])<abs(a[j])){t=a[i];a[i]=a[j];a[j]=t;}}for(i=0;i<N;i++)printf("%d ",a[...

C语言用选择法对10个整数按从大到小排序。10个整数用scanf函数...
min]=temp;} \\x0d\\x0aprintf("\\n从大到小排列是:\\n"); \/\/输出字符\\x0d\\x0afor(i=10;i>=1;i--) \/\/循环输出按大小排列的数据\\x0d\\x0aprintf("%5d",a[i]);\\x0d\\x0aprintf("\\n");\/\/每输出一个数据换行\\x0d\\x0a} ...

C语言程序设计: 从用户输入10个整数,对其按照从小到大的顺序排序,并输...
min = arr[i];int c;for(j=i;j < 10;j++){if(arr[j] < min){min = arr[j];mini = j;}}c = arr[i];arr[i] = min;arr[mini] = c;}for(i = 0;i < 10;i++){printf("%d ",arr[i]);}}如果有需要,可以增加随机生成功能。看不懂可以继续追问或是私信。望采纳。

如何用c语言编一段程序,实现对10个整数进行排序?
scanf("%d",&a[i]); \/\/输入10个数 } printf("\\n");printf("The orginal numbers:\\n");for (i=0;i<10;i++) \/\/在c语言中,数组的下标从0开始 printf("%5d",a[i]); \/\/输出这10个数 printf("\\n"); \/\/以下8行是对这10个数排序 for (i=0;i<10;i++){min=i;for(j=i...

相似回答