241109-C02-循环+数组
原题链接:33265.笔记 汇总2024-11-10 09:56:02
发布于:江苏
#if 0
五、array: 数组
// int a[10] = {0}; //全是0
// int a[10] = {3, 2, 78, 45, 23, 12, 1, 7, 9, 87};//正常初始化
// int a[10] = {3,2,78}; //部分初始化,未初始化的部分是0
// int a[10] = {}; //初始化为0
int a[10]; //不初始化则为随机值
//遍历,枚举,编号范围 0 ~ 9
//i: index, 下标, 索引
for (int i=0; i<=9; i++){
cout << a[i] << ' ';
}
实例1:A364.逆序输出
int a[1005] = {}, n;
cin >> n;
//从1开始, 0的位置空出来
for (int i=1; i<=n; i++) cin>>a[i];
for (int i=n; i>=1; i--) cout<<a[i] << " ";
实例2:A30703.【一维数组】【入门】输出数组中最大数的位置
int a[15] = {}, n;
cin >> n;
for (int i=1; i<=n; i++) {
cin >> a[i];
}
//打擂台
int leizhu = a[1]; //先假设第一个人是擂主
for (int i=2; i<=n; i++)
{
if (a[i] > leizhu) { //依次挑战 如果比擂主大 那么就更新擂主
leizhu = a[i];
}
}
//挨个比较找到 并且 输出擂主的位置
for (int i=1; i<=n; i++){
if (a[i] == leizhu){
cout << i << endl;
}
}
实例3:A463.删除数字
#include <iostream>
using namespace std;
int main(){
bool flag = 0; //标记是否第一次删除
int a[1005], n, x;
cin >> n;
for (int i=1; i<=n; i++) cin>>a[i];
cin >> x;
for (int i=1; i<=n; i++) {
//如果是第一次删除, 那么后面就不删除了
if (a[i] == x && flag == 0){
flag = 1;
continue;
}
cout << a[i] <<' ';
}
return 0;
}
四、break & continue
for (int i=1; i<=10; i++){
if(i==7) {
// break; //跳出当前循环,后面的不执行
continue; //跳过本次循环,本次之后的还会执行
}
cout << i << " ";
}
/*
int i = 1;
do{
cout << 1 << endl;
} while (i>10);
while (i>10){
cout << 1 << endl;
}
*/
三、小数控制
double pi = 3.1415926;
// 方法1: C
printf("%.3lf", pi);
cout <<endl;
// 方法2:C++
cout<<fixed<<setprecision(3)<<pi<<endl; //#include <iomanip>
// int a = 10, A = 20;
// cout << 1a;
int int = 6;
cout << int;
变量名(标识符)的规则:
1. 由字母、数字、下划线组成
2. 不能以数字开头
3. 区分大小写
4. 不能是关键字
5. 在同一个范围内,不能同名
二、自定义函数 和 系统库函数(cmath)
cout << pow(2, 3) << endl; //幂函数
cout << abs(-6) << endl; //绝对值
cout << sqrt(64) << endl; //平方根
cout << floor(4.5) << endl; //向下取整
cout << ceil(4.5) << endl; //向上取整
cout << max(5, 3) << endl; //取较大值
cout << min(4, 3) << endl; //取较小值
//自定义函数
//库函数 (function功能)
#include <iostream> //1
#include <cmath>
using namespace std; //2
//1.函数的声明
int f();
//2. 函数的定义, 功能
bool f(){ //返回值类型
cout << "I love C++";
return 1;
}
//3.主函数,入口
int main(){
f(); // 3. 函数的调用
cout << 1 << endl; //域解析符号
return 0;
}
函数应用: 回文数的判断
#include <iostream>
using namespace std;
//function:判断是否回文·
bool check(int x){
int num = 0, tmp = x;
while (x){
num = num*10 + x%10;
x/=10;
}
if (num == tmp) return 1;
else return 0;
}
int main(){
int n; cin >> n;
for (int i=1; i<=n; i++){
if (check(i) == 1){ //判断i是不是回文数 (传参)
cout << i << endl;
}
}
return 0;
}
一、逆序组合数的过程:
num = 0;
n = 120
num = num*10 + n%10 //4
n/=10
num = num*10 + n%10 //43
n/=10
num = num*10 + n%10 //432
4
43
432
4321
int n;
cin >> n;
while (n != 0){
cout << n%10;
n /= 10;
}
#endif
这里空空如也
有帮助,赞一个