标题:求1!+2!+……+10!,不知道是哪里错了,求高手指点!
只看楼主
Merry_sf
Rank: 2
等 级:论坛游民
帖 子:30
专家分:24
注 册:2012-12-9
得分:0 
回复 16楼 TonyDeng
嗯 +1  一般写mian()函数体外 写前面
2013-03-09 19:43
tremere
Rank: 6Rank: 6
来 自:火星
等 级:侠之大者
帖 子:223
专家分:432
注 册:2013-3-11
得分:0 
编译那不是告诉你了么,都是些小问题。

极品菜鸟,来学习啦,啦啦啦啦啦啦啦。。。
2013-03-11 10:17
yeyumeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:7
注 册:2013-3-11
得分:0 
去买本c语言的书看看吧,里面一般都有这种案例
2013-03-11 11:25
yzz91
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2012-11-13
得分:0 
#include<stdio.h>
void main(){
    int f(int p);
    int n , s;
    scanf("%d",&n);
    s=f(n);
    printf("s=%d\n",s);
}
int f(int p){
    int m = 1,s = 0,i;
    for( i = 1;i<=p; i++){
        m = m * i;
        s = s + m;
    }
    return (s);
}



for语句中声明变量是老版的c语言,现在不可以,c++语言中可以声明,而且在c++中可随时随地声明变量。。。
2013-03-11 15:30
yzz91
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2012-11-13
得分:0 
书中的函数递归调用可以解决这个问题程序如下:
#include <stdio.h>
int fact(int n)
{ int p;
   if(n==1)
       p=1;
   else
       p=n*fact(n-1);
   return(p);
   }
void main()
   { int i,sum=0,n;
     scanf("%d",&n);
     for(i=1;i<=n;i++)
        sum+=fact(i);
       printf("%d\n",sum);
   }
2013-03-11 15:39
神话岁月
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-11
得分:0 
编译器的问题   把i在外面重新定义
2013-03-11 16:38
wyx410694500
Rank: 2
等 级:论坛游民
帖 子:7
专家分:11
注 册:2013-3-11
得分:0 
#include<stdio.h>
 int f(int p);
 void main()
 {
   
     int n , s;
     while(scanf("%d",&n)==1)
     {
     s=f(n);
     printf("s=%d\n",s);
     }
 }
 int f(int p)
 {
     int n = 1,s = 0,i;
     for( i = 1;i<=p; i++)
     {
         s = s + n;
         n = n + 1;
     }
     return s;
 }
这是帮你改过的, int i  声明要写在外面。  另外帮你加了循环  ,可以重复输入。
2013-03-11 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399923-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.114317 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved