| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 686 人关注过本帖, 1 人收藏
标题:求解一简单c语言例题?
只看楼主 加入收藏
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
结帖率:100%
收藏(1)
已结贴  问题点数:5 回复次数:9 
求解一简单c语言例题?
【例题】求1*2*3*4*5。(谭浩强c语言第二章例题1)
程序代码:
#include<stdio.h>
main()
{
  int i=1,j=2,k=3,
      m=4,n=5,s;
s=i*j*k*m*n;
printf("%d\n",s);
}


根据谭浩强说的运用新算法如何求解?求教各位LS

[ 本帖最后由 y515382 于 2011-7-24 13:36 编辑 ]
搜索更多相关主题的帖子: c语言 
2011-07-24 13:01
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
求教啊!!!
2011-07-24 13:20
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:2 
     #include <stdio.h>
    int main(void)
    {
        int n;
        printf("输入要计算的值:");
        scanf("%d",&n);
        int sum=1;
        for(int i=1;i<=n;i++)
            sum*=i;
        printf("1到%d的乘积是:%d\n",n,sum);
        return 0;
    }
2011-07-24 13:55
凌云木
Rank: 1
来 自:广东
等 级:新手上路
帖 子:25
专家分:3
注 册:2011-7-23
收藏
得分:0 
像楼上那样用循环就行了。

将疯狂进行到底!
2011-07-24 14:02
木0南
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2011-4-24
收藏
得分:0 
是120啊,怎么啦
2011-07-24 14:16
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
回复 3楼 loveshuang
我刚看了谭浩强的例题步骤不是这样的,
他是:这样的
S1: 使t=1
S2: 使i=2
S3: 使t×i, 乘积仍然放在在变量t中,可表示为t×i→t
S4: 使i的值+1,即i+1→i
S5: 如果i≤5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。
按这个步骤是怎么输出?求解
收到的鲜花
  • TonyDeng2011-07-24 15:00 送鲜花  2朵   附言:送你2分認真看看階乘是什麽數學原理!:)
2011-07-24 14:56
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
回复 5楼 木0南
嗯,是120,但是找另一种循环算法
2011-07-24 15:03
zjslwyp
Rank: 2
等 级:论坛游民
帖 子:42
专家分:76
注 册:2011-3-24
收藏
得分:3 
回复 6楼 y515382
按照你说的算法,这样写就可以了:
#include<stdio.h>
int main(void)
{
    int t=1,i;
    for(i=2;i<=5;i++)
        t*=i;
    printf("jie guo wei:%d\n",t);
    return 0;
}
2011-07-24 15:11
y515382
Rank: 2
等 级:论坛游民
帖 子:38
专家分:16
注 册:2011-7-9
收藏
得分:0 
回复 8楼 zjslwyp
嗯,是这样的,我自己写的时候把t=t*i放到for前面去了,然后得到的结果是乱七八糟的,呵呵
2011-07-24 15:14
_改变自己_
Rank: 2
等 级:论坛游民
帖 子:21
专家分:39
注 册:2011-7-26
收藏
得分:0 
程序代码:
#include<stdio.h>
void main()
{
    int sum,n;
    sum=5;/*给sum初值*/
    for(n=1;n<=5;n++)
        sum*=n;
    printf("sum is %d",sum);
}

也可以修改为
程序代码:
#include<stdio.h>
void main()
{
    int sum,n; 
    long max; /*1—max的积*/
    printf("input number:");
    scanf("%d",&max);
    sum=1;/*给sum初值*/
    for(n=1;n<=max;n++)/*n<=max为真执行sum*=n,n++;*/
        sum*=n;
    printf("sum is %d",sum);
}
求1到任意数的积,貌似最多就30,再大就要溢出咯

[ 本帖最后由 _改变自己_ 于 2011-7-26 23:03 编辑 ]
2011-07-26 22:54
快速回复:求解一简单c语言例题?
数据加载中...
 
   



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

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