注册 登录
编程论坛 C语言论坛

跳过程序语句

RecluseF 发布于 2020-09-10 11:40, 1732 次点击
大佬们,为什么我这个程序在输入第一组数据后回车,程序就结束了?就是只执行到getchar前面的那个程序,实在是看不出哪里有问题。开关语句里还有点小问题还没改,不劳大佬查看了。



#include <stdio.h>
#include <stdlib.h>

int main()
{
    {    double rate,capital;
float deposit;
int year;
char a;

    printf("Input rate, year, capital:");
    scanf("%lf,%d,%lf",&rate,&year,&capital);
    getchar();
    printf("Compound interest (Y/N)?" );
    scanf(" %c",&a);
        switch(a){
        case 'Y':
        printf("deposit = %.4f\n",deposit=capital*pow(1+rate,year));
        break;

        case 'N':deposit=capital*(1+rate*year);
         printf("deposit = %.4f\n",deposit=capital*(1+rate*year));
       break;}
 return 0;
}
    return 0;
}
4 回复
#2
纯蓝之刃2020-09-10 12:51
输入的时候各个变量中间要输入英文的逗号
#3
RecluseF2020-09-10 13:03
回复 2楼 纯蓝之刃
编译器里是英文的,复制过来就这样了
#4
自学的数学2020-09-10 20:48
输入状态用英文输入法就OK。
#5
hellobird2020-09-10 21:20
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    double rate,capital;
    float deposit;
    int year;
    char a;

    printf("Input rate, year, capital: ");
    scanf("%lf%d%lf",&rate,&year,&capital);
    //printf("%f\t%d\t%f\n", rate, year, capital);
    getchar();
    printf("Compound interest (Y/N)?: " );
    scanf("%c",&a);
    //printf("%c", a);
    switch(a){
    case 'Y':
        printf("deposit = %.4f\n",deposit=capital*pow(1+rate,year));
        break;

    case 'N':deposit=capital*(1+rate*year);
        printf("deposit = %.4f\n",deposit=capital*(1+rate*year));
        break;}
    return 0;
}

只有本站会员才能查看附件,请 登录
1