原程序
#include <stdio.h>
int main(void)
{
char cType=0,dType=0;
float amount=0,rate=0;
printf("请输入客户类型、存款金额、存期类型:\n");
scanf("%c %f %c",&cType,&amount,&dType);
switch(dType)
{ case '1': rate = 1.5; break;
case '2': rate = 2; break;
case '3': rate = 3; break;
case '4': rate = 3.2; break;
case '5': rate = 3.5; break;
default: printf("没有这种存期\n"); return -1;
}
if(cType=='V') rate = rate *1.1;
if(amount>=100000) rate = rate *1.2;
printf("存款利率为:%.2f%%\n",rate);
return 0;
}
这段C语言代码有三个错误:
一、switch单词拼写错误少了c;
二、if(k = 'V')判断是双等于号==;
追问能不能解释一下为什么deafult后面需要加return-1?
追答最好是要,不然会往构造执行
追问可是我用case3测试不输入没有这种存期输出的是0.000
追答建议你在scanf后面一行设置断点,看输入后是什么值?感觉scanf没有输入对