问题:用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:\n", ROWS, COLS);
i = 0;
while (i < ROWS) {
j = 0;
while (j < COLS) {
if (scanf("%d", &num) == 1) {
a[i][j] = num;
j++;
}
}
i ++;
}
printf("\n");
printf("Max: %d\n", funMax(a,4));
printf("Min: %d\n", funMin(a,4));
printf("Average: %g\n", 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个数:\n",i+1,j+1);
scanf("%d",&array[i][j]);
sum += array[i][j];
}
}
printf("所输入数组为:\n");
for(i=0; i<=3; i++)
{
for(j=0;j<=3;j++)
{
printf("%d\t",array[i][j]);
}
printf("\n");
}
printf("这个数组的和为:%d\n",sum);
}