c语言,编写模拟翻硬币得程序。

c语言,编写模拟翻硬币得程序。,第1张

#include<stdio.h>

int main(void)

{

int n//读入一个数,为结束的次数

int i

int a[10]//10个硬币

int biaoji = 0//当这个标记能被3或7整除,说明恰好数了3次或7次

scanf("%d", &n)

for (i = 0i <10i++) //将硬币都初始化为正面的状态,即1

a[i] = 1

biaoji = 1//因为a[]的下标不允许超过9,故要重置

a[biaoji - 1] = !a[biaoji - 1]//改变硬币的状态

for (i = 0i <10i++)

printf("%d", a[i])

return 0

}

主要特点

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接 *** 作,因此既能够用于开发系统程序,也可用于开发应用软件。

题目要求:对于有多种 *** 作方案的情况,则只需输出一种

这样我们随便找一种就行了,我们可以这样想:

对于每一枚硬币,如果这枚硬币翻转奇数次的话,那么他就变成反面朝上了,由于n是偶数,我们可以将每一枚硬币都翻转n-1次,即可满足题目要求.由于每次翻转都要翻转n-1枚硬币,所以可以翻转n次,对于每一次,都有一枚硬币不翻转

程序如下:

var n,i,j:longint

a:array[1..500] of longint

begin

read(n)

writeln(n)

for i:=1 to n do begin

for j:=1 to n do if i<>j then

if a[j]=0 then a[j]:=1 else a[j]:=0

for j:=1 to n do write(a[j])

writeln

end

end.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11305238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存