| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:求大神解答计算阶乘时的一个小问题!!!!!!!!!!!
只看楼主 加入收藏
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
结帖率:80%
收藏
已结贴  问题点数:2 回复次数:14 
求大神解答计算阶乘时的一个小问题!!!!!!!!!!!
计算输入的两个数 m!+n!的和。但显示的不正确,不知道怎么了




#include<stdio.h>
#include<math.h>
int main()
{int a,c,sum=1,e,f,summ=1,g;
scanf("%d,%d",&a,&e);
c=a,f=e;
while(a>1)
    {sum=sum*a;
    a=a-1;
        }
while(e>1)
    {summ=summ*e;
    e=e-1;
        }
g=summ+sum;
printf("%d!+%d!=%d",c,f,g);

return 0;
}
搜索更多相关主题的帖子: include return 
2015-04-06 21:33
xueyujianke
Rank: 2
等 级:论坛游民
帖 子:8
专家分:41
注 册:2015-4-6
收藏
得分:0 
输入数字的时候是有逗号隔开了吗?用空格就是错的

本人初学者,请大家多多指教
2015-04-06 21:53
覃贤文
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-3-21
收藏
得分:0 
这个没错啊
2015-04-06 22:45
zhou78yang
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:18
专家分:100
注 册:2014-3-18
收藏
得分:0 
scanf("%d,%d",&a,&e)
scanf中引号的内容就是你需要输入的内容,你在里边打了逗号你就要输逗号,想要空格就改成%d%d
2015-04-06 23:42
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
回复 4楼 zhou78yang
是的。我是输入了逗号,问题不在这里。按理说显示的应该是比如3,8就是3!+8!=答案。但显示的是3!+一堆数字!=一堆数字。我也不知道为什么

喵 ~
2015-04-07 10:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
3 8
3!+8!=40326请按任意键继续. . .

实测没啥问题  (我去除了原代码中的逗号)

DO IT YOURSELF !
2015-04-07 10:29
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:2 
我用TC2.0试了,输入3,8结果有负号。把sum,summ,g定义为long后就正常了。8的阶乘超过int范围。

[ 本帖最后由 lianyicq 于 2015-4-7 10:41 编辑 ]

大开眼界
2015-04-07 10:39
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
按楼主的意图整理了一下代码
希望对楼主有帮助

程序代码:
#include <stdio.h>
#include <math.h>

int main(void) {
    int a1, a2;
    double s1 = 1.0, s2 = 1.0;

    if((scanf("%d%d", &a1, &a2)) != 2) return 1;

    printf("%d! + %d! = ", a1, a2);

    while(a1 > 1) s1 *= a1--;

    while(a2 > 1) s2 *= a2--;

    printf("%g\n", s1 + s2);
    return 0;
}


Only the Code Tells the Truth             K.I.S.S
2015-04-07 10:40
zhou78yang
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:18
专家分:100
注 册:2014-3-18
收藏
得分:0 
回复 5楼 bsb5wdza
数据溢出,编译器太古老,int型只有两字节吧
2015-04-07 10:48
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
回复 8楼 longwu9t
大神,我就有一个小问题。比如:如何让输入形式为 m,n且定义的的是m和n。如果编写成scanf("%d,%d",&a,&e) 我输入随便的3,8是将3和8分别赋给了a和e吗?

喵 ~
2015-04-08 16:09
快速回复:求大神解答计算阶乘时的一个小问题!!!!!!!!!!!
数据加载中...
 
   



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

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