鱼C论坛

 找回密码
 立即注册
查看: 2735|回复: 4

EX3.20+3 计算存款的本金合计

[复制链接]
发表于 2022-6-12 00:37:00 | 显示全部楼层 |阅读模式

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

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

x
已知银行整存整取存款不同期限的利率分别为:半年2.55%,一年2.75%,二年3.35%,三年4.00%,五年4.75%。要求输入存钱的本金和期限,输出到期时的本金和利息合计。

输入格式:
"%f%f"

输出格式:
"%.2f"

输入样例:
在这里给出一组输入。例如:

1000 0.5
输出样例:
在这里给出相应的输出。例如:

1012.75



  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()

  4. {
  5. int n;
  6. double a,rate,capital,deposit;
  7. printf( "Please enter capital,year:\n");
  8. scanf("%f%f",&capital,&n);
  9. switch(n)
  10.     {  
  11.          case(0.5) :a=pow(1+2.55%,n);break;
  12.      case(1) :a=pow(1+2.75%,n);break;
  13.      case(2):a=pow(1+3.35%,n);break;
  14.      case(3):a=pow(1+4.00%,n);break;
  15.      case(4):a=pow(1+4.75%,n);break;
  16.     }
  17.      deposit=capital*a;
  18.     printf("deposit=%.2f\n",deposit);
  19. }
  20. return 0;
  21. }
复制代码


12        11 [Error] case label does not reduce to an integer constant  
            [错误]case标号不能简化为整数常量
12        27[Error] expected primary-expression before ',' token
           [错误]在','标记之前期望主表达式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-12 09:38:40 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <math.h>

  3. int main()
  4. {
  5.     int n;
  6.     double a, rate, capital, deposit;
  7.     printf("Please enter capital,year:\n");
  8.     scanf("%f%f", &capital, &n);

  9.     /*
  10.     *
  11.     * ---------------> switch ... case ... 只能是整型,不能是浮点!case 没有括号!
  12.     * ---------------> 百分比符号在 C 里面是取模,想要百分比用小数点!
  13.     *
  14.     switch (n)
  15.     {
  16.     case(0.5):a = pow(1 + 2.55 %, n); break;
  17.     case(1):a = pow(1 + 2.75 %, n); break;
  18.     case(2):a = pow(1 + 3.35 %, n); break;
  19.     case(3):a = pow(1 + 4.00 %, n); break;
  20.     case(4):a = pow(1 + 4.75 %, n); break;
  21.     }
  22.     */

  23.     if (n < 1) {
  24.         a = pow(1 + .0255, n);
  25.     }
  26.     else if (n < 2) {
  27.         a = pow(1 + .0275, n);
  28.     }
  29.     else if (n < 3) {
  30.         a = pow(1 + .0335, n);
  31.     }
  32.     else if (n < 4) {
  33.         a = pow(1 + .04, n);
  34.     }
  35.     else if (n < 5) {
  36.         a = pow(1 + .0475, n);
  37.     }
  38.     deposit = capital * a;
  39.     printf("deposit = %.2f\n", deposit);
  40.    
  41.     return 0;
  42. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-12 11:54:15 | 显示全部楼层

根据要求和你的提醒修改了一下,但结果还是不对QAQ
Please enter capital,year:
1000 0.5
deposit = 1012.67

  1. #include <stdio.h>
  2. #include <math.h>

  3. int main()
  4. {
  5.     float n,a, rate, capital, deposit;
  6.    
  7.     scanf("%f%f", &capital, &n);
  8.     if (n>=0&&n < 1)
  9.     {
  10.         a = pow(1 + .0255, n);
  11.     }
  12.     else if (n < 2)
  13.     {
  14.         a = pow(1 + .0275, n);
  15.     }
  16.     else if (n < 3)
  17.     {
  18.         a = pow(1 + .0335, n);
  19.     }
  20.     else if (n < 4)
  21.     {
  22.         a = pow(1 + .04, n);
  23.     }
  24.     else if (n < 5)
  25.     {
  26.         a = pow(1 + .0475, n);
  27.     }
  28.     deposit = capital * a;
  29.     printf("%.2f", deposit);
  30.    
  31.     return 0;
  32. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-12 11:59:00 | 显示全部楼层
我爱橙 发表于 2022-6-12 11:54
根据要求和你的提醒修改了一下,但结果还是不对QAQ
Please enter capital,year:
1000 0.5

我的公式是用你写的,我没有验证对错,如果答案不对,表示你的公式也有错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-12 21:56:19 | 显示全部楼层
整数年份利率例题
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5.         int year;
  6.         double rate, capital, deposit;
  7.         printf("Please enter year,capital:");
  8.         scanf("%d,%lf", &year, &capital);
  9.         switch (year)
  10.         {
  11.                 case 1: rate = 0.0225;break;
  12.                 case 2: rate = 0.0243;break;
  13.                 case 3: rate = 0.0270;break;
  14.                 case 5: rate = 0.0288;break;
  15.                 case 8: rate = 0.0300;break;
  16.                 default: printf("Error rate!\n");
  17.                 exit(0);
  18.         }
  19.         deposit =capital * pow(1+rate, year);
  20.         printf("rate = %f, deposit = %f\n", rate, deposit);
  21.         return 0;
  22. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 15:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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