C语言里多层选择怎么写代码

Python017

C语言里多层选择怎么写代码,第1张

可以用百位表示第1重选择,十位表示第2重选择,个位第3重,然后根据这个数再分支。 比如:

int n,s

printf("请输入序号选择:1-(1)2-(2):")scanf("%d",&n)s=n*100

printf("请输入序号选择:1-a2-b3-c:")scanf("%d",&n)s+=n*10

printf("请输入序号选择:1-Y2-N:")scanf("%d",&n)s+=n

switch ( s )

{ case 111: ...break

case 112: ...break

case 121: ...break

...

}

这样分支可以清晰些。

这是多重循环中的例题,叫做百钱买百鸡,其实和鸡兔同笼问题差不多。这个程序中鸡翁的数量定义为变量a,鸡母数量定义为变量b,鸡雏数量定义为变量c,而鸡翁是一只5元,鸡母一只3元,雏鸡按程序的意思好像是一只1/3元。由于要用100元买,所以鸡翁不可能超过20只,所以从1循环到20,同理鸡母不能超过33只,从1循环到33,而一共要买100只,所以剩下的鸡雏数量就一定为100-a-b了,接下来便是用if语句判断,已经满足了一共100只,接下来就只要满足加起来100元就行了,最后输出结果

if循环必须放在循环内,每循环一次就要判断一次是否符合条件,不能放循环外。

电脑在读多重循环时,按由上到下的顺序,就比如你这个程序中,首先a为1,b就从1循环到33结束,如果不符合条件,则a++变为2,b继续从1循环到33结束,由此类推。

嵌套就一层一层的执行,需要有必要的做些标记:例如:

for(int i=0i<4i++)

for(int j=0j<4j++)

for(int k=0k<4k++)

printf(%d%d%d,i,j,k)

这个就是先 i=0——>j=0——>k=0输出:0 0 0

i=0——>j=0——>k=1输出:0 0 1

.......*(当k的4次结束后,j就加1 k接着从0开始)

i=0——>j=1——>k=0输出:0 1 0

i=0——>j=1——>k=1输出:0 1 1...(k的4次执行完后,j就再加1,成了2 )

.......*(当这样循环j的4次也结束后,i就加1,成了1,而j还是从0开始,k亦从0开始,知道最后i变成4)...输出:4 4 4后结束,这样说我觉得可以了,要是还有问题的话,可以再问,你只要耐心一点一步一步走就懂了。