使用C语言编写程序对数据进行排序
C语言是一种强大的编程软件,使用十分广泛,用户众多,也是学习其他语言的基础。我作为一个C语言忠实粉丝,以一些常见的C程序来剖析C语言的格式和结构,希望能够为广大初学者提供一点启发和帮助。
对于从键盘输入的10个任意整型数据,按由小到大的方式进行排序输出。涉及的知识点有输入语句(scanf)、输出语句(printf)、数组知识、循环结构(for)、分支结构(if),还有算法方面的技能技巧。
程序思路:从键盘输入10个整型数据存入数组中,利用循环结构对数组中数据两两比较,利用分支结构完成比较时的条件设置,数据大小的排序和位置交换(这是核心的程序部分)。将排序后数据以数组方式由小到大输出。
#includestdio.h//加载标准输入输出头文件。
intmain()//定义整型主函数。
{
inta,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);//显示数组中的数据。
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]);//输出调整次序后的数组
return0;
}
排序源程序
#includestdio.h
intmain()
{
inta,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);
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]);
return0;
}
谢谢看到这朋友,我会持续输出更多的有趣C程序。