实验四

Part1-Part4

1.该部分程序演示了数组的运行,其内存地址是连续的,一个数据占用的字节数是4,一个字符型数据占用的字节是1 ,可以用sizeof计算,这样就能节约更多空间简化计算,也能更清楚的明白数组的数据存放时连续的;

2.在输入时要注意时什么类型的数组,对应的输入要改变%d还是%c或是其他的类型;

3。数组的好处是可以简化输入让其变得更加简单理解,避免重复的操作,这一点我觉得和循环有点类似,但他们又不一样,数组仅仅是定义一连串的输入,而循环是可以执行的语句等等操作;

4.若是想赋值0,可以让其初始化,不需要重复输入0;

5.但是对于函数形势参量和实际参量我还是有点不清楚,对于它先是把赋值给了实际参量,若是定义了一个函数中包含数组,那么他们的对应关系,以及结束以后是哪一个变量消失,实际的赋值又是给了哪一个变量我还不太明白;

6.冒泡法进行排序的过程经过老师的解释可以明白过程算法,但是自己写还是不行,对于要-1这一点也只有一个模糊的概念,我知道数组的下标是从0开始的,我觉得不应该-1,但是不这样计算又有一个数据总是不对,我还是要再试试看,加深理解。

Part5

#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 b[],int m)
{
    int max=b[0],k;
    for(k=0;k<m;k++)     
    {
    if(b[k]>max)
    max=b[k];
    }
    return max;
}

#include <stdio.h>
const int N=4;
void output(char x[], int n); 
void bubbleSort(char x[],int n);
int main() 
{
    char string[N] = {'2','0','1','9'};
    int i;
    printf("排序前: \n");
    output(string, N);
    bubbleSort(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 bubbleSort(char x[],int n)
{
    int i,j;
    char 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;
    }
     }
      } 
 }

 

第二个实验的比较大小是看了前面的冒泡法,只是把数字型数据改成了字符型数据,再比较他们的大小,我对于二重循环这种嵌套使用的语句还是不太熟练每次自己写的时候都会乱套,老师告诉我要先把自己的循环在纸上写出来,找出每层循环的规律,对于冒泡法我有点看不懂,所以只能照搬了,我也会再试着理解的,只不过这次作业时间比较紧张,我没办法自己写出来,但是我会自己尝试的。

 

 

https://www.cnblogs.com/super123-/p/10757555.html

https://www.cnblogs.com/shauifan/p/10765723.html

https://www.cnblogs.com/mgl1999/p/10765879.html

 

posted @ 2019-04-25 16:18  asjuv  阅读(102)  评论(1)    收藏  举报