C语言编程
编写程序,由键盘输入n,求 10 ∑n! n=1
变量s 定义为整形是不行的 一旦你输入一个较大的数据进去 就会出错 我编了一个 可以参考一下的 main() { int a,b,n; double t=1,s=0; printf("please input a number:"); scanf("%d",&n); for(a=1;a<=n;a++) for(b=1;b<=a;b++) t=t*b; s=s+t; printf("%ef",s); }
我也写一个。根据题目的意思,n只能为int型,否则n从1到10到底该累加几次,增量又是多少呢? #include "stdio。
h" unsigned int f1( int n) //计算阶乘 { if (n < 0) { printf("please check the input data\n"); return 1; } if (n == 0) return 0; if (n == 1) return 1; else return n * f1(n - 1); } main() { int n ; int i; unsigned sum = 0; printf("please input the number\n"); scanf("%d",&n); for ( i = 1; i <= n; i++) sum = sum + f1(i); printf("the Result is %ld\n",sum); } 。
上面小临风写的还可以了,但是有一些小错误。 我把正确的代码写在下面: #include int function(int n) { int i,a=1,s=0; for(i=1;i<=n;i++) { a=a*i; s=a+s; } return s; } void main() { int n,s; printf("input a number:"); scanf("%d",&n); if(n<=0) { printf("Error\n"); return; } s=function(n); printf("s=%d\n",s); return; } 上面的代码我已经调试通过了,证明是可以的。
#include "stdio" int function(int n) { int i,a=1s=0; for(i=1;i<=n;i++) { a=a*i; s=a+s; } return s; } void main() { int n,s;//可以定义s为long型 scanf("input a number:%d",&n); if(n<=0) {printf("Error\n");return;} s=function(n); printf("s=%d\n",s); return; }
答:#include int a(int n) { int b=1; if(n>=1) b=n*a(n-1); return b; } void main() { ...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>