答案是错的吧
x=(int)((float)x/0.8)+1;
你的算法就不对,x要先减1,除5,再乘4。
你的是,x乘5,除四,再减1,这是什么得数?不对题呀。
应该是(x-1)*0.8 ,
这是你的程序,
#include<stdlib.h>
#include<stdio.h>
main()
{
int x,y,z,n;
for(x=1;x<=100000;x++)
{
for(n=1;n<=5;n++)
{
x=(int)((float)x/0.8)+1; /*还有这里x重新赋值了。假如这里的for循环结束想过x是几吗,外一层
的for再接循环是不是出问题了。*/
y=x;
if(y%5==1)
{
z++; /*z也没赋初值*/
}
}
if(z==5) break; /*还有第二个for循环结束z不等于5时有没有得新赋初值,*/
}
printf("%d\n",x);
system("pause");
}
你的另一个程序问题更严重,等你解决一个思路再想第二个吧,
你的问题不在代码上,是程序运行时怎么走的,还有最重要的是要解决问题的方法都没算对。
你说要说你错以哪,所以就像老师教小朋友一样的说了。呵呵,别介意。
之前给你的代码你看下跟踪下也会明白的。