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 
这里空空如也








有帮助,赞一个