这个程序哪出了问题,怎么修改?

独孤九剑贰 2015-07-13 06:47:17
#include <stdio.h>
int main(void)
{
int a,b,c,d,e,f,g,h;
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=0;d<=9;d++)
for(e=0;e<=9;e++)
for(f=0;f<=9;f++)
for(g=0;g<=9;g++)
for(h=0;h<=9;h++)

{
if((a+b == 13)&&(a+c/f==4)&&(b-d*g==4)&&(9-e-h==4)&&(c-d*e==4)&&(f+g-h==4))
printf("%d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h);
}


}
...全文
143 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
灌水号 2015-07-13
  • 打赏
  • 举报
回复
引用 6 楼 ChemistYH 的回复:
[quote=引用 4 楼 u014444402 的回复:] c/f f可能是0就会报错了。
那可是为什么数据类型换成double就行了呢?[/quote] 因为double不可能等于0.
灌水号 2015-07-13
  • 打赏
  • 举报
回复
引用 5 楼 ChemistYH 的回复:
[quote=引用 4 楼 u014444402 的回复:] c/f f可能是0就会报错了。
对啊,我怎么没想到,请自动忽略我的言论吧,胡扯了这么多,丢死人了[/quote] 因为double不可能等于0.
CHwhoami 2015-07-13
  • 打赏
  • 举报
回复
引用 4 楼 u014444402 的回复:
c/f f可能是0就会报错了。
那可是为什么数据类型换成double就行了呢?
CHwhoami 2015-07-13
  • 打赏
  • 举报
回复
引用 4 楼 u014444402 的回复:
c/f f可能是0就会报错了。
对啊,我怎么没想到,请自动忽略我的言论吧,胡扯了这么多,丢死人了
灌水号 2015-07-13
  • 打赏
  • 举报
回复
c/f f可能是0就会报错了。
CHwhoami 2015-07-13
  • 打赏
  • 举报
回复
引用 2 楼 abc594986308 的回复:
[quote=引用 1 楼 ChemistYH 的回复:] 应该是数据的长度出问题了,进而产生内存问题。把所有变量的类型换成double型的就好了,没有报错,但是并没有满足条件的结果输出。除法运算的时候可能会产生超过int型的长度的数据吧。我是菜鸟,具体原理还不太清除,坐等大神来讲解。
for里面的限制条件可以不加考虑。[/quote] 好吧,我....也有点不太明白了。unknown software exception 这难道不是内存问题。如果是的话,那一定是变量的存取问题吧。
独孤九剑贰 2015-07-13
  • 打赏
  • 举报
回复
引用 1 楼 ChemistYH 的回复:
应该是数据的长度出问题了,进而产生内存问题。把所有变量的类型换成double型的就好了,没有报错,但是并没有满足条件的结果输出。除法运算的时候可能会产生超过int型的长度的数据吧。我是菜鸟,具体原理还不太清除,坐等大神来讲解。
for里面的限制条件可以不加考虑。
CHwhoami 2015-07-13
  • 打赏
  • 举报
回复
应该是数据的长度出问题了,进而产生内存问题。把所有变量的类型换成double型的就好了,没有报错,但是并没有满足条件的结果输出。除法运算的时候可能会产生超过int型的长度的数据吧。我是菜鸟,具体原理还不太清除,坐等大神来讲解。

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