关于网友提出的“ 单分支控制的条件语句中为什么总输出第一个或第二个”问题疑问,本网通过在网上对“ 单分支控制的条件语句中为什么总输出第一个或第二个”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 单分支控制的条件语句中为什么总输出第一个或第二个
描述:#include
#include
int main()
{
int n;
double C,R,D,F,G;
char a;
printf("Input rate, year, capital:");
scanf("%lf,%d,%lf",&R,&n,&C);
printf("Compound interest (Y/N)?");
scanf(" %c",&a);
if ('a=y')
{
F=C*pow((1+R),n);
G = F;
}
else
{
D=C*(1+R*n);
G = D;
}
printf("deposit = %.4f\n",G);
}
解决方案1:你的程序中:字符比较有错:if ('a=y');另外把两个scanf合为一次输入。改后的程序如下:
#include
#include
int main()
{
int n;
double C,R,D,F,G;
char a;
printf("Input rate, year, capital,Compound interest (y/n):");
scanf("%lf,%d,%lf,%c",&R,&n,&C,&a);
if (a=='y')
{
F=C*pow((1+R),n);
G = F;
}
else
{
D=C*(1+R*n);
G = D;
}
printf("deposit = %.4f\n",G);
}
程序的两种运行结果:

以上介绍了“ 单分支控制的条件语句中为什么总输出第一个或第二个”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/wd/4596294.html