在c语言中用排序法写程序

C语言排序程序写法

#include stdio.h

void main()

{

int i,j,num=0;

float a[200],t;

while (scanf(“%f”,a[num]) != EOF)

{

num++;

}

for(j=0;jnum;j++)

for(i=0;inum-1-j;i++)

if(a[i]a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

for(i=0;inum;i++)

printf(“%g “,a[i]);

}

在c语言中用排序法写程序

如何用c语言编写冒泡排序的程序?

对拥有 n 个元素的数组 R[n] 进行 n-1 轮比较。

第一轮,逐个比较 (R[1], R[2]),  (R[2], R[3]),  (R[3], R[4]),  …….  (R[N-1], R[N]),最大的元素被移动到 R[n] 上。

第二轮,逐个比较 (R[1], R[2]),  (R[2], R[3]),  (R[3], R[4]),  …….  (R[N-2], R[N-1]),次大的元素被移动到 R[n-1] 上。

。。。。。。

以此类推,直到整个数组从小到大排序。

具体的代码实现如下所示:

#include stdio.h

int main(){

int nums[10] = {4, 5, 2, 10, 7, 1, 8, 3, 6, 9};

int i, j, temp;

//冒泡排序算法:进行 n-1 轮比较

for(i=0; i10-1; i++){

//每一轮比较前 n-1-i 个,也就是说,已经排序好的最后 i 个不用比较

for(j=0; j10-1-i; j++){

if(nums[j] nums[j+1]){

temp = nums[j];

nums[j] = nums[j+1];

nums[j+1] = temp;

}

}

}

//输出排序后的数组

for(i=0; i10; i++)

{

printf(“%d “, nums[i]);

}

printf(“\n”);

return 0;

}

编写C语言程序,把一个数组按从小到大的次序排列起来

源程序以及算法注释如下:

#define _CRT_SECURE_NO_WARNINGS//VS编译环境需要进行宏定义,VC6.0可忽略

#includestdio.h//输入输出头文件

int main()

{

int number[10], New_number[10];//定义数组的数据类型为整型

int i, j, m, n, k;//定义变量的数据类型为整型

printf(“input 10 int number:”);//文字提示

for (i = 0; i = 9; i++)//用循环输入数值给数组number并赋给数组New_number

{

scanf(“%d”, number[i]);//输入10个整形数字到数组中

New_number[i] = number[i];//数组number元素赋给数组New_number

}

for (n = 0; n = 8; n++)//要进行(10-1)组比较

for (j = 0; j = 8 – n; j++)//每组进行(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 = 0; m = 9; m++)//依次从小到大输出

printf(“%d “, number[m]);//输出元素

printf(“\n”);

printf(“max–min:\n”);//文字提示

for (m = 0; m = 9; m++)//依次从大到小输出

printf(“%d “, New_number[m]);//输出元素

printf(“\n”);

return 0;

}

程序运行结果如下:

扩展资料:

其他简单实现程序:

#includestdio.h

int main()

{

int a[10]={0};

int i,j,temp;

for(i = 0;i10;i++)

{

scanf(“%d”,a[i]);

}

for(i = 0;i10;i++)

{

for(j = 0;j10-i-1;j++)

{

if(a[j]a[j+1])

{

temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

}

}

}

for(i = 0;i10;i++)

printf(“%d “,a[i]);

return 0;

}

如何用C语言编写一个排序程序

楼上的用的是C++

若单纯的用C那就是这样

#includestdio.h

#define

print

“NO.%d

%d

%d

%d

%d

%3.2f

%3.2f\n”,1+i,stu[i].num,stu[i].mat,stu[i].ENG,stu[i].com,stu[i].aver,stu[i].total//宏定义节约时间

struct

student

{

int

num;

int

mat;

int

ENG;

int

com;

float

aver;

float

total;

}stu[10];//定义结构体变量

void

main()

{

int

i;

void

take_turn_print(struct

student

stu1[10])

;

float

sum(int

x,int

y,int

z);//声明求和函数

for(i=0;i10;i++)

scanf(“%d%d%d%d”,stu[i].num,stu[i].mat,stu[i].ENG,stu[i].com);

for(i=0;i10;i++)

{

stu[i].total=sum(stu[i].mat,stu[i].ENG,stu[i].com);//调用求和函数

stu[i].aver=stu[i].total/3;

}

take_turn_print(stu);//调用排序

打印函数

}

void

take_turn_print(struct

student

stu1[10])

{

void

change(int

*x,int

*y);//声明换位函数

void

change1(float

*x,float

*y);//声明换位函数

int

i,j;

for(j=0;j9;j++)//冒泡排序

为理解简单

就没用别的排序方法

哈哈

{

for(i=0;i9-j;i++)

{

if(stu1[i].averstu1[i+1].aver)

{

change(stu1[i].num,stu1[i+1].num);//

值交换

change(stu1[i].mat,stu1[i+1].mat);//

值交换

change(stu1[i].ENG,stu1[i+1].ENG);//

值交换

change(stu1[i].com,stu1[i+1].com);//

值交换

change1(stu1[i].aver,stu1[i+1].aver);//

值交换

change1(stu1[i].total,stu1[i+1].total);//

值交换

}

}

}

for(i=0;i10;i++)

printf(print);//打印

}

void

change(int

*x,int

*y)

{

int

i;

i=*x;

*x=*y;

*y=i;//利用指针做变量替换

}

void

change1(float

*x,float

*y)

{

float

i;

i=*x;

*x=*y;

*y=i;//利用指针做变量替换

}

float

sum(int

x,int

y,int

z)

{

float

i;

i=(float)(x+y+z);

return(i);

}

前几天也是帮同学做这样的题

一模一样

看来你也是WH大学的

如何用c语言编写一个程序,实现按从大到小的顺序排序输出10个数

用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:

#includestdio.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;

}

