㈠ c语言程序设计: 从用户输入10个整数,对其按照从小到大的顺序排序,并输出结果。
//要求任意输入10个数,然后按从小到大顺序输出
#include<stdio.h>
int main()
{
int a[10];
int i,j;
int temp;
printf("请输入10个整数:");
for(i=0;i<10;i++)
{
scanf("%d",&a<i>);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排列后顺序为:");
for(i=0;i<10;i++)
{
printf("%d",a<i>);
}
printf(" ");
return 0;
}
(1)c语言数字排序程序扩展阅读:
①printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
②printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
㈡ C语言中将三个数字进行排序的几种写法
方法1:用3个变量存放3个数字,按从大到小的顺序排:
int a,b,c,tmp;
printf("请输入3个数字:");
scanf("%d%d%d",&a,&b,&c);
if(a<b)//如果a比b小,交换a和b的值,使a存放大的数字
{
tmp=a;
a=b;
b=tmp;
}
if(a<c)//如果a比c小,交换a和c的值,使a存放大的数字
{
tmp=a;
a=c;
c=tmp;
}
if(b<c)//如果b比c小,交换b和c的值,使b存放大的数字
{
tmp=b;
b=c;
c=tmp;
}
printf("按照从大到小的顺序为:%d,%d,%d ",a,b,c);
方法2:用数组存放3个变量,用冒泡排序的方法进行排序
int i=0,j=0,tmp=0,a[3];
printf("请输入3个数字:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
for(j=0;j<2-i;j++)
if(a[i]<a[i+1])//按照从大到小排列
{
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
}
printf("按照从大到小的顺序为:");
for(i=0;i<3;i++)
printf("%d ",&a[i]);
printf(" ");
㈢ 用C语言编程:用选择法对10个整数排序,10个整数用scanf函数输入
1、打开visual C++ 6.0,准备一个空白的c语言文件,引入头文件,在main函数中定义变量和数组:
㈣ C语言数字排序
输入scanf是用的变量地址
&x
&y
&z
输出时,是用的变量x,
y,
z
所以sort3要改变这3个变量地址(指针)指向的值
#include
<stdio.h>
void
sort3(double
*x,
double
*y,
double
*z);
int
main(int
argc,
char
*argv[]){
double
x,y,z;
if(scanf("%lf
%lf
%lf",&x,&y,&z)==3){
sort3(&x,&y,&z);
printf("%lf\n%lf\n%lf\n",x,y,z);
}else{
fprintf(stderr,"Error:
Incorrect
format\n");
}
return
0;
}
void
sort3(double
*x,
double
*y,
double
*z){
double
a
=
*x,
b
=
*y,
c
=
*z;
printf("a:%f
b:%f
c:%f\n",a,
b,
c);//testing
if(*x
>
*y)
{
a
=
*y;
b
=
*x;
}
if(c
<
a)
{
*x
=
c;
*y
=
a;
*z
=
b;
}
else
if(c
<
b)
{
*x
=
a;
*y
=
c;
*z
=
b;
}
else
{
*x
=
a;
*y
=
b;
*z
=
c;
}
printf("sorted
numbers:\n");//testing
printf("%f
%f
%f\n",*x,
*y,
*z);//testing
}
㈤ 用c语言编写:实现一个用户输入的数字进行排序的程序。
#include <stdio.h>
void main()
{
int j,a[100],k,x;
int num=0,i=0;
printf("如果你想结束数字的输入,请输入-1\n");
printf("请输入数字");
scanf("%d",&x);
while(x!=-1)
{
a[num]=x;
num=num+1;
if(num>=10){printf("你最多只能输入100个数字\n");break;}
printf("请输入数字");
scanf("%d",&x);
}//输入数据,并且存到数组a中
printf("1----按升序排序\n");
printf("2----按降序排序\n");
printf("请输入你的选择:");
scanf("%d",&k);
while(k>2 || k<1)
{
printf("你的输入有误,请从新输入:");
printf("1----按升序排序\n");
printf("2----按降序排序\n");
scanf("%d",&k);
}
if(k==1)
{
for(i=0;i<num-1;i++)
for(j=i+1;j<num;j++)
if (a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
else
{
for(i=0;i<num-1;i++)
for(j=i+1;j<num;j++)
if (a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
printf("排序的结果\n");
for(i=0;i<num;i++)
printf("%d\n",a[i]);
}
㈥ C语言--怎样实现输入任意几个数排序
把循环次数改成你想要的数就可以了。
比如上面你的程序,for语句中的i<=9,这个9改成你想要的次数。另一种方法,这个次数也作为一个变量从键盘输入,这样适应性相对来说好一些,不用每次都编译程序。
提醒,如果是大批量的输入数据,用键盘逐个输入数据是比较低效和低准确率的方法,通常采用数据文件(比如一个文本文件)的方式。
你能问出这个问题来,说明你对上面的代码还没有理解透彻,好好学习吧。
----------------------------------------------------
对于lz的补充的回答:
我前面说的:另一种方法,这个次数也作为一个变量从键盘输入,这样适应性相对来说好一些,不用每次都编译程序。
但是有一个问题,就是C不支持动态定义数组。解决方法两种:一、定义一个足够大的数组(但有越界的可能,程序里要做判断和控制)。二、使用动态内存分配,可以从根本上解决此问题。
还有一种折中的办法,就是对排序数定义一个宏,程序中的循环都使用这个宏来控制循环,如果排序数量更改了,虽然需要重新编译程序,但是也很好修改,只要改这个宏的数值就可以了。
㈦ 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;
}
(7)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语言设计程序排列6个数字的大小顺序
排序数组可以使用冒泡算法:如果前一个数据比后一个大,则交换。
{
int i,j,t,a[6];
printf("Please input 6 integers: ");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++) /* 冒泡法排序 */
for(j=0;j<6-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];/* 交换a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
}
优点:
简洁紧凑、灵活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
以上内容参考:网络-c语言程序设计
㈨ c语言编程: 将一组数按从大到小的顺序排序
#include <stdio.h>
main()
{
int x;
printf("请输入要排序数字个数:");
scanf("%d",&x);
int i,j,k,a,b,num[x];
printf("输入数据:");
for(i=0;i<x;i++)
scanf("%d",&num[i]);
for(j=0;j<x;j++)
{
for(k=j+1;k<x;k++)
if(num[k]>num[j])
{
a=num[j];
num[j]=num[k];
num[k]=a;
}
}
for(b=0;b<x;b++)
printf("%d ",num[b]);
return 0;
}
(9)c语言数字排序程序扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。