【发布时间】:2013-02-22 05:50:37
【问题描述】:
我正在尝试使用 C 中的一个简单公式创建一个调度程序。 该程序的目标是询问用户他们一周内学习/工作的时间 (如果超过 40 小时,请告诉他们他们已经完成了一周)。
由于这是一项初级任务,我希望它相当容易,因为我过去使用 python 3.3 做过类似的事情,但经过大量试验后,我似乎无法让我的程序正常运行。
- 我的程序适用于整数,但不适用于小数。我如何整合浮动?将 d% 更改为 f%?
已解决 * 主要问题是无论用户输入什么数字,最终的答案总是显示一个很大的负数。我试图利用我对 python 的了解在 C 中解决这个问题,但到目前为止,我无法准确理解我哪里出错了。 *
任何建设性的批评和/或建议都会令人惊叹。
我添加了 cmets 来展示我编码背后的过程
#include <stdio.h>
int main() {
int a;
printf("How many hours in a week are you in class?");
scanf("%d", &a);
int b;
printf("How many hours a week are you studying?");
scanf("%d", &b);
int c;
printf("How many hours have you already spent in class and studying this week?");
scanf("%d", &c);
int x = (a+b+c);
if(x >= 40){
printf("You have spent all the time required for this week.\n");
}
else{
printf ("You have %d hours more to work and study for this week.\n", x);
}
//return 0 to end
return 0;
}
提前致谢!
编辑 *
“大负数”错误似乎仅发生在当前的 CodeBlocks 会话中。
我刚刚重新启动计算机并重新加载程序,它似乎工作正常。但是,我知道我的代码并不完美,我仍然会感谢任何比我更有经验的人的意见。
感谢您的帮助。
【问题讨论】:
-
逻辑错误,最终 printf 需要说 (40-x)
-
@KarthikT 这不考虑“大负数”。我在代码中没有看到这样做的原因。
-
对我来说,没有大的负数。修复逻辑错误后,正确的结果出来了。