|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
本帖最后由 ba21 于 2017-8-13 19:57 编辑
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
|
|