硬币问题
有N个硬币(N为偶数)正面朝上排成一排,每次将 N-1 个硬币翻过来放在原位置, 不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。编程让计算机把
翻币的最简过程及翻币次数打印出来(用*代表正面,O 代表反面)。
谁能帮我编一下呀,在TC2.0下面运行.
#include<stdio.h>
#define MAX 10000
char flags[MAX];
int main(){
int i,j,n,c;
while(scanf(\"%d\",&n)!=EOF&&n>0&&n<=MAX&&n%2==0){
for(i=0;i<n;i++){ flags[i] =0; printf(\"*\");}
printf(\"\n\");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j!=i) flags[j] ^= 1;
printf(flags[j]?\"0\":\"*\");
}
printf(\"\n\");
}
printf(\"Total :%d\n\",n);
}
return 0;
}
麻烦大家帮我看一下呀,我这个可能规划上不太好,但结果应该是对的吧!
#include<stdio.h>
main()
{ int n,i;
printf("please input the number:\n");
scanf("%d",&n);
printf("\n");
if(n%2!=0)
printf("you enter is wrong!");
else
{
for(i=0;i<n;i++)
printf("*");
printf("\n");
for(i=0;i<n-1;i++)
printf("0");
printf("*");
printf("\n");
printf("00");
for(i=2;i<n-1;i++)
printf("*");
printf("0");
printf("\n");
for(i=0;i<n;i++)
printf("0");
printf("\n");
printf("Total:3");
}
getch();
}
谁能帮我改一下.
我晕,题目不是说每次翻N-1个嘛,N=4的时候就是每次翻3个,谁让你翻两个去了?