c语言循环问题

现在有四段不同的程序段我们先叫它们a,b,c,d。我想把它们放在一个while循环里,在while的条件满足时,它们按顺序循环执行,但哪段先执行不确定。比如,可以a,b,... 现在有四段不同的程序段我们先叫它们a,b,c,d。我想把它们放在一个while循环里,在while的条件满足时,它们按顺序循环执行,但哪段先执行不确定。比如,可以a,b,c,d,a,b,c,d...;也可以b,c,d,a,b,c,d,a,...; 也可以c,d,a,b,c,d,a,b,...; 也可以d,a,b,c,d,a,b,c,...。哪段先执行取决于输入。(比如输入a,b,c,d或1,2,3,4)怎么实现呢?希望大家给个思路,谢谢 展开
 我来答
microroom
科技发烧友

2019-07-15 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1499万
展开全部
//将4个程序段封装成4个函数,用函数指针数组调用就行了。
//下面是个例子。
#include<stdio.h>

void a()
{
printf("执行函数a\n");
}

void b()
{
printf("执行函数b\n");
}

void c()
{
printf("执行函数c\n");
}

void d()
{
printf("执行函数d\n");
}

int main()
{
typedef void (*ptf)();
ptf allfunc[4];
int i,callorder[4];

allfunc[0]=a;
allfunc[1]=b;
allfunc[2]=c;
allfunc[3]=d;
while(1)
{
printf("请输入4个函数(a、b、c、d)的调用顺序");
printf("(1-a,2-b,3-c,4-d,如1 4 2 3):");
for(i=0;i<4;i++)
scanf("%d",callorder+i);
for(i=0;i<4;i++)
allfunc[callorder[i]-1]();
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2019-07-14 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.8亿
展开全部
int x=rand()%4;
while(1)
{switch(x)
{
case 0:
for(int a=0;a<10;a++)
printf("a%d ",a);
printf("\n");
case 1:
for(int b=0;b<10;b++)
printf("b%d ",b);
printf("\n");
case 2:

for(int c=0;c<10;c++)
printf("c%d ",c);
printf("\n");
case 3:

for(int d=0;d<10;d++)
printf("d%d ",d);
printf("\n");
x=0;

}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捷俊亥痴梅
2020-03-16 · TA获得超过1078个赞
知道小有建树答主
回答量:445
采纳率:66%
帮助的人:5.7万
展开全部
for
(i=1;i<=100;i++)
{
if(!is_prime(i))
continue;
printf("%d\n",i);
}
因为你这里用的是continue;continue是跳出本次循环,执行下次循环,
不是break;break才是跳出全部循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式