牛骨文教育服务平台(让学习变的简单)
博文笔记

递归函数求n和求数组所有元素之和的问题

创建时间:2015-12-25 投稿人: 浏览次数:128
问题:用c求2!+4!+6!+8!+10!用递归函数求n!
答案:
#include<stdio.h>


int fac(int a) {
  if(a < 2)
    return a;
  return a * fac(a - 1);
}


int main() {
  int i, s = 0;;
  for(i = 2; i <= 10; i += 2)
    s = +fac(i);
  printf("%d", s);
  return 0;
}


问题:请编写一个程序,输入一个4*4的整型二维数组,求该数组所有元素之和,并输出。
答案1:
#include <stdio.h>
 
double funAverage(int *p, int n);
int funMax(int p[][3], int n);
int funMin(int (*p)[3], int n);
 
int main(int argc, char const *argv[])
{
    int a[4][3], num;
    size_t i, j, ROWS, COLS, totalnum;
 
    ROWS = sizeof(a)/sizeof(a[0]);
    COLS = sizeof(a[0])/sizeof(a[0][0]);
    totalnum = ROWS * COLS;
 
    printf("Input %dx%d integer matrix:
", ROWS, COLS);
    i = 0;
    while (i < ROWS) {        
        j = 0;
        while (j < COLS) {
            if (scanf("%d", &num) == 1) {
                a[i][j] = num;
                j++;
            }
        }    
        i ++;    
    }
 
    printf("
");
    printf("Max: %d
", funMax(a,4));
    printf("Min: %d
", funMin(a,4));
    printf("Average: %g
", funAverage(a[0],12));
    return 0;
}
 
double funAverage(int *p, int n) 
{
    int i;
    double sum = 0.0;
    for (i = 0; i < n; ++i)
        sum += p[i];
 
    return (double)(sum/n);
}
int funMax(int p[][3], int n)
{
    int i,j, cols, amax = p[0][0];
    cols = sizeof(p[0])/sizeof(p[0][0]);
 
    for (i = 0; i < n; ++i) 
        for (j = 0; j < cols; ++j)
            if (p[i][j] > amax) amax = p[i][j];
 
    return amax;    
}


答案2:

#include<stdio.h>
int main(int argc, char* argv[])
{
    int array[4][4] = {0};
    int i= 0;
    int j = 0;
    int sum = 0;
    for(i=0; i<=3; i++)
    {
        for(j=0;j<=3;j++)
        {
            printf("请输入第%d行,第%d个数:
",i+1,j+1); 
            scanf("%d",&array[i][j]);
            sum += array[i][j];
        }
    }
    printf("所输入数组为:
"); 
    
 for(i=0; i<=3; i++)
    {
        for(j=0;j<=3;j++)
        {
            printf("%d	",array[i][j]); 
        }
        printf("
"); 
    }
    printf("这个数组的和为:%d
",sum);
}



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。