C语言-4

#import <Foundation/Foundation.h>

//定义一个整形数组array,有10个元素,给每个数组元素进行赋值([30,70]之间的随机数),并输出.

void demo1(){

    int array[10];

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

        array[i] = arc4random() % (70 -30 + 1) +30;

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

    }

}

//编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组。

void demo2(){

    int array1[5];

    int array2[5];

    int array3[10];

    printf("请输入 5个元素\n");

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

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

    }

    printf("请再次输入 5个元素\n");

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

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

    }

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

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

            if (array1[j] > array1[j +1]) {

                int temp = array1[j];

                array1[j] = array1[j +1];

                array1[j + 1] = temp;

            }

            if (array2[j] > array2[j +1]) {

                int temp = array2[j];

                array2[j] = array2[j +1];

                array2[j + 1] = temp;

            }

        }

    }

    /*

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

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

    }

    printf("\n");

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

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

    }

     */

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

        if (i <5) {

            array3[i] = array1[i];

        }else array3[i] = array2[i-5];

    }

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

        for (int j =0; j < 9 - i; j++) {

            if (array3[j] > array3[j +1]) {

                int temp = array3[j];

                array3[j] = array3[j +1];

                array3[j + 1] = temp;

            }

        }

    }

    

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

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

            }

    

}

//随机产生20个10~50的正整数存放到数组中,并求数组中的元素最大值、最小值、平均值及各元素之和。

void demo3(){

    int array[20];

    int max =0;

    int min =51;

    float ave =0;

    float sum =0;

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

        array[i] = arc4random() % 41 +10;

        max = max > array[i] ? max : array[i];

        min = min < array[i] ? min : array[i];

        sum += array[i];

    }

    ave = sum / 20;

//    for (int i = 0; i < 20; i++) {

//        printf("%d ", array[i]);

//    }

    printf("最大值是:%d 最小值是 :%d  平均值是:%.2f   和是:%.0f ", max,min,ave,sum);

}

//找出下列整型数组中最大和最小值及其所在位置i。

void demo4(){

    int a[] = {5,-9,32,88,88,-24,14,0,21,45};

    int b[] = {5,-9,32,88,88,-24,14,0,21,45};

    int max =0;

    int min =0;

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

        for (int j =0; j < 9 - i; j++) {

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

                int temp = a[j];

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

                a[j + 1] = temp;

            }

        }

    }

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

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

    //

    //    }

    

    max = a[sizeof(a)/sizeof(int)-1];//sizeof(a)/sizeof(int)字符数组的长度

    min = a[0];

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

        if (b[i] == max) {

            printf("最大值是:%d 位置是:第%d个   ", max,i+1);

        }

        if (b[i] == min) {

            printf("最小值是:%d 位置是:第%d个", min,i+1);

        }

        

    }

    /*

把str1, str2, str3合并到result数组中。

char result[50] = {0};

char str1[] = "Lanou ";

char str2[] = "23_class ";

char str3[] = " is niu best!";

结果:“Lanou 23_class is niu best!”

*/

void demo5(){

    char str1[] ="Lanou ";

    char str2[] ="23_class ";

    char str3[] =" is niu best!";

    char result[50] ={0} ;

    strcat(result, str1);

    strcat(result, str2);

    strcat(result, str3);

//    printf("%s",result);

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

        printf("%c", result[i]);

    }

}

//下面这个程序执行后会有什么错误或者效果

void demo6(){

   

        char string[10], str1[10];

        int i;

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

        {

            str1[i] = 'a';

        }

        strcpy(string, str1);

//    printf("%s", string);

//    for (int j =0; j < 10; j++) {

//        printf("%d ", string[j]);

//    }

    //程序运行之后不会有任何提示 字符串以\0作为结束标志题目上赋值10个数值所以没有空间储存结束符 程序会一直执行占用内存

}

void demo7(){

    unsignedchar str[10], i;

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

        str[i] = i;

//数组越界 i应该定义为int 类型的

}

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

