icing

导航

实验四

part1~3(在实验课都有仔细操作,时间原因就没再放出来了):

1.数组是类型相同的一组数据构成的,在内存中连续存放。

2.数组元素在使用时多初始化。当对所有数组元素初始化的时候,可以省略数组大小。只初始化一部分元素时,没有被初始化的元素值,默认为0。

3.sizeof(a)计算数组a占用的总的字节数,而sizeof(a[0])计算数组元素a[0]占用的字节数。可以用sizeof(a) / sizeof(a[0])计算数组元素的个数。

4.函数声明和函数定义中,函数名init后面是形式参数,数组名后面要加[ ]。而函数调用中,函数名init后面是实际参数,直接写数组名。

part4:

#include<stdio.h>
int findMax(int a[], int n);
const int N=5;    
int main(){
    int a[N];
    int max,i;
    printf("输入%d个整数:\n",N);
    for(i=0; i<N; i++)     
       scanf("%d",&a[i]);       
   
    max=findMax(a,N);
        
    printf("数组a中最大元素值为: %d\n\n",max);
    return 0;

}
int findMax(int a[], int n){
    int i,j,max,t;
 
    for(i=0;i<n-1;i++){
        for(j=0;j<n-1-i;j++){
            if(a[j] >= a[j+1]){
                max = a[j];    
                t = max;
                a[j] = t;
            }
            else{
                max = a[j+1];
                t = max;
                a[j] = t;
            }                    
        }
    }
   return max;
}

 (这个数据截错了。。。)

#include <stdio.h>
const int N=4;
void output(char x[], int n); 
void Line(char [],int);

int main() {
    char string[N] = {'2','0','1','9'};
    int i;
    
    printf("排序前: \n");
    output(string, N);
       
    Line(string,N);
    
    printf("\n排序后: \n"); 
    output(string, N);
    
    printf("\n");
    return 0;    
} 


void output(char x[], int n) {
    int i;
    
    for(i=0; i<N; i++)
        printf("%c", x[i]);
} 
void Line(char x[],int n){
    int i,j,t;
    for(i=0;i<n-1;i++){
        for(j=0;j<n-1-i;j++){
            if(x[j]<x[j+1]){
                t=x[j];
                x[j]=x[j+1];
                x[j+1]=t; 
            }
        }
    } 
}

 

总结:这次实验完成时间少了很多,自己认为还有很多待改进,真实情况是deadline已经到了。。。在数组剩余内容学习中应当进行更深刻的认识。(尴尬)

对于子函数调用后返回值还有些迷惑,自己写函数都是对着书依葫芦画瓢,没有灵活理解运用。

 

观摩三位同学:

https://www.cnblogs.com/plisetsky/p/10769388.html

https://www.cnblogs.com/fanlock/p/10771891.html

https://www.cnblogs.com/zmh1977/p/10771868.html

posted on 2019-04-25 23:56  icing  阅读(124)  评论(1编辑  收藏  举报