实验四

1.实验结论

      Part 1~Part 4 总结体会:

                    1.在发生函数调用时,形参只能是变量,且只有在调用时,计算机才给它分配内存单元,调用结束则释放分配单元,即其只在内部有效;实参则可以是变量常量等都可以,且其必须有确定的值。形参和实参必须数量相等,形式相同。函数调用前须先前声明定义函数,在需要使用函数计算时引用函数,而函数的具体内容则在主函数外。参数在主程序中一般不含有实际值,其最后的运算结果由代入函数的形式参数经过函数运算后返回得出。

                    2.对多个元素使用冒泡排序法,若对象数量较多,显然应该设计循环简化运算。依次比较两个元素并交换它们的位置,最后的到目的的排列顺序,设计时要注意主函数,引用函数和循环结构的边界位置,否则容易形成错误。

                   3.菜是原罪。

      Part 5 编程练习

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);
    // 利用循环输入N个整数给数组a
    // 补足程序1
    for(i=0;i<=4;i++)
       scanf("%d",&a[i]);
       max=findMax(a,4);
       printf("数组a中最大元素值为: %d\n\n", max);

    return 0;
}
// 调用子函数max求数组a的最大元素值,并赋值给max
// 补足程序2
int findMax(int a[],int n){
    int i,t;
    for (i=1;i<n+1;i++)
    {      
        if(a[i]<a[i-1])
        {
            t=a[i-1];
            a[i-1]=a[i];
            a[i]=t;
        }
    return a[n];
    }
}

 

因为一个<=和<花费了很久修改,运行结果如图:

2.

  

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

运行结果:

——End——

 

转载于:https://www.cnblogs.com/tedyoung1/p/10770891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值