{

//     demo1();

//     demo2();

//     demo3();

//     demo4();

//     demo5();

//     demo6();

//     demo7();

//20遍冒泡

    /*

    int i = 0;

        printf("第%d遍\n",++i);

        int array1[5];

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

            array1[i] = arc4random() % (40 - 10 + 1) + 10;

        }

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

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

                if (array1[j] > array1[j + 1]) {

                    int temp = array1[j];

                    array1[j] = array1[j + 1];

                    array1[j + 1] = temp;

                }

            }

        }

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

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

        }

    

    printf("\n第%d遍\n",++i);

    int array2[6];

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

        array2[i] = arc4random() % 41;

    }

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

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

            if (array2[j] > array2[j + 1]) {

                int temp = array2[j];

                array2[j] = array2[j+1];

                array2[j+1] = temp;

            }

        }

    }

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

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

    }

 

    printf("\n第%d遍\n",++i);

    int array3[9];

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

        array3[i] = arc4random() % (80 - 10 + 1) + 10;

    }

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

        for (int j = 0; j < 8 - i; j++) {

            if (array3[j] > array3[j + 1]) {

                int temp = array3[j];

                array3[j] = array3[j + 1];

                array3[j + 1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array4[11];

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

        array4[i] = arc4random() % 31 + 20;

    }

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

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

            if (array4[j] > array4[j + 1]) {

                int temp = array4[j];

                array4[j] = array4[j + 1];

                array4[j + 1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array5[7];

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

        array5[i] = arc4random() % 51 + 10;

    }

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

        for (int j = 0; j < 6 - i; j++) {

            if (array5[j] > array5[j + 1]) {

                int temp = array5[j + 1];

                array5[j + 1] = array5[j];

                array5[j] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array6[6];

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

        array6[i] = arc4random() % 81 + 20;

    }

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

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

            if (array6[j] > array6[j + 1]) {

                int temp = array6[j];

                array6[j] = array6[j + 1];

                array6[j + 1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array7[7];

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

        array7[i] = arc4random() % 71 + 10;

    }

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

        for (int j = 0; j < 6 - i; j++) {

            if (array7[j] > array7[j + 1]) {

                int temp = array7[j];

                array7[j]= array7[j + 1];

                array7[j + 1] = temp;

            }

        }

    }

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

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

    }

    printf("\n第%d遍\n",++i);

    

    int array8[8];

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

        array8[i] = arc4random() % 81 + 10;

    }

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

        for (int j = 0; j < 7 - i; j++) {

            if (array8[j] > array8[j + 1]) {

                int temp = array8[j];

                array8[j] = array8[j + 1];

                array8[j + 1] = temp;

            }

        }

    }

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

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

    }

    printf("\n第%d遍\n",++i);

    

    int array9[9];

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

        array9[i] = arc4random() % 91 + 10;

    }

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

        for (int j = 0; j < 8 - i; j++) {

            if (array9[j] > array9[j + 1]) {

                int temp = array9[j];

                array9[j] = array9[j + 1];

                array9[j + 1] = temp;

            }

        }

    }

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

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

    }

    

    

    printf("\n第%d遍\n",++i);

    

    int array10[10];

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

        array10[i] = arc4random() % 101 + 10;

    }

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

        for (int j = 0; j < 9 - i; j++) {

            if (array10[j] > array10[j+1]) {

                int temp = array10[j];

                array10[j] =array10[j+1];

                array10[j+1] = temp;

            }

        }

    }

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

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

    }

 

 

    printf("\n第%d遍\n",++i);

    

    int array11[11];

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

        array11[i] = arc4random() % 101 + 10;

    }

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

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

            if (array11[j] > array11[j + 1]) {

                int temp = array11[j];

                array11[j] = array11[j + 1];

                array11[j + 1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array12[12];

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

        array12[i] = arc4random() % 111 + 10;

    }

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

        for (int j = 0; j < 11 - i; j++) {

            if (array12[j] > array12[j + 1]) {

                int temp = array12[j];

                array12[j] = array12[j + 1];

                array12[j + 1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    

    int array13[13];

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

        array13[i] = arc4random() % 121 +10;

    }

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

        for (int j = 0; j < 12 -i; j++) {

            if (array13[j] > array13[j+1]) {

                int temp = array13[j];

                array13[j] = array13[j + 1];

                array13[j + 1] = temp;

            }

        }

    }

    

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

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

    }

    printf("\n第%d遍\n",++i);

    

    int array14[14];

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

        array14[i] = arc4random() % 131 + 10;

    }

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

        for (int j = 0; j < 13 - i; j++) {

            if (array14[j] > array14[j + 1]) {

                int temp = array14[j];

                array14[j] = array14[j + 1];

                array14[j + 1] = temp;

            }

        }

    }

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

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

    }

 

    

    printf("\n第%d遍\n",++i);

    

    int array15[15];

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

        array15[i] = arc4random() %141 + 10;

    }

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

        for (int j = 0; j < 14 - i; j++) {

            if (array15[j] > array15[j+1]) {

                int temp = array15[j];

                array15[j]= array15[j+1];

                array15[j+1] = temp;

            }

        }

    }

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

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

    }

    printf("\n第%d遍\n",++i);

    

    int array16[16];

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

        array16[i] = arc4random() % 151 + 10;

    }

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

        for (int j = 0; j < 15 - i; j++) {

            if (array16[j]> array16[j + 1]) {

                int temp = array16[j];

                array16[j] = array16[j+1];

                array16[j+1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array17[17];

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

        array17[i] = arc4random() % 161 + 10;

    }

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

        for (int j = 0; j < 16 - i ; j++) {

            if (array17[j] > array17[j + 1]) {

                int temp = array17[j];

                array17[j] = array17[j + 1];

                array17[j + 1] = temp;

            }

        }

    }

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

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

    }

    printf("\n第%d遍\n",++i);

    

    int array18[18];

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

        array18[i] = arc4random() % 171 + 10;

    }

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

        for (int j = 0; j < 17 - i; j++) {

            if (array18[j] > array18[j+1]) {

                int temp = array18[j];

                array18[j] = array18[j + 1];

                array18[j+1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array19[19];

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

        array19[i] = arc4random() % 181 +10;

    }

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

        for (int j = 0; j < 18 - i; j++) {

            if (array19[j] > array19[j + 1]) {

                int temp = array19[j];

                array19[j] = array19[j + 1];

                array19[ j + 1] = temp;

            }

        }

    }

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

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

    }

    

    printf("\n第%d遍\n",++i);

    

    int array20[20];

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

        array20[i] = arc4random() % 191 +10;

    }

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

        for (int j = 0; j < 19 - i; j++) {

            if (array20[j] > array20[j + 1]) {

                int temp = array20[j];

                array20[j] = array20[j + 1];

                array20[j + 1] = temp;

            }

        }

    }

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

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

    }

*/

    return0;

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值