请大虾们帮帮忙

Dr_ego 2008-09-14 05:36:42

#include <iostream>
#include <cassert>
#include <iomanip>
using namespace std;

const int N = 10;

int main()
{
assert(!(N%2));
char coin[N];
int i, j;
int count = 0;

for(j=0; j<N; j++)
{
coin[j] = true;
cout << setw(3) << '*';
}
cout << endl;
cout << endl;

for (i=0; i<=N; i++)
{
for (j=0; j<=N; j++)
{
if (j!=i)
{
coin[j] = !coin[j];
if (coin[j])
cout << setw(3) << '0';
else
cout << setw(3) << '*';
}
}
++count;
cout << endl;
}
cout << count;
cout << endl;

return 0;
}
************/

#include "assert.h"
#include "string.h"
#include <stdio.h>
#define N 10

void main()
{
assert(!(N%2));
bool coin[N];
int i, j;
int count = 0;

for(j=0; j<N; j++)
{
coin[j] = true;
printf("%3c", '*');
}
printf("\n\n");

for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
if(j!=i)
coin[j] = !coin[j];
printf("%3c", coin[j]?'*':'0');
}

++count;
printf("\n");
}

printf("%d\n", count);
}

这两个程序都是想实现:
有N个硬币(N为偶数)正面朝上排成一排,每次将 N-1 个硬币翻过来放在原位
置, 不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。编程让计算机把
翻币的最简过程及翻币次数打印出来(用*代表正面,O 代表反面)。
但是为什么第一个会比第二个多执行一次呢??请高手们帮帮忙...
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dr_ego 2008-09-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 e_sharp 的回复:]
vc6 测试过了
[/Quote]
谢谢,是我看错了.不好意思.
e_sharp 2008-09-14
  • 打赏
  • 举报
回复
vc6 测试过了
Dr_ego 2008-09-14
  • 打赏
  • 举报
回复
请问你改了以后有在你电脑上运行吗?
e_sharp 2008-09-14
  • 打赏
  • 举报
回复
int main() 
{
assert(!(N%2));
char coin[N];
int i, j;
int count = 0;

for(j=0; j <N; j++)
{
coin[j] = true;
cout << setw(3) << '*';
}
cout << endl;
cout << endl;

for (i=0; i <N; i++) //这个地方
{
for (j=0; j <N; j++) //这个地方
{
if (j!=i) //这个地方
{
coin[j] = !coin[j];
}

if (coin[j])
cout << setw(3) << '*'; //这个地方
else
cout << setw(3) << '0';
}
++count;
cout << endl;
}
cout << count;
cout << endl;

return 0;
}
e_sharp 2008-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Dr_ego 的回复:]
不好意思,没说明白,就是说在VC6.0下以上俩程序的运行结果怎么不同,要怎么样修改第一个才会和第二个的运行结果一样,我是新手,弄了很久也没弄出来.
[/Quote]

第一个程序:
for (i=0; i <=N; i++)
{
for (j=0; j <=N; j++)

第二个程序:
for(i=0; i <N; i++)
{
for(j=0; j <N; j++)
{

这2个循环的地方不同
Dr_ego 2008-09-14
  • 打赏
  • 举报
回复
不好意思,没说明白,就是说在VC6.0下以上俩程序的运行结果怎么不同,要怎么样修改第一个才会和第二个的运行结果一样,我是新手,弄了很久也没弄出来.
wangdeqie 2008-09-14
  • 打赏
  • 举报
回复
没明白,up

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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