实验4

实验结论

Part1-Part4.

1.数组名作为函数参数时,形参、实参的语法形式书写注意事项,函数调用和参数传递过程

函数声明和函数定义中,函数名init后面括号里出现的是形式参数,数组名后面要加[ ]。

即: void init(int a[], int n, int value);

函数调用中,函数名init后面括号里出现的是实际参数,直接写数组名。

即: init(b, N, -1);

 

2.对冒泡法排序算法的理解,尤其是边界条件的理解和归纳总结

注意从0开始,边界条件也有相应改变 

 

Part5.编程练习

1.补全程序,查找一组整型数据的最大值。

#include<stdio.h>
#include<stdlib.h>
int findMax(int a[], int n);
    const int N = 5;
    int main() {
        int a[N];
        int max, i;
        printf("please print %d integer: \n", N);
        for (i = 0; i < N; i++)
            scanf_s("%d", &a[i]);
        max = findMax(a, N);
        printf("the max in the array a is: %d\n\n", max);
        system("pause");
        return 0;
    }
    int findMax(int a[], int n) {
        int i, j, max;
        max = a[0];
        for (i = 0; i < N; i++) {
            if (a[i] > max) {
                max = a[i];
            }
        }
        return max;
    }

 

2.补全程序,使用冒泡法对字符数组由大到小排序.

#include<stdio.h>
#include<stdlib.h>
const int N = 4;
void output(char x[], int n); 
void sort(char x[], int n);
int main() {
    char string[N] = { '2','0','1','9' };
    int i;
    printf("\nbefore sorting: \n");
    output(string, N);
    sort(string, N);
    printf("\nafter sorting: \n");
    output(string, N);
    printf("\n");
    system("pause");
    return 0;
}
void output(char x[], int n) {
    int i;
    for (i = 0; i < N; i++)
        printf("%c", x[i]);
}
void sort(char x[], int n) {
    int i, j,k;
    for (i = 0; i< n - 1; i++) {
        for (j = 0; j < n - 1 - i; j++) {
            if (x[j] < x[j + 1]) {
                k = x[j];
                x[j] = x[j + 1];
                x[j + 1] = k;
            }
        }
    }
}

 

实验总结与体会

这次赶在交作业之前写,匆忙之余还是需要再看看,写的全程都在照着课本对照写,对这玩意还是不太熟。概念好新。

posted @ 2019-04-25 22:51  blublum  阅读(101)  评论(1编辑  收藏  举报