用选择排序陪败陆法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:
#include<stdio.h>
int main()
{
int i,j,a[10],t
printf("输入数")
for (i = 0i <10i++)
scanf("%d",&a[i])
for (i = 0i <10i++)
{
for (j = i + 1j <10j++)
if (a[i] <a[j]){
t = a[i]
a[i] = a[j]
a[j] = t
}
}
printf("从大到小")
for (i = 0i <10i++)
printf("%2d", a[i])
return 0
}
扩展资料:
代码还可以设计,如下:
#include<stdio.h>
int main()
{
for(i=0i<10i++){
scanf("%d",&a[i])//给数组赋值
}
for(i=0i<9i++)//10个数,进行9轮比较
for(j=0j<10-ij++){//第一个数比较9次,依次递减
if(a[j]>a[j+1]) {//交换值
t=a[j]
a[j]=a[j+1]
a[j+1]=t
}
}
for(i=0i<10i++){
printf("%d\n",a[i])//输出数组芦顷的值
}
return 0
}
}
printf("the sorted numbers:\n")
for(i=0i<10i++)
printf(" %d",a[i])
printf("\n")
}
参考资料:百枯悉度百科-printf
源程序以及算法注释如下:
#define _CRT_SECURE_NO_WARNINGS//VS编译环境需要进行宏定义,VC6.0可忽略
#include<stdio.h>//输入输出头文件
int main()
{
int number[10], New_number[10]//定义数组的数据类型为整型
int i, j, m, n, k//定义变量的数据类型为整型
printf("input 10 <int>number:")//文字提示
for (i = 0i <= 9i++)//用循环输入此敬数值给数组number并赋给数组New_number
{
scanf("%d", &number[i])//输入敏伍10个整形数字到数组中
New_number[i] = number[i]//数组number元素赋给数组New_number
}
for (n = 0n <= 8n++)//要进行(10-1)组比较
for (j = 0j <= 8 - nj++)//每组进行(10减第几组森拿慎)次比较
{
if (number[j] >number[j + 1])//比较大小并将小的赋给前面的数组
{
k = number[j]//将相对较大的元素赋值给中间元素
number[j] = number[j + 1]//将相对较小的元素送达前面一个位置
number[j + 1] = k//将中间变量元素送给后面一个位置
}
if (New_number[j] <New_number[j + 1])//比较大小并将大的赋给前面的数组
{
k = New_number[j + 1]//将相对较小的元素赋值给中间元素
New_number[j + 1] = New_number[j]//将相对较大的元素送达前面一个位置
New_number[j] = k//将中间变量元素送给后面一个位置
}
}
printf("min-->max:\n")//文字提示
for (m = 0m <= 9m++)//依次从小到大输出
printf("%d ", number[m])//输出元素
printf("\n")
printf("max-->min:\n")//文字提示
for (m = 0m <= 9m++)//依次从大到小输出
printf("%d ", New_number[m])//输出元素
printf("\n")
return 0
}
程序运行结果如下:
扩展资料:
其他简单实现程序:
#include<stdio.h>
int main()
{
int a[10]={0}
int i,j,temp
for(i = 0i<10i++)
{
scanf("%d",&a[i])
}
for(i = 0i<10i++)
{
for(j = 0j<10-i-1j++)
{
if(a[j]>a[j+1])
{
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
}
}
}
for(i = 0i<10i++)
printf("%d ",a[i])
return 0
}
#include <stdio.h>
main()
{
int x
printf("请输入要排序数字个数:")
scanf("%d",&x)
int i,j,k,a,b,num[x]
printf("输入数据:")
for(i=0i<xi++)
scanf("%d",&num[i])
for(j=0j<xj++)
{
for(k=j+1k<xk++)
if(num[k]>num[j])
{
a=num[j]
num[j]=num[k]
num[k]=a
}
}
for(b=0b<xb++)
printf("%d ",num[b])
return 0
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:让明敬
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种坦慎格式。如下例所示:
#include&ltmath.h&gt//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件槐嫌扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)