C语言编程填空题和算法分析题求答案,急

马上就要参加专升本考试了,求大神指点,给出具体解析... 马上就要参加专升本考试了,求大神指点,给出具体解析 展开
 我来答
匿名用户
2019-03-17
展开全部

第一题:

#include <stdio.h>       
       
long fun(int n) { // 计算1到n 所有数的乘积 1 * 2 * 3 *...n   
    long fac= 1;
    int i;      
    for (i = 1; i <= n; i ++) {   
        fac *= i;        
    }  
    return fac; 
}      
       
int main(void) {
    int i;      
    long sum = 0;        
    for (i = 1; i < 4; i += 2) { // 循环 2次  i = 1 3        
        sum = sum + fun(i);       
    }  
    printf("sum=%ld\n", sum);     
    return 0;   
}

第二题:

#include <stdio.h>         
    
 // 元素首位交换位置       
void fun(int x[], int n) { 
    int i, j, temp;        
    i = 0; j = n - 1;      
    while (i < j) {        
        temp = x[i];       
        x[i] = x[j];       
        x[j] = temp;       
        i ++;   
        j --;   
    }           
}   
    
int main(void) {
    int x[] = {1, 2, 3, 4, 5, 6};      
    fun(x, 6);  
    for (int i = 0; i < 6; i ++) {     
        printf("%2d", x[i]);           
    }           
    // 运行结果  6 5 4 3 2 1           
      
    return 0;   
}

第三题:

#include <stdio.h>    
 
double fun(double x[3][4]) {
    int i, j;         
    double sum = 0;   
    for (i = 0; i < 3; i ++) {             
        for (j = 0; j < 4; j ++) {         
            sum = sum + x[i][j];           
        }             
    }  
    return sum / 12;  
}
int main(void) {      
    double x[3][4] = {{1.2, 3.1}, {6.5}, {2.6, 8.9}}, ave;      
    ave = fun(x);           
    printf("ave=%lf\n", ave);              
    return 0;         
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式