实验四

实验结论

part1-4

数组引用时方括号内整数是下标,且值必须在0~n-1之间;

未赋初值时,系统默认元素初始值为0;

 

part5 补足程序1

 

// 功能描述:输入一组整数,输出最大值
#include <stdio.h>
int findMax(int x[], int n); // 函数声明
const int N=5;
int main() {
int a[N];
int max, i;
printf("输入%d个整数: \n", N);
// 利用循环输入N个整数给数组a
// 补足程序1
for(i=0;i<N;i++)
scanf("%d",&a[i]);
// 调用子函数max求数组a的最大元素值,并赋值给max
// 补足程序2
max=findMax(a,N);
// 输出最大值
printf("数组a中最大元素值为: %d\n\n", max);
return 0;
}
// 函数定义
// 功能描述:找出整型数组a中元素的最大值,并返回次此最大值
// 补足函数findMax()的实现部分3
int findMax(int x[],int n){
    int i,max;
    max=x[0];
    for(i=0;i<n;i++){
        if(x[i]>=max)
        max=x[i];
            }    
    return max;
}

 

补足程序2

 

#include <stdio.h>
const int N=4;
void output(char x[], int n); // 函数声明
// 排序函数声明
// 补足代码1
void bubbleSort( char x[], int n);
int main() {
char string[N] = {'2','0','1','9'};
int i;
printf("排序前: \n");
output(string, N);
// 调用排序函数对字符数组中的字符由大到小排序
// 补足代码2
bubbleSort(string,N);
printf("\n排序后: \n");
output(string, N);
printf("\n");
return 0;
}
// 函数定义
// 函数功能描述:输出包含有n个元素的字符数组元素
// 形参:字符数组,以及字符数组元素个数
void output(char x[], int n) {
int i;
for(i=0; i<N; i++)
printf("%c", x[i]);
}
// 函数定义
// 函数功能描述:对一组字符由大到小排序
// 形参:字符数组,以及字符数组元素个数
// 补足代码3
void bubbleSort(char x[],int n){
    int i,j;
    char t;
    for(i=0;i<n-1;i++){
        for(j=0;j<n-i-1;j++){
            if(x[j]<x[j+1]){
                t=x[j];
                x[j]=x[j+1];
                x[j+1]=t; 
            }
        }
    }
}

 

冒泡法是在实验程序写着写着间突然领悟的,c语言果然是一门实践出真知的学科哇。

在补全第二个程序时因为是字符数组,所以开始时没有get到i,j,t到底应该用int 还是char,还是应该从原理出发,理解了冒泡法就自然而然明白了变量类型。

 

posted @ 2019-04-25 21:31  何蕊  阅读(108)  评论(2编辑  收藏  举报