没有注明单镇败位,输入者无所适从
#include <stdio.h>
int main()
{
int height//御差颤定义身高,单位 cm
int money//定义存款,单位 万元
printf("请输身高cm和存款金额万元:\n")
scanf("%d,%d",&height,&money)
if(height>=180||money>=100)//如果身高大于等于180cm或者存款大于等于100万!
printf("符合要求\n")
else
printf("不符合要求\n")
return 0
}
请先理解转义字符的含义:/t 制表符
/r 不换辩帆行回车
/n 换行回车
所以,上面的程喊前序中,输入abc然后跳到下一个制表符,一个制表符占8个字符位。
abc\t 的输出郑灶清应该是 abc_____ 下划线_表示一个空格。
那么:
abc\t de 就是abc______de
而\r是不换行回车,即回到本行的最开头,然后输出f
那么
abc\t de\rf就是fbc______de
然后出现制表位\t,制表位会将f后下一个制表位前的字符都变成空格,则
abc\t de\rf\t就是f________de
然后输出g并回车换行,即:
f_______gde
应该是这样的:知埋#include <stdio.h>
main(){
printf("请输入当月利润:")
long i
float bonus
scanf("%d",&i)
if (i<=100000)
bonus=0.1*i
else if (10000<i<=200000)
bonus=100000*0.1+(i-100000)*0.075
else if (20000<i<=400000)
bonus=100000*0.1+100000*7.5*0.01+(i-200000)*5*0.01
else if (40000<i<=600000)
bonus=100000*0.1+100000*7.5*0.01+200000*5*0.01+(i-400000)*3*0.01
else if (60000<i<=1000000)
bonus=100000*0.1+100000*7.5*0.01+200000*5*0.01+200000*3*0.01+(i-600000)*1.5*0.01
else
bonus=100000*0.1+100000*7.5*0.01+200000*5*0.01+200000*3*0.01+400000*1.5*0.01+(i-1000000)*1*0.01
printf("%f",bonus)
}
问题是:①7.5%不等同于0.075。②你的范围划分有搭尺蚂问题,我给你改了,你看看就明白困核了~~~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)