鱼C论坛

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

[已解决]c语言 等差数列或等比数列求第n项的值

[复制链接]
发表于 2017-8-13 17:34:13 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
void main()
{
        int i , n, c;
        double a1,b1,d,q;
        c = 1;
        printf("等差数列第n项请按1,等比数列第n项请按2 \n");
        scanf("%d",&i);
        if (i == 1)
        {
                printf("请输入等差数列的首相a1、公差d和项数n \n");
                scanf("%fl,%fl,%d",&a1,&d,&n);
                while (c <= n)
                {
              a1 = a1 + d;
                          c = c++;
                }
                printf("a1 = %fl",a1);
        }
        if(i == 2)
        {
                printf("请输入等比数列的首相b1、公比q和项数n \n");
                scanf("%fl,%fl,%d",&b1,&q,&n);
                while( c <= n)
                {
                        b1 = b1*q;
                        c = c++;
                }
                printf("b1 = %fl\n" , b1);
        }
        printf("按回车键退出\n");
}





这个哪有毛病吗???为啥输出的值都是 -92559604377396321000000000000000000000000000000000000000000000.000000l
最佳答案
2017-8-13 19:55:03
本帖最后由 ba21 于 2017-8-13 19:57 编辑
风行回首 发表于 2017-8-13 19:42
我把逗号去掉了才正常


scanf 中有, 号,你输入的时候必须也得输 ,号。%fl 能正常就有鬼了, %f    加 l字符;scanf, print中意义都不一样。
就scanf("%fl,%fl,%d", &a1, &d, &n)  cmd输入:1.5l,3.14l,5(这里的l 和 , 都只是个占位符
就printf("b1= %fl\n", 3.14)  cmd输入: b1= 3.14l

2017-08-13_195156.png
2017-08-13_195606.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-13 19:00:30 | 显示全部楼层
2017-08-13_185846.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-8-13 19:41:59 | 显示全部楼层

改了 但是主要原因貌似不是这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-13 19:42:31 | 显示全部楼层

我把逗号去掉了才正常
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-13 19:55:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 ba21 于 2017-8-13 19:57 编辑
风行回首 发表于 2017-8-13 19:42
我把逗号去掉了才正常


scanf 中有, 号,你输入的时候必须也得输 ,号。%fl 能正常就有鬼了, %f    加 l字符;scanf, print中意义都不一样。
就scanf("%fl,%fl,%d", &a1, &d, &n)  cmd输入:1.5l,3.14l,5(这里的l 和 , 都只是个占位符
就printf("b1= %fl\n", 3.14)  cmd输入: b1= 3.14l

2017-08-13_195156.png
2017-08-13_195606.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 15:29:18 | 显示全部楼层
一个是%fl的问题 一个是没有初始化  两个问题结合起来导致的输出不对
建议你可以注掉一部分,只执行其中一段,慢慢调试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 17:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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