扩展资料:

代码还可以设计,如下:

#includestdio.h

int main()

{

int a[10],i,j,t;//定义数组;

for(i=0;i10;i++){

scanf(“%d”,a[i]);//给数组赋值;

}

for(i=0;i9;i++)//10个数,进行9轮比较;

for(j=0;j10-i;j++){//第一个数比较9次,依次递减;

if(a[j]a[j+1]) {//交换值;

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

for(i=0;i10;i++){

printf(“%d\n”,a[i]);//输出数组的值;

}

return 0;

}

}

printf(“the sorted numbers:\n”);

for(i=0;i10;i++)

printf(” %d”,a[i]);

printf(“\n”);

}

参考资料:百度百科-printf

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月26日 12:17:35
下一篇 2024年3月26日 12:23:47

相关推荐

  • c语言判断正整数,c语言判断某整数是正整数,负整数还是零

    c语言怎么判断一个数是不是整数 以数学方法为例,按照数学规则,如果在2~n-1中存在因子,则n不是素数。否则n为素数。参考代码如下:intis_prime(intn)//判断n是否为素数。 C语言要求参与模运算符两端的数,必须是整型类数据,如:char short int long, unsigned这些类型,不能是浮点类型数据。 在 C 语言中,我们可以使…

    2024年5月14日
    4100
  • c语言控件怎么学,c语言控制台怎么打开

    如何学习C语言? 学习方法是:课前预习,课后复习,认真做课堂、课后的作业,理解理论知识。记住语法规则。加强逻辑思维。多动手,通过练习上机了解它的运行过程。 学习c语言的方法如下:首先阅读和理解现有的程序,一般是教材资料的程序,每个程序都必须亲手打一遍。在输入代码的同时,一定要了解每一个语句的意义和运算符号的意义。 一是学习顺序 先从熟悉简单的C语言语法开始入…

    2024年5月14日
    3800
  • c语言二进制打开文件,c++二进制打开文件

    c语言怎么用二进制方式读取文件 步骤如下:数据流:程序与数据间的交互是以流的形式进行。在C语言文件存取时,打开文件操作,关闭数据流。缓冲区:程序执行时,提供的额外内存以暂时存放数据。缓冲区作用是为了提高存取效率,内存的存取速度比磁盘快。 C语言中二进制文件的读取要用fread和fwrite来实现。 fwrite()与fprintf()是不同的。 fwrite…

    2024年5月14日
    3900
  • c语言的基础代码,c语言的基础代码有哪些

    求C语言基础代码 例如,最、最简单的 C 语言基础代码就是:很多 C 语言教材上的第一个程序,输出:Hello, World !。 步骤1:编写代码 首先,您需要编写C语言代码。您可以使用任何文本编辑器,例如Notepad、SublimeText或VisualStudioCode。将代码保存为“filename.c”。步骤2:打开终端 打开终端或命令提示符窗…

    2024年5月14日
    3100
  • c语言int4字节c,c语言int45

    C语言中,int什么时候占2个字节,什么时候占4个字节 1、早期的时候,int占两个字节,后来到32位系统,占四个字节,但有的编译环境中还是占2个字节。 2、在C/C++语言中,int和long int的所占的字节数与编译器有关。不过现在常用的编译器多认为int和long int相同,均为4字节,short为2字节,char为1字节。如果只输入int,它是可…

    2024年5月14日
    4100
  • c语言获取进程信息,c语言获取进程pid

    C语言怎么样通过进程名把它对应的内存里的数据取出来呀!!!取出来之后… 要读取内存数据的话,只能通过指针,你只能通过自己定义一个int的指针,让他指向一个内存地址,然后通过*指针的形式读出来。 首先要明确windows 的内存管理方式, (在 windows XP 非 3GB enabled)。 内存中的数据显然是以二进制形式存放的。C语言用格式…

    2024年5月14日
    3100
  • c语言中实现数组输出,c语言中数组输出怎么表示

    c语言字符串数组怎么输入和输出呢 1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。 2、新建一个 字符串数组的定义与输出项目。添加一个 str.c 文件。包含stdio.h和stdlib.h头文件。输入main函数主体,system()和返回…

    2024年5月14日
    3800
  • c语言输入输出一维数组,c语言输出一维数组次大值

    用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数… 1、C语言输入十个数的编程方法如下:首先需要定义一个整型数组空间,因为这里需要输入十个数,所以数组空间为10个。接着定义一个最大值Max,初始默认值为0,这个用于后续值的比较。 2、C语言通过输入十个整数然后分别顺序和逆序输出的编程思想和方法如下:首先需要定义一个整型数组用…

    2024年5月14日
    3600
  • c语言非语句,非在c语言中怎么表示

    C语言逻辑或与非的用法 1、在C语言中逻辑或用||表示。举例:a||b(其中a、b都代表一个条件)如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假。逻辑非 在C语言中逻辑非用!表示。 2、非(NOT)逻辑非运算,仅有一个运算操作数,所以是一元逻辑运算。运算规则:一变零,零变一。即操作数为1时结果为0,操作数为0时结果为1。 3、)逻辑与 &#8…

    2024年5月14日
    3200
  • wincc的c语言库函数,c语言画图的库函数

    c语言中的库函数是如何使用的,最好有例子 1、首先在打开的C语言数据库中,输入【#include】,如下图所示。然后输入尖括号,如下图所示。接下来便可以输入函数库名,如下图所示。也可以使用双引号引起来,如下图所示。 2、调用函数:要在程序中使用函数,您需要在代码中调用它。调用函数时,提供函数所需的参数,并使用返回值(如果有的话)来处理结果。int resul…

    2024年5月14日
    3100

发表回复

登录后才能评论



关注微信