用switch break的语句计算银行利率 C语言 不知道哪里错了 vs2010不能运行

#用switch break的语句计算银行利率 C语言 不知道哪里错了 vs2010不能运行

#include<stdio.h>
int main()
{
int choice;
double y;
printf(" 1---活期\n");
printf(" 2---一年期\n");
printf(" 3---三年期\n");
printf(" 4---五年期\n");
printf("Please input choice[1-4]: ");
scanf("%d", &choice);
switch(choice)
{
case 1:
y=100*(1+0.00361);
break;
case 2:
y=100
(1+0.02251);
break;
case 3:
y=100
(1+0.03333);
break;
case 4:
y=100
(1+0.0360*5);
break;
default:
printf("对不起,您的选择有误!");
return;
}
printf("100元到期本金及利息总和:%f\n",y);
printf("谢谢!\n");
return 0;
}

main函数必须有返回值,default中的return改成return 0;
另外,利息应该是在上一年的基础上计算的,应该用pow函数计算,我给你注释到相应的代码后面了。
贴代码用代码段贴,否则一些星号会被吃掉,就不容易帮你找错误。
代码修改如下(计算公式还是用的你的,需要修改的我注释到相应的代码后面了)

#include <stdio.h>
#include <math.h>
int main()
{
    int choice;
    double y;
    printf(" 1---活期\n");
    printf(" 2---一年期\n");
    printf(" 3---三年期\n");
    printf(" 4---五年期\n");
    printf("Please input choice[1-4]: ");
    scanf("%d", &choice);
    switch(choice)
    {
    case 1:
        y=100*(1+0.0036*1);
        break;
    case 2:
        y=100*(1+0.0225*1);
        break;
    case 3:
        y=100*(1+0.0333*3); //y=100*pow(1+0.333,3);三年期应该是这个公式
        break;
    case 4:
        y=100*(1+0.0360*5); //y=100*pow(1+0.360,5);五年期应该是这个公式
        break;
    default:
        printf("对不起,您的选择有误!");
        return 0;
    }
    printf("100元到期本金及利息总和:%f\n",y);
    printf("谢谢!\n");
    return 0;
}

应该是234分支100后面没有*符号,还有default分支的主函数返回没有值。

不知道是不是你找的那个问题,把case2,case3,case4 那里100后面加个星号(乘以要用),如果是有星号,应该是default那里的reuturn 加个数字,如-1(这里返回值要有个数字),程序就可以运行了。




#include<stdio.h>
int main()
{
    int choice;
    double y;
    printf(" 1---活期\n");
    printf(" 2---一年期\n");
    printf(" 3---三年期\n");
    printf(" 4---五年期\n");
    printf("Please input choice[1-4]: ");
    scanf("%d", &choice);
    switch(choice)
    {
        case 1:
        y=100*(1+0.00361);
        break;
        case 2:
        y=100*(1+0.02251);
        break;
        case 3:
        y=100*(1+0.03333);
        break;
        case 4:
        y=100*(1+0.0360*5);
        break;
        default:
        printf("对不起,您的选择有误!");
        return -1;
    }
    printf("100元到期本金及利息总和:%f\n",y);
    printf("谢谢!\n");
    return 0;
}

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632