满意答案
摩羯羽x
2019.09.24
采纳率:52% 等级:12
已帮助:3274人
你这样写代码,肯定是输入一个数,执行完显示结果在允许你输入另一个数呀。
建议建立一个数组,一次性把所有数字输入完,然后再让程序一并输出,下面给你改了改main函数。另外最好使用double的浮点数,因为计算机默认是使用double类型,并且即便是int类型的b,遇到浮点数计算时,系统也会自动将其转化为double,不需要人为添加强制转换的语句。
int main()
{
int a, i;
double c;
scanf("%d", &a);
int *b = (int*)malloc(a * sizeof(int));
for (i = 0; i < a; i++)
{
scanf("%d", &b[i]);
}
for (i = 0; i < a; i++)
{
if (b[i] >= 5000)
c = b[i] * 0.8;
else if (b[i] >= 3000)
c = b[i] * 0.85;
else if (b[i] >= 2000)
c = b[i] * 0.9;
else if (b[i] >= 1000)
c = b[i] * 0.95;
else c = b[i];
printf("%.1f\n", c);
}
return 0;
}
00分享举报