实验四

Posted lsy17

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验四相关的知识,希望对你有一定的参考价值。

Part1-Part4总结

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

(其实我不算特别明白,如果说错还请大佬们批评指正......)

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

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

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

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

数组名标记了一个连续存储区域的首地址,作为参数传递时,将数组在内存中的存储地址作为参数来传递。函数操作的是指向同样一个存储区域中的数据,而不是数组本身的副本。

2.冒泡法总结

基本思想:两个相邻元素依次比较,将较大(较小)的元素放在后面(前面),直至最后一个数,此时完成了一趟冒泡;当所有的数都经过了比较和交换的操作后,就可以得到排好的次序了。

(PS:老师推荐的网站里那个解释冒泡排序法的动图 真的非常形象!我一开始虽然说大概理解了,但总觉得哪里还没想明白,看到那个动图我就恍然大悟了!)

 

Part5 编程练习

 1.查找一组整型数据的最大值

#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;
    max=a[0];
    for(i=0;i<N;i++)
    {
        if(a[i]>max){
        max=a[i];
        }
    }
    return max;
}

运行结果

技术图片

2.使用冒泡法对字符数组从大到到小排序

#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,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;
            }
        }
    }
       
}

运行结果

技术图片

小结:做这两道编程题的时候,虽然不是很顺利,中间还是会有很多bug,但总体感觉比以前好一点点点点了......那个冒泡排序法的程序,我觉得我还是要再吃透一下,感觉自己还没有掌握的非常好,输出最大数的那题,我还是不能很顺利地写出子函数的程序,还要回去看看我以前是怎么写类似程序的,这说明我还是没有完全理解输出最大数最小数的原理,我还是需要多多练习,多编几道程序,直到我自己能很顺利地写出来。加油吧!

以上是关于实验四的主要内容,如果未能解决你的问题,请参考以下文章

实验代码审查

实验代码审查

验证码逆向专栏极验三代四代点选类验证码逆向分析

验证码逆向专栏某验四代文字点选验证码逆向分析

实验四 代码审查

实验四 代码审查