【发布时间】:2017-09-11 16:03:03
【问题描述】:
这是一个“工作”的程序,但如果输入字符数据“a”或“-8”,将进入无限循环。
这是当数据输入程序时的预期输出:
****Input (sales) EXPECTED OUTPUT****
input: 5000.00 output: 650.00
input: 1234.56 output: 311.11
input: 1088.89 output: 298.00
input: 0 output: 200.00
input: 'a' output: Warning and prompt to re-enter
input: -8 output: Warning and prompt to re-enter
input: -1 output: End Program
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h>
int main() {
float sales, commission, earnings;
while(true) {
printf( "Enter sales in dollars ( -1 to end ): " );
scanf( "%f", &sales );
if ( sales == -1 ) {
return 0;
}
commission = sales / 100 * 9;
earnings = commission + 200;
printf( "Salary is %.2f\n", earnings );
}
return 0;
}
谢谢。完全新手,感谢您的帮助。
【问题讨论】:
-
scanf()返回它正确解析的“项目”数量,因此请检查它是否在此示例中返回 1。