递归函数求n和求数组所有元素之和的问题
问题:用c求2!+4!+6!+8!+10!用递归函数求n!
答案:
问题:请编写一个程序,输入一个4*4的整型二维数组,求该数组所有元素之和,并输出。
答案1:
答案:
#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); }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: VB中如何读取txt文件的数据
- 下一篇: 计算一个数组所有元素之和(方法总结)