|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
有点小烦躁,我昨天问过为什么会运行着运行着会直接跳结果然后别人叫我加fflush(stdin)
然后就运行成功但是今天的却不行了如下- #include <stdio.h>
- #include <math.h>
- int main()
- {
- float price,area,yir,mir;
- float interest,loan;
- float ave_repay,down_payment;
- float total_price,total_repay;
- int ratio,time;
-
- printf("请输入单价(元/平方);");
- scanf("%f",&price);
- printf("请输入面积;");
- fflush(stdin);
- scanf("%f,&area");
- printf("请输入按年揭成数;");
- scanf("%d,&ratio");
- printf("请输入当前基准年利率;");
- scanf("%f,&yir");
- printf("请输入按年揭年数;");
- scanf("%d,&time");
-
- mir =yir / 100 / 12;
- total_price =price*area;
- down_payment =total_price*(1-(float)ratio/10);
- loan =total_price*ratio/10;
- total_repay =loan+interest;
- ave_repay =loan*mir*pow((1+mir),time)/(pow((1+mir),time)-1);
- interest =time*12*ave_repay-loan;
-
- printf("======报告结果======\n");
- printf("房款总额;%.2f元",total_price);
- printf("首期付款;%.2f元",down_payment);
- printf("贷款总额;%.2f元",loan);
- printf("还款总额;%.2f元",total_repay);
- printf("支付利息;%.2f元",interest);
- printf("月均还款;%.2f元",ave_repay);
-
- return 0;
- }
复制代码
之后就进行不下去了,连后面的都没输出就没了????然后我改成没有fflush(stdin)的运行成功了,但是结果出不来????代码如下- #include <stdio.h>
- #include <math.h>
- int main()
- {
- float price,area,yir,mir;
- float interest,loan;
- float ave_repay,down_payment;
- float total_price,total_repay;
- int ratio,time;
-
- printf("请输入单价(元/平方);");
- scanf("%f",&price);
- printf("请输入面积;");
- scanf("%f,&area");
- printf("请输入按年揭成数;");
- scanf("%d,&ratio");
- printf("请输入当前基准年利率;");
- scanf("%f,&yir");
- printf("请输入按年揭年数;");
- scanf("%d,&time");
-
- mir =yir / 100 / 12;
- total_price =price*area;
- down_payment =total_price*(1-(float)ratio/10);
- loan =total_price*ratio/10;
- total_repay =loan+interest;
- ave_repay =loan*mir*pow((1+mir),time)/(pow((1+mir),time)-1);
- interest =time*12*ave_repay-loan;
-
- printf("======报告结果======\n");
- printf("房款总额;%.2f元",total_price);
- printf("首期付款;%.2f元",down_payment);
- printf("贷款总额;%.2f元",loan);
- printf("还款总额;%.2f元",total_repay);
- printf("支付利息;%.2f元",interest);
- printf("月均还款;%.2f元",ave_repay);
-
- return 0;
- }
复制代码
本帖最后由 行客 于 2019-1-21 13:12 编辑
不要着急,你已经做得很好了。只是代码输入时出了一点小小的问题:
- // test.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- float price,area,yir,mir;
- float interest,loan;
- float ave_repay,down_payment;
- float total_price,total_repay;
- int ratio,time;
-
- printf("请输入单价(元/平方);");
- scanf("%f",&price); //书写正确
- printf("请输入面积;");
- fflush(stdin);
- //scanf("%f,&area"); //书写错误,注意双引号位置,应修改为:
- scanf("%f",&area);
- printf("请输入按年揭成数;");
- //scanf("%d,&ratio"); //书写错误,注意双引号位置,应修改为:
- scanf("%d",&ratio);
- printf("请输入当前基准年利率;");
- //scanf("%f,&yir"); //书写错误,注意双引号位置,应修改为:
- scanf("%f",&yir);
- printf("请输入按年揭年数;");
- //scanf("%d,&time");
- scanf("%d",&time); //书写错误,注意双引号位置,应修改为:
-
- mir =yir / 100 / 12;
- total_price =price*area;
- down_payment =total_price*(1-(float)ratio/10);
- loan =total_price*ratio/10;
- total_repay =loan+interest;
- ave_repay =loan*mir*pow((1+mir),time)/(pow((1+mir),time)-1);
- interest =time*12*ave_repay-loan;
-
- printf("======报告结果======\n"); //printf参数输入全部正确,请注意scanf也应注意双引号位置。
- printf("房款总额;%.2f元",total_price);
- printf("首期付款;%.2f元",down_payment);
- printf("贷款总额;%.2f元",loan);
- printf("还款总额;%.2f元",total_repay);
- printf("支付利息;%.2f元",interest);
- printf("月均还款;%.2f元",ave_repay);
-
- return 0;
- }
复制代码
使用scanf函数时请注意如下问题 :
scanf 格式输入函数
函数作用:按照变量在内存的地址将变量值存进去。
一般格式:scanf(格式控制,地址表列)
(1)scanf函数中的“格式控制”后面应当是变量地址,而不应
是变量名。
(2) 如果在“格式控制”字符串中除了格式说明以外还有其他字符,
则在输入数据时在对应位置应输入与这些字符相同的字符。
(3) 在用“%c”格式输入字符时,空格字符和“转义字符”都作为
有效字符输入
(4) 在输入数据时,遇以下情况时认为该数据结束。
① 遇空格,或按“回车”或“跳格”(Tab)键;
② 按指定的宽度结束,如“%3d”,只取3列;
③ 遇非法输入。
(5)格式控制符包含在双引号之内,变量地址在双引号之外。
|
|