while循环基础练习题

程序模拟教师检查学生学习任务,包括上午阅读教材和下午上机编程,直至任务合格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老师每天检查小明的学习任务是否合格,如果不合格则继续进行,学习任务为:上午阅读教材,下午上机编程。

public static void main(String[] args) {
		String next;
		Scanner sc=new Scanner(System.in);
		System.out.println("合格了吗");
		    next = sc.next();
		while("不合格".equals(next)) {
			System.out.println("上午阅读教材");
			System.out.println("下午上机编程");
			System.out.println("合格了吗");//每次循环完继续问,直到合格为止。
			next = sc.next();
		}
		System.out.println("恭喜学习任务合格");
		sc.close();
	}

do-while循环:

特点:先执行,再判断

这天老师给小明出了一道测试题,让他上机编写程序完成,老师来查看是否合格,如果不合格则继续编写..

public static void main(String[] args) {
		String next;
		Scanner sc=new Scanner(System.in);
		do {
			System.out.println("上机编写程序!");
			System.out.println("是否合格?");
			next=sc.next();
		}while("不合格".equals(next));
		System.out.println("恭喜通过测试!");
	}

 

<think>好的,我现在需要帮助用户找到关于C语言while循环练习题。首先,用户提到他们之前的问题是关于快速排序和CyYan的信息,但这次他们转向了C语言基础练习,特别是while循环。用户是初学者,所以需要简单易懂的题目和示例。 先回顾用户提供的引用内容。引用1是一个简单的字符输入输出程序,引用2是关于比较三个数大小和打印3的倍数数字的循环练习题。用户现在明确要求while循环练习题,所以需要基于这些引用中的例子,设计类似的题目,但专注于while循环结构。 用户上一次的问题涉及代码示例,比如快速排序的实现,所以可能需要提供类似的代码示例,但用while循环来解决。同时,用户希望练习题尽可能多,因此需要设计多个不同难度的题目,从基础到应用逐步深入。 接下来,我需要确保练习题覆盖while循环的基本用法,比如计算累加、处理数字位数、判断素数等。同时,结合引用中的例子,比如输入处理和条件判断,可以设计需要用户输入数据并使用while循环处理的题目。 还要注意代码的正确性和简洁性,确保示例代码符合C语言标准,并且适合初学者理解。可能需要添加注释或分步骤解释,帮助用户理解每个练习题的目的和解决思路。 最后,生成相关问题,引导用户进一步练习,比如优化代码或扩展功能,这样可以帮助他们巩固知识并挑战更高难度的问题。确保所有数学表达式和代码块格式正确,符合用户之前提到的系统级指令。</think>### C语言while循环基础练习题(含代码示例) 根据您提供的引用内容和需求,以下是5个适合初学者的`while`循环练习题,涵盖基础语法和实际应用场景: --- #### **题目1:计算1-100的累加和** ```c #include <stdio.h> int main() { int sum = 0, i = 1; while (i <= 100) { sum += i; i++; } printf("1+2+...+100 = %d\n", sum); return 0; } ``` **目标**:理解循环变量自增和累加逻辑[^2] --- #### **题目2:输入正整数,逆序输出各位数字** ```c #include <stdio.h> int main() { int num, digit; scanf("%d", &num); while (num > 0) { digit = num % 10; // 取最后一位 printf("%d", digit); num /= 10; // 去掉最后一位 } return 0; } ``` **示例输入**:`1234` → **输出**:`4321` --- #### **题目3:统计输入字符的个数(以#结束)** ```c #include <stdio.h> int main() { char ch; int count = 0; printf("输入字符(以#结束):"); while ((ch = getchar()) != &#39;#&#39;) { count++; } printf("总字符数:%d\n", count); return 0; } ``` **技巧**:`getchar()`与结束符条件判断[^1] --- #### **题目4:判断素数(优化版)** ```c #include <stdio.h> #include <math.h> int main() { int n, i = 2, flag = 1; scanf("%d", &n); while (i <= sqrt(n)) { // 减少循环次数 if (n % i == 0) { flag = 0; break; } i++; } printf("%d %s素数\n", n, (flag && n>1) ? "是" : "不是"); return 0; } ``` **数学原理**:若$n$不是素数,必有一个因子$\leq \sqrt{n}$[^2] --- #### **题目5:斐波那契数列前N项(动态输出)** ```c #include <stdio.h> int main() { int n, a=0, b=1, cnt=2; scanf("%d", &n); printf("0 1 "); while (cnt < n) { int next = a + b; printf("%d ", next); a = b; b = next; cnt++; } return 0; } ``` **输入示例**:`5` → **输出**:`0 1 1 2 3` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值