Ⅰ c语言如何输入十个数,按从大到小顺序排列!
用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:
#include<stdio.h>
int main()
{
int i,j,a[10],t;
printf("输入数");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10;j++)
if (a[i] < a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
printf("从大到小");
for (i = 0; i < 10; i++)
printf("%2d", a[i]);
return 0;
}
(1)选择法对十个整数排序c语言扩展阅读:
代码还可以设计,如下:
#include<stdio.h>
int main()
{
int a[10],i,j,t;//定义数组;
for(i=0;i<10;i++){
scanf("%d",&a[i]);//给数组赋值;
}
for(i=0;i<9;i++)//10个数,进行9轮比较;
for(j=0;j<10-i;j++){//第一个数比较9次,依次递减;
if(a[j]>a[j+1]) {//交换值;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);//输出数组的值;
}
return 0;
}
}
printf("the sorted numbers: ");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf(" ");
}
Ⅱ C语言程序 用选择法对十个数排序
#include <stdio.h>
int main()
{int i,j,min,temp,a[11];
printf("enter data: ");
for (i=1;i<=10;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf(" ");
printf("The orginal numbers: ");
for (i=1;i<=10;i++)
printf("%5d",a[i]);
printf(" ");
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(" The sorted numbers: ");
for (i=1;i<=10;i++)
printf("%5d",a[i]);
printf(" ");
return 0;
}
空白字符
空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止。
非空白字符
一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
Ⅲ 用选择法对十个整数排序,用c语言,要完整的完整的程序
#include "Stdio.h"
void sa(int array[],int n)
{
int i,j,k,temp;
for(i=0;i<10;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
temp=array[k];
array[k]=array[i];
array[i]=temp;
}
}
int main()
{
void sa(int array[],int n);
int array[10],i;
printf("enter the array: ");
for(i=0;i<10;i++)
scanf("%d",&array[i]);
sa(array,10);
printf("the sorted array: ");
for(i=0;i<10;i++)
printf("%d ",array[i]);
printf(" ");
return 0;
}
Ⅳ C语言用选择法对10个整数按从大到小排序怎么做
#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");//每输出一个数据换行
}
Ⅳ C语言 怎么样用选择法对10个整数排序
选择法排序是一种简单的容易实现的对数据排序的算法。
以整形数组元素为例,有数组A[10],即A[0],A[1],…,A[8],A[9](假设其元素均互不相同)。要求对其元素排序使之递增有序。
首先以一个元素为基准,从一个方向开始扫描,比如从左至右扫描,以A[0]为基准。
接下来从A[0],…,A[9]中找出最小的元素,将其与A[0]交换。
然后将基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。
一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。
main()
{ int array[10];
//给数组初始化!
int i,j,k,temp;
for(i=0;i<10-1;i++) {
k=i;
for(j=i+1;j<10;j++)
if (array[j]<array[k]) k=j ;
temp=array[k];array[k]=array;array=temp;
}
}
Ⅵ C语言怎么用选择法对10个整数排序
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int a[10]={7,9,1,5,3,4,2,8,0,6},b[10]={2,8,0,6,5,3,4,7,9,1},i,j,k;
for(i=0;i<10;i++){//选择法对a由小到大排序
for(k=i,j=k+1;j<10;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
j=a[k],a[k]=a[i],a[i]=j;
printf("%2d",a[i]);//输出a
}
putchar(' ');
for(i=0;i<10;i++)//冒泡法对b由大到小排序
for(j=0;j<9;j++)
if(b[j]<b[j+1])
k=b[j],b[j]=b[j+1],b[j+1]=k;
for(i=0;i<10;printf("%2d",b[i++]));
putchar(' ');
return 0;
}
可以比较它们的异同……
Ⅶ C语言编程题:用选择法对10个整数排序
#include<stdio.h>
int main()
{
int i,j,min,t,a[10]={2,4,8,3,6,9,7,222,64,88};
printf("排序前的序列为: ");
for(i=0;i<10;i++)//输出排序前的序列
{
printf("%5d",a<i>);
}
printf(" ");
for(i=0;i<9;i++)
{
min=i;//把每次循环的第一个数作为最小值
for(j=i+1;j<10;j++)
{
if(a[min]>a[j])
min=j;//交换
}
if(min!=i)//说明第一个数不是最小数,所以将a[i+1]~a[10]中最小值与a<i>对换
{
t=a[min];
a[min]=a<i>;
a<i>=t;
}
}
printf("排序后的序列为: ");
for(i=0;i<10;i++)//输出排序后的序列
printf("%5d",a<i>);
printf(" ");
return 0;
}
(7)选择法对十个整数排序c语言扩展阅读:
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
Ⅷ 用选择法怎么对10个整数排序
用选择法对10个整数排序,用scanf输入。如下:
# include<stdio.h>
int main()
{
int i,j,min,temp,a[10];
printf("enter data: ");
for (i=0;i<10;i++)
{
printf("please enter ten numbers: ");
scanf("%d",&a[i]);//输入10个数
}
printf(" ");
printf("The orginal numbers: ");
for (i=0;i<10;i++) //在c语言中,数组的下标从0开始
printf("%5d",a[i]);//输出这10个数
printf(" ");//以下8行是对这10个数排序
for (i=0;i<10;i++)
{min=i;
for(j=i+1;j<10;j++)
if (a[min]>a[j]) min=j;
temp=a[i];//以下3行将a[i+1]~a[10]中最小值与a[i]对换
a[i]=a[min];
a[min]=temp;
}
printf(" The sorted numbers: ");//输出已排好序的10个数
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf(" ");
return 0;
}
选择排序原理:
用maxPos标记区间中首元素位置,然后用后序元素依次与maxPos标记的元素进行比较,如果有元素大于maxPos位置的元素,用maxPos标记该元素的位置,直到区间的末尾。
该趟选择完成后,即找到该区间中最大元素,如果maxPos标记的最大元素不在区间末尾,用maxPos位置元素与区间末尾的元素进行交换。继续新一趟选择,直到区间中剩余一个元素。