首页 > 代码库 > 1-16作业

1-16作业

《第 04 讲:一维数组》

1. (*)先调试,调试成功后抄写下列程序: #include <stdio.h>
#define SIZE 10
int main(int argc, char *argv[])

{
int a[SIZE] = {0},i= 0;

for(i = 0; i < SIZE; i++){a[i] = i+10;

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

return 0;}

2. (*)将第一题中的数组a反向输出。

3. (*)对第一题中的数组进行求和操作,打印计算结果。4. (**)计算第一题数组连减,打印计算结果。

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

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

7. (***)给定某年某月某日,输出其为这一年的第几天。
8. (**)编写整型值数组排序程序(冒泡排序、选择排序、快速排序--升序)

int a[] = {3,-9,32,77,63,-24,14,0,21,45};9、(***)找出下列整型数组中最大和最小值及其所在位置 i。

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

10、(*)把 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!”

11、(**)找出下面程序的错误:

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

char string[10], str1[10]; int i;
for(i = 0; i < 10; i++)
{

str1[i] = ‘a‘;}

strcpy(string, str1);}

12、(**)下面这个程序执行后会有什么错误或者效果:int main(int argc, char *argv[])
{

unsigned char str[10], i;for(i = 0; i < 256; i++)str[i] = i;

 

//

//  main.m

//  第4讲:一维数组

//

//  Created by lanouhn on 15/1/16.

//  Copyright (c) 2015年 lanouhn. All rights reserved.

//

 

#import <Foundation/Foundation.h>

#define SIZE 10

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

    //1.

//    int a[SIZE] = {0}, i = 0;

//    for (i = 0; i < SIZE; i++) {

//        a[i] = i + 10;

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

//    }

    //2.

//    int a[SIZE] = {0};

//    for (int i = SIZE - 1; i >= 0; i--) {

//        a[i] = i + 10;

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

//    }

//    printf("\n");

    

    //3.

//    int a[SIZE] = {0}, i = 0, sum = 0;

//    for (i = 0; i < SIZE; i++) {

//        a[i] = i + 10;

//        sum = sum + a[i];

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

//    }

//    printf("sum = %d\n", sum);

    

    //4.

//    int a[SIZE] = {0}, i = 0, sub = 0;

//    for (i = 0; i < SIZE; i++) {

//        a[i] = i + 10;

//        sub = sub - a[i];

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

//    }

//    sub = sub + a[0];

//    printf("sub = %d\n", sub);

    

    //5.

//    int a[20] = {0}, sum = 0, max = 0, min = 0;

//    float avg = 0.0;

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

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

//        sum = sum + a[i];

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

//        }

//    avg = sum / 20;

//    printf("\n");

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

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

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

//                int x = a[j];

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

//                a[j + 1] = x;

//            }

//        }

//    }

//    printf("max = %d\nmin = %d\navg = %.2f\nsum = %d\n", a[20 - 1], a[0], avg, sum);

    

    //6.

//    int a[5] = {0}, b[5] = {0};

//    printf("请输入a数组的五个数:"),

//    scanf("%d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4]);

//    printf("请输入b数组的五个数:");

//    scanf("%d %d %d %d %d", &b[0], &b[1], &b[2], &b[3], &b[4]);

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

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

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

//                int x = a[j];

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

//                a[j +1] = x;

//                }

//            if (b[j] > b[j + 1]) {

//                int y = b[j];

//                b[j] = b[j + 1];

//                b[j + 1] = y;

//            }

//        }

//    }

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

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

//    }

//    int c[10] = {0};

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

//        if(i == 5) {  c[k] = b[j]; j++; }

//        else if (j == 5)  {  c[k] = a[i]; i++; }

//        else if (a[i] > b[j])  {  c[k] = b[j]; j++; }

//        else  {  c[k] = a[i]; i++; }

//    }

//  

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

//        printf("c[%d] = %d\n", o, c[o]);

//    }

    //7.

//    int year = 0, mouth = 0,day = 0, days = 0, a = 0;

//    printf("请输入日期:");

//    scanf("%d %d %d", &year, &mouth, &day);

//    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {

//        a = 1;

//    } else {

//        a = 0;

//    }

//    if (a == 1) {

//        int a[12] = {31, 29, 31, 30, 31,30, 31, 31,30, 31, 30, 31 };

//        for (int i = 0;i < mouth - 1  ; i++) {

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

//            }

//        days = days + day;

//    } else if (a == 0) {

//        if (mouth > 2) {

//            int a[12] = {31, 28, 31, 30, 31,30, 31, 31,30, 31, 30, 31 };

//            for (int i = 0;i < mouth - 1  ; i++) {

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

//        }

//        }

//    }

//    printf("该年是这年的第%d天\n", days);

//    

//    

//    

    

 

    

    //8.

//    int a[] ={3, -9, 32, 77, 63, -24, 14, 0, 21, 45};

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

//        for (int j = 0; j < 10-1 -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("a[%d] = %d ", i, a[i]);

//    }

//    printf("\n");

    

    //9.

//    int a[] ={3, -9, 32, 77, 63, -24, 14, 0, 21, 45};

//    int b[10] = {0};

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

//        b[i] = a[i];

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

//    }

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

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

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

//                int temp = a[j];

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

//                a[j + 1] = temp;

//            }

//        }

//    }

//    

//    printf("\n");

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

//        if (b[i] == a[0]) {

//            printf("最小值为a[%d],在数组中是第%d个数\n", i, i + 1);

//        }

//        if (b[i] == a[9]) {

//            printf("最大值为a[%d],在数组中是第%d个数\n", i, i + 1);

//        }

//    }

    //10.

//    char result[50] = {0};

//    char str1[] = "Lanou";

//    char str2[] = " 18_class";

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

//    strcat(result, str1);

//    strcat(result, str2);

//    strcat(result, str3);

//    printf("result[50] = %s\n",result);

    

    //11.

//    char string[10], str1[10];

//    int i;

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

//    {

//        str1[i] = ‘a‘; }

//    strcpy(string, str1);

//    printf("string[10] = %s\n",string);

//    printf("str1[10] = %s\n",str1);

//    

    //12.

//    unsigned char str[10];

//    int i;

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

//        str[i] = i;

//    }

//    printf("str[10] = %s", str);

//    

//    

 return 0;

}

 

 

 

 

1-16作业