【发布时间】:2016-10-19 17:48:29
【问题描述】:
我正在解决 CS50(问题 1),即 water.c。它要求用户编写一个程序,以分钟为单位提示用户他或她的淋浴时长(作为正整数),然后打印等效数量的瓶装水(作为整数)。 淋浴 1 分钟 = 消耗 12 瓶 主要问题:问题是我们必须确保用户输入的分钟数是正数,否则它会不断重新提示他返回 input/scanf 语句。只要他输入他输入长度
>
#include <stdio.h>
int main()
{ int length=0;
int min=12;
int bottle=0;
printf("Enter length of his or her shower in minutes");
scanf("%d", &length);
while (length <= 0){
printf("Enter length of his or her shower in minutes");
scanf("%d", &length);
}
bottle= (min*length);
printf("%d", bottle);
return 0;
}
【问题讨论】:
-
向我们展示您到目前为止所做的事情,不要只是要求我们为您编写代码
-
已编辑,现在你可以看到我的代码了 :)
-
看看
strtol。您可以将输入读取为字符串,使用strtol将字符串转换为整数,如果转换过程中有任何错误strtol将通过设置errno来指示:linux.die.net/man/3/strtol -
可能重复:stackoverflow.com/questions/28911745/… 试试看。
-
This answer 可能会有所帮助。
标签: c validation input cs50