使用C语言编写程序对数据进行排序

使用C语言编写程序对数据进行排序

C语言是一种强大的编程软件,使用十分广泛,用户众多,也是学习其他语言的基础。我作为一个C语言忠实粉丝,以一些常见的C程序来剖析C语言的格式和结构,希望能够为广大初学者提供一点启发和帮助。

对于从键盘输入的10个任意整型数据,按由小到大的方式进行排序输出。涉及的知识点有输入语句(scanf)、输出语句(printf)、数组知识、循环结构(for)、分支结构(if),还有算法方面的技能技巧。

程序思路:从键盘输入10个整型数据存入数组中,利用循环结构对数组中数据两两比较,利用分支结构完成比较时的条件设置,数据大小的排序和位置交换(这是核心的程序部分)。将排序后数据以数组方式由小到大输出。


#include //加载标准输入输出头文件。

int main()//定义整型主函数。

{

int a,b,c,x,y,t,sz[10];//定义整型变量和数组变量。

for(a=1;a<=10;a++)//循环体,用来确定数组的个数。

{

printf("请输入第%d个数;",a);//屏幕提示信息。

scanf("%d",&sz[a-1]);//键盘输入的数据存入数组。

}

for(b=0;b<=9;b++)//控制循环。

printf("%d\n",sz[b]);//显示数组中的数据。

for(x=0;x<=9;x++) //外层循环,10次。

for(y=1+x;y<=9;y++)//内循环,涉及到算法,1+x逐一比较。

{

if(sz[x]>sz[y])//分支条件

{

t=sz[y];//利用t变量对于满足条的进行交换。

sz[y]=sz[x];//

sz[x]=t;}//

}

for(c=0;c<=9;c++)//循环,排序后用于输出

printf("%d ",sz[c]);//输出调整次序后的数组

return 0;

}

排序源程序

#include

int main()

{

int a,b,c,x,y,t,sz[10];

for(a=1;a<=10;a++)

{

printf("请输入第%d个数;",a);

scanf("%d",&sz[a-1]);

}

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

printf("%d\n",sz[b]);

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


for(y=1+x;y<=9;y++)

{

if(sz[x]>sz[y])

{

t=sz[y];

sz[y]=sz[x];

sz[x]=t;}

}

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

printf("%d ",sz[c]);

return 0;

}

谢谢看到这朋友,我会持续输出更多的有趣C程序。

原文链接:,转发请注明来源!