C语言分支循环三个例题

1.猜数字游戏

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
void menu() {//游戏菜单打印
	printf("------猜数字游戏------\n");
	printf("**** 猜1到100之间的随机数 ****\n");
	printf("****     开始游戏:1     *****\n");
	printf("****     结束游戏:0     *****\n");
	printf("******************************\n");
}
void game() {//猜数字游戏本体
	system("cls");
	printf("游戏开始\n");
	int r = rand() % 100 + 1;
	int guess = 0,count=N;
	while (count) {
		scanf("%d", &guess);
	if (guess > r)
		printf("猜大了,继续\n");
	else if (guess < r)
	{
		printf("猜小了,继续\n");
	}
	else {
		printf("猜对了,恭喜,游戏结束,数字是%d\n",guess);
		break;
	}
	count--;
	}
	if (count == 0)
		printf("次数用完,游戏失败");
}
void main() {
	int input;
	srand((unsigned int)time(NULL));
	do {
		menu();
		scanf("%d", &input);
	switch (input) {
	case 1:game();
			break;
	case 0:printf("游戏结束\n");
			break;
	default:
			printf("输入错误,重新输入\n");
			break;
	}
	} while (input);
	
	return 0;
}

输出
在这里插入图片描述

2.打印素数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#define MIN 100
#define MAX 200
void test() {
	printf("打印%d到%d的素数\n",MIN,MAX);
	int count = 0;
	for (int i = MIN; i <= MAX; i++)
	{
		for (int j = 2; j < sqrt(i); j++)
		{
			if (i % j == 0) 
			{
				printf("%d ", i);
				count++;
				break;
			}
		}
		if (count == 8) {
			count = 0;
			printf("\n");
		}
			
	}
}
int main() {
	test();
	return 0;
}

输出
在这里插入图片描述

3.打印乘法口诀表

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void test() {
	for (int i = 1; i <= 9; i++)
	{
		for (int j = 1; j <= i; j++)
		{
			printf("%d*%d=%d	", j, i, j * i);
		}
		printf("\n");
	}
}
int main() {
	test();
	return 0;
}

输出
在这里插入图片描述
在 C 语言中,循环结构用于反复执行某段操作,直到特定条件不再满足,主要有三种形式,核心差异体现在执行逻辑和适用场景上:
while 循环先检查条件是否成立,若成立则执行循环内容,执行后再次检查条件,如此反复;若条件不成立,则直接跳过循环。这种循环的特点是 “先判断,后执行”,循环内容可能一次都不执行,适合条件未知、需动态判断的场景。
do-while 循环先执行一次循环内容,再检查条件是否成立;若成立则继续执行循环内容,之后再次检查条件;若不成立则结束循环。其特点是 “先执行,后判断”,循环内容至少会执行一次,适合需要确保初始操作必须完成的场景,比如用户输入验证。
for 循环将循环的初始化(如设置起始值)、条件判断(决定是否继续循环)、迭代操作(如更新循环变量)整合在一起,结构更紧凑。适合已知循环次数或循环范围明确的场景,逻辑上与 while 循环类似,但通过集中控制参数,使循环流程更清晰。
此外,循环中可通过两个语句控制流程:break用于立即终止整个循环,直接跳出循环体;continue用于跳过当前循环中剩余的操作,直接进入下一次循环的条件判断。这些控制语句能灵活调整循环的执行路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值