20241108-C04-循环+数组
原题链接:33673.徐沐瑶专属笔记C++2024-11-10 17:36:13
发布于:江苏
#if 0 
#[学习目标]#:
1.for循环的练习
2.while循环,循环取位数 
3.do while循环
4.数组初识 
#endif 
一. for循环执行过程

二. 条件循环与循环取位数 方法: 
(当条件满足的时候执行循环体)
	int n, i = 1;
	cin >> n;
	while(i<=n){
		cout << i << endl;
		i++;
//		cout << "I love C++" << endl; 
	} 
	%10 ---> 取出最后一位 	
	/10 ---> 删除最后一位 
1234
4 -> 123
3 -> 12
2 -> 1
1 -> 0
	int n; 
	cin >>n;
	while (n != 0){
		cout << n%10 << " ";
		n /= 10; 
	}
三. break 与 continue
	for (int i=1; i<=10; i++){
		if (i == 7){
			continue; //跳过当前循环, 后续的内容会执行 //输出: 1 2 3 4 5 6 8 9 10
//			break; 	//跳出当前循环, 后续的内容不会执行 //输出: 1 2 3 4 5 6
		}
		cout << i << " "; 	
	}  
四. do while
//	while (n != 0){
//		cout << n%10 << ' ';
//		n/=10;
//	} 
	
//	int i = 1;
//	do{
//		cout << i << endl;		//保证循环至少执行1次 
//	}while (i > 10);
	
//	while (i>10){
//		cout << i << end;
//	}
	//可以解决0的问题拆位 
	int n;cin >>n;
	do{
		cout <<n%10;
		n/10;
	} while(n);
练习:[含k个3的数]
题目描述
输入两个正整数m和k,其中1<m<100000,1<k<5,
判断m能否被19整除,且恰好含有k个3,
如果满足条件,则输出YES,否则,输出NO。
提示
1<m<100000,1<k<5
输入格式
输入一行,包含两个整数 m,k。
输出格式
输出一行。
样例组
输入#1
133 2
输出#1
YES 
参考代码: 
	int m, k, cnt = 0;
	cin >> m >> k;
	int tmp = m;	//临时变量:防止m被修改 
	//step1: 统计m中3的数量 
	while(tmp){
		if (tmp%10 == 3) cnt++;
		tmp /= 10; 
	} 
	
	//step2: 判断条件 
	if (cnt == k && m % 19 == 0){
		cout << "YES";
	}
	else{
		cout << "NO";
	}
五、初识array(数组)
#include <bits/stdc++.h>
using namespace std;
//list
//index 下标 
int main()
{
//	array 数组 
//	int a[10] = {8, 2, 4, 5, 3, 2, 1, 8, 2, 9}; 
	int a[10]; 			//未初始化, 随机值 
//	int a[10] = {}; 	//0
//	int a[10] = {9}; 	//a[0]...a[9];	 a[i] 部分初始化, 未初始化的是0 
	
	for (int i=0; i<=9; i++){
		cout << a[i] << ' ';
	} 
	return 0;
}
这里空空如也








有帮助,赞一个