我正在解决cs50课程的贪婪算法,而不使用cs50头文件。我写了一个代码。它可以很好地处理数字作为输入,但是当我给它一个字符串或字母作为输入时,它不会提示我回来。我不知道如何解决这个问题。Cs50贪婪而不使用<cs50.h>
#include <stdio.h>
int main()
{
float c;
int C, nQ, rem1, nD, rem2, nN, rem3;
do
{
printf("O hai! How much change is owed? ");
scanf("%f", &c);
}
while(c<0);
C = c * 100;
nQ = C/25;
rem1 = C % 25;
nD = rem1/10;
rem2 = rem1 % 10;
nN = rem2/5;
rem3 = rem2 % 5;
printf("%d\n", nQ+nD+nN+rem3);
}
你为什么要使用一个名为'C'和'C'在同一个函数的变量? –
你需要检查'scanf(“%f”,&c);'来知道是否读取了1个数字的返回值 –
我使用了两个变量来将浮点数转换为整数,我检查了这些值。输入数字,但即使输入了字母,我也想得到提示。 – Laxman