鱼C论坛

 找回密码
 立即注册
查看: 2166|回复: 5

关于C语言的程序设计问题

[复制链接]
发表于 2020-4-9 12:45:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题是:输入n(n<10)和a,计算下面数列前n项的和:

S=1/a+ (-2/aa) +(3/aaa).......+(n*(-1)^(n-1)/aaa...a)


下面是我编写的代码,程序没有报错,但是调试运行之后我输入a和n后回车没有任何反应,我也找不出问题,这是为什么啊??

# include<stdio.h>
# include<math.h>
double pow(double X,double Y);
int main()
{
        double S=0;
        double i,n,a,X,term=0,sum=0;
        scanf("%d %d\n",&a,&n);
        for(i=1;i<=n;i++)
        {
                X=pow(-1.0,i-1);
                term=term*10+a;
                sum=sum+term;
                S=S+(i*X/sum);
        }
        printf("S=%f\n",S);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-9 12:50:32 | 显示全部楼层
本帖最后由 zxcbcv 于 2020-4-9 12:58 编辑

在 scanf("%d %d\n",&a,&n)中   \n  前加个   \0   就行了


我也总出现这种情况 ,求哪位大神解释一下这问题呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 13:03:42 | 显示全部楼层
你上面定义的是浮点型,输入的时候确实整型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 14:01:06 | 显示全部楼层
问题1、scanf内最好不要有格式化字符以外的其他字符。若有其他字符,你就需要严格按照你写在里面的字符进行输入,否则就会出错。
问题2、你定义的各个变量都是double类型,scanf和printf时格式化字符应该用%lf或者%f,最好是用%lf


还有一个建议,X其实不必这样写,因为在循环里面,可以每次乘以-1,不就改变其符号了么
# include<stdio.h>
int main()
{
    double S=0;
    double i,n,a,X=-1,term=0,sum=0;
    scanf("%lf%lf",&a,&n);
    for(i=1;i<=n;i++)
    {
        X*=-1;
        term=term*10+a;
        sum=sum+term;
        S=S+(i*X/sum);
    }
    printf("S=%lf\n",S);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 14:05:04 | 显示全部楼层
zxcbcv 发表于 2020-4-9 12:50
在 scanf("%d %d\n",&a,&n)中   \n  前加个   \0   就行了

你需要好好研究一下scanf函数的用法
可以看看这个帖子
这个帖子中还连接了其他帖子,都是我针对scanf的一些解答。应该会对你和楼主有帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 15:02:21 | 显示全部楼层
sunrise085 发表于 2020-4-9 14:05
你需要好好研究一下scanf函数的用法
可以看看这个帖子
这个帖子中还连接了其他帖子,都是我针对scanf的 ...

3q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 12:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表