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;
}
这里空空如也
有帮助,赞一个