当前位置: 代码迷 >> C语言 >> 初学者求救
  详细解决方案

初学者求救

热度:89   发布时间:2005-03-27 09:28:00.0
初学者求救
有这样一道程序题:甲乙丙三个同时放第一个鞭炮,以后甲每隔5秒放一个,乙每隔6秒放一个,丙每隔7秒放一个.每人各放21个个鞭炮,问一共能听到几次(一起响的算一次计)------------程序怎么写啊
我是这样的解的怎么错了啊
main()
{
int i,j,k,c1,c2,c3,t,h1=0,h2=0;
for(i=0;i<22;i++);
{c1=7*i;
  for(j=0;j<22;j++)
  {c2=6*j;
  if (c1==c2) continue;
  }
  for(k=0;k<22;k++);
c3=5*k;if (c3==c1||c3==c2) continue;--------------------------------------这里的continue为什么是非法的
if (c1==c2&&c2!=c3||c1==c3&&c2!=c3||c2==c3&&c1!=c3)
  h1=h1+1;
  if(c1==c2&&c1==c3)
   h2=h2+1;
}
t=63-h1-2*h2;
  printf("%d",t);
}
搜索更多相关的解决方案: continue  

----------------解决方案--------------------------------------------------------
continue是这样用的么
----------------解决方案--------------------------------------------------------
不是continue的错
而是你的for有问题
for语句后面并不用加;号      加了表示for语句后是一个空的循环体
这样你的continue即不在循环体中   所以会报错
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{int i,n=1;
for(i=1;i<7*21;i++)
  if(i%5==0||i%6==0||i%7==0)
   if(i%5==0&&i%6==0&&i%7==0) n++;
    else if(i%5==0&&i%6==0||i%5==0&&i%7==0||i%6==0&&i%7==0) n++;
         else n++;
printf("The result=%d\n",n);
getch();
}

不知道结果是不是63
----------------解决方案--------------------------------------------------------

想了一下,上面的做错了,应该是这样: #include<stdio.h> main() {int i,n=1; for(i=1;i<7*21;i++) if(i%5==0&&i<5*21||i%6==0&&i<6*21||i%7==0) n++;

printf("The result=%d\n",n); getch(); } 53是对的吧!


----------------解决方案--------------------------------------------------------
#include &lt;stdio.h&gt;
void main()
{
int c,d,i=0;
c=21*7;
d=63;
while(i&lt;=c)
{
if(i==1) d=d-2;
if(((i%5==0)&amp;&amp;(i%6==0))||((i%5==0)&amp;&amp;(i%7==0))||((i%6==0)&amp;&amp;(i%7==0)))
d=d-1;
if(d==0) printf("error");
else
i++;
}
printf("%d",d);
getch();
}
----------------解决方案--------------------------------------------------------
49吧?
----------------解决方案--------------------------------------------------------
具体的我也不知道是多少?

我算的好象是53!

有没有谁有答案啊?
----------------解决方案--------------------------------------------------------

#include <stdio.h>

main() { int i,n=1; for(i=1;i<=147;i++) { if(i%5==0&&i<5*21||i%6==0&&i<6*21||i%7==0)n++; } printf(" %d\n",n); getch(); }

[此贴子已经被作者于2005-4-1 11:02:32编辑过]


----------------解决方案--------------------------------------------------------


个要认为是对的

[此贴子已经被作者于2005-4-1 11:03:10编辑过]



----------------解决方案--------------------------------------------------------
  相关解决方案