C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数

#include <stdio.h>

#define sum 3+4//宏定义是原封不动的使用used for test4

#include <time.h>//used for test8~9

#include <stdlib.h>//used for test8~9

void test(){//数组输出

    //int a[5]={1,2,3,4,5};

    printf("array output,look,please... ");

    int a[10];

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

    printf("a[10]={");

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

        a[i]=i;

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

    }

    printf("}");

}

void test1(){//输入数组

    int a[5];

    printf(" array input(just the number in the brackets),look please... ");

    scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);//可以无限输入但是只录入前五个,后面的作为一个整体。忽视掉。

    

    for (int j=0; j<5; j++) {

        

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

    }

}

void test2(){//冒泡排序法

    printf(" 冒泡排序法: ");

    int a[4]={34,45,12,53};

    for (int k=0;k<4; k++) {

        for (int l=k+1;l<4; l++) {

            if (a[k]<a[l]) {

                int temp=a[l];

                a[l]=a[k];

                a[k]=temp;

            }

        }printf("%d,",a[k]);

    }

}

void test3(){//沉底排序法

    printf(" 沉底排序法: ");

    int a[4]={34,45,12,53};

    for (int k=0;k<4; k++) {

        for (int l=k+1;l<4; l++) {

            if (a[k]>a[l]) {

                int temp=a[l];

                a[l]=a[k];

                a[k]=temp;

            }

        }printf("%d,",a[k]);

    }

}

void test4(){

    printf(" 宏定义使用: ");

    int b=3;

    printf("%d ",b*sum);

}

void test5(){//二维数组输出

    printf("二维数组输出,look here,please... ");

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

   // int c[2][5]={{0,1,2,3,4},{5,6,7,8,9}};

    for (int i=0; i<2; i++) {

        for (int j=0;j<5;j++) {

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

        }printf(" ");

    }

    

}

void test6(){

    printf("二维数组一维输出 ");

    int a[4][4]={{32,3,454,56},{65,67,565,45},{423,343,34,27},{4,5,6,56}};

    int i,j = 0;//在for内部定义的话,在外部不能用。

    for ( i=0; i<4; i++) {

        for ( j=0;j<4;j++) {

            printf("a[%d]=%d  ",i*4+j,a[i][j]);

        }

    }

    printf(" a[%d]={",i*j);

    for (int i=0; i<4; i++) {

        for (int j=0;j<4;j++) {

            if (i==3 && j==3) {//判断去除最后的逗号

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

            }

            else

            printf("%d,",a[i][j]);//输出附带相邻逗号;

        }

    }

    printf(" ");

    printf("} ");

}

void test7(){//输出字母列长度;

char a[]="hello";

    printf("%s ",a);

    printf("%d ",(int)sizeof(a));

    char b='A';

    printf("%d ",(int)sizeof(b));

}

void test8(){//已知一个数组int a[100],存放的数是1~99的数,里面有一个重复的数字,找出这个数字。

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

    for (int i; i<10; i++) {

        for (int j=i+1; j<10; j++) {

            if (a[i]==a[j]) {

                printf("重复的数字为:%d ",a[i]);

            }

        }

    }

}

void test9(){//输入一个数字判断是不是重复过。

    int a[10]={1,2,3,4,2,4,5,3,3,9};

    int b;

    while (1) {

        printf("Insert the number you want to check,please... ");

        scanf("%d",&b);

        int j=0;

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

            if(a[i]==b){

                j=j+1;

            }

        }

        if (j>=2) {

            printf("%d重复过,重复次数为%d ",b,j);

        }

        else if (j==1)printf("%d只出现了一次 ",b);

        else printf("%d一次都没出现过,亲",b);

    }

}

void test10(){//随机产生100个数输出其中任何一对相同的数。

    srand((unsigned int)time(0));

    int a[100],i,j;

    for(int i = 0; i < 100; i++){

        a[i] = rand()%100 + 1;

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

    }

    printf("out over. ");

    for (i=0; i<100; i++) {

        for (j=i+1; j<100; j++) {

            if (a[i]==a[j]) {

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

            }

        }printf(" ");

    }

}

int main(int argc, const char * argv[]) {

    printf("Hello, World! ");

    test();

    test1();

    test2();

    test3();

    test4();

    test5();

    test6();

    test7();

    test8();

    test9();

    test10();

    return 0;

}

原文地址:https://www.cnblogs.com/OIMM/p/4695707.html