C语言 数组内数字比较大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 数组内数字比较大小相关的知识,希望对你有一定的参考价值。

int t,i,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
if(a[i]>a[i+1])

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


for(i=0;i<10;i++)
printf("%d,",a[i]);
这段程序那里出错了。。。求不出来啊

1、首先打开CodeBlocks。

2、创建一个新项目。项目语言,选择“c”。

3、我们将项目名称命名为“MaxNum”,然后下一步,“finish”。

4、打开 “main.c”文件。

5、用数组将10个数存入其中即可。开始,创建一个整型(int)有10个空间的数组nums。然后,定义一个循环变量i。

6、在for循环中,用来接收用户输入的数字,将其存到数组中。其中for循环10次。

7、完成以上代码,就是完成了接收10个数的功能完成了。

8、我们用for循环十次。同时每次循环,判断max与相应的的数进行比较。如果max小于那个数,那么就将那个数赋值给max。以此类推,循环10次就是 max和所有数都进行了比较和优选。

参考技术A

#include<stdio.h>

voidmain()

inta[10]=10,2,3,4,5,6,9,8,7,1;

inti,j,t;

for(j=0;j<10;j++)

for(i=0;i<10-1-j;i++)

if(a[i]>a[i+1])/*由小到大,由大到小时改为<*/

t=a[i];

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

a[i+1]=t;

for(i=0;i<10;i++)

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

扩展资料

C语言数组长度获取

#include<stdio.h>

#include<stdlib.h>

#defineGET_ARRAY_LEN(array,len)len=(sizeof(array)/sizeof(array[0]));

//定义一个带参数的宏,将数组长度存储在变量len中

intmain()

chara[]='1','2','3','4';

intlen;

GET_ARRAY_LEN(a,len)

//调用预定义的宏,取得数组a的长度,并将其存储在变量len中

printf("%d\\n",len);

system("pause");

return0;

参考技术B

#include<stdio.h>

int main()

    int a[100]=0;

    int tmp=0;

    int i,j;

    int num;

    printf("please input your num:");

    scanf("%d",&num);

    for(i=0;i<num;i++)

        scanf("%d",&a[i]);

    for(j=0;j<num;j++)        //此处是关键:要依次比较一趟

        for(i=0;i<num-j;i++)        //每一个循环都要依次比较一趟

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

                tmp=a[i];

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

                a[i+1]=tmp;

           

       

   

    for(i=0;i<num;i++)

        printf("%d\\n",a[i]);

    return 0;

参考技术C 冒泡法的程序是这样的:
#include <stdio.h>
#define N 6
main()

int a[10];
int i,j,t;
printf("input N numbers:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<N-1;j++)/*进行N-1次循环,实现N-1次比较,设置N=6,则需要进行5次比较,即一个数只要跟其他5个数比较*/
for(i=0;i<N-1-j;i++)/*在每一趟中进行N-1-j次比较*/
if(a[i]>a[i+1])

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

for(i=0;i<N;i++)
printf("%d ",a[i]);

j=0时,经过i=0,1,2,3,4的循环比较,最大的数已经放到了a[5]里面;
j=1时,因为最大的数已经在a[5]里面了,剩下的5个数只需进行N-1-j=4次的比较,把第二大的数放到a[4]里面;
j=2时,最大的数和第二大的数分别在a[5]、a[4]里面了,剩下的4个数所以只需进行N-1-j=3次比较,把第三大的数放到a[3]里面;
j=3时,第一、第二、第三大的数分别在a[5]、a[4]、a[3]里面,剩下的3个数所以只需进行N-1-j=2次比较,把第四大的数放到a[2]里面;
j=4时,第一、第二、第三、第四大的数分别在a[5]、a[4]、a[3]、a[2]里面,剩下的两个数只需进行N-1-j=1次比较就可以把第五大的数放到a[1]里面,然后a[0]存最小的数。本回答被提问者采纳
参考技术D void bubble_sort(int *x,int n)

  

  int j,k,h,t;

  for (h=n-1,h=k; h>0; h--) /*循环到没有比较范围*/

  

  for (j=0,k=0; j<h; j++) /*每次预置k=0,循环扫描后更新k*/

  

  if (*(x+j) > *(x+j+1)) /*大的放在后面,小的放到前面*/

  

  t = *(x+j);

  *(x+j) = *(x+j+1);

  *(x+j+1) = t; /*完成交换*/

  k = j; /*保存最后下沉的位置。这样k后面的都是排序排好了的。*/

  

  

  

  
int main()


int t,i,a[N];
for(i=0;i<N;i++)
scanf("%d",&a[i]);
bubble_sort(a, 10);
for(i=0;i<10;i++)
printf("%d,",a[i]);

以上是关于C语言 数组内数字比较大小的主要内容,如果未能解决你的问题,请参考以下文章

C语言比较字符串大小

c语言 怎么比较字符串中内容的大小,内容是数字

JAVA如何比较两数组大小

C语言编程-用数组方法编写函数strcmp,比较两个字符串的大小。

C语言中如何限定一个数的大小,如不得大于10000

C语言基础编程问题:比较5个数字的大小