C++微基础备战蓝桥杯之旅
竞赛:洛谷,牛客竞赛,信息学一本通
2025.9.1--9.8的部分练习,零零碎碎的
一.c入门
第一个程序
#include <iostream> // 头⽂件
using namespace std; // 使⽤ std 的名字空间
int main()
{
cout << "hello world!" << endl;
return 0;
}
习题
//输入三个整数
//输入三个整数,整数之间由一个空格分隔。把第二个输入的整数输出。
//
//输入格式
//只有一行,共三个整数,整数之间由一个空格分隔。
//
//输出格式
//只有一行,一个整数,即输入的第二个整数。
//#include <iostream>
//using namespace std;
//
// int main()
// {
//// int n1;
//// int n2;
//// int n3;
// int n1,n2,n3;
// //输入数据
// cin >> n1;
// cin >> n2;
// cin >> n3;
// //输出
// cout << n2;
//
// return 0;
// }
//#include <iostream>
//using namespace std;
//
// int main()
// {
//// int n1;
//// int n2;
//// int n3;
// int n1,n2,n3;
// //输入数据
// cin >> n1 >> n2;
// //输出
// cout << n2 << endl;
//
// return 0;
// }
////给定一个字符,用它构造一个底边长 5 个字符,高 3 个字符的等腰字符三角形。
//
//输入格式
//输入只有一行,包含一个字符
//
//输出格式
//该字符构成的等腰三角形,
//底边长 5 个字符,高 3 个字符。
#include <iostream>
using namespace std;
int main()
{
//输入--字符--char
char ch;
cin >> ch;
//输出
cout << " "<< ch <<" "<<endl;
cout << " "<< ch << ch << ch <<" "<<endl;
cout << ch << ch << ch << ch << ch <<endl;
//右边空格可不打印
return 0;
}
//牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。
//
//输入一个整数
//??
//n,输出这个整数。
#include <iostream>
using namespace std;
int main()
{
int num;
//输入
cin >> num;
//
cout<< num;
return 0;
}
//输入一个 ASCII 码,输出对应的字符。
//一个整数,即字符的 ASCII 码,保证存在对应的可见字符。
//一行,包含相应的字符。
#include <iostream>
using namespace std;
int main()
{
int num;
cin >> num;
char ch =num;
cout << ch <<endl;
return 0;
}
注意!!!
输入的是整数就需要整型int
输入三个数,反序输出这三个数。
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
//入
cin >> a >> b >> c;
//出
cout << c << " " << b << " " << a;
return 0;
}
整型类型存储空间大小
//分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
#include <iostream>
using namespace std;
int main()
{
int n;
short s;
cout << sizeof(n) << " " << sizeof(s) << endl;
return 0;
}
考察sizeof
//鸡兔同笼
//
//#include <iostream>
//using namespace std;
//
//int main()
//{
// int j = 0;
// int t = 0;
// int h = 35;
// int f = 94;
// t =(f - 2*35)/2;
// j = h - t;
//
// cout << t <<' '<< j <<endl;
//
//
// return 0;
//}
//给定 3 个整数 a,b,c,
//计算表达式 (a+b)×c 的值。
//输入仅一行,包括三个整数 a,b,c,
//数与数之间以一个空格分开。
//#include <iostream>
//using namespace std;
//
//int main()
//{
// int a,b,c;
// //输入
// cin >> a >> b >> c;
// //计算
// int ret = (a + b) * c;
// //输出
// cout << ret << endl;
//
//
// return 0;
// }
//给定被除数和除数,
//求整数商及余数。
//此题中请使用默认的整除和取余运算,
//无需对结果进行任何特殊处理。
#include <iostream>
using namespace std;
int main()
{
int a, b;
//入
cin >> a >> b;
//输出
cout << a / b << " " << a % b << endl;
return 0;
}
输入一个整数a,求个位数
输入整数在int范围内
#include <iostream>
using namespace std;
int main()
{
int a = 0;
cin >> a;
//计算
cout << a %10 << endl;
return 0;
}
//输入一个整数,输出其十位
//#include <iostream>
//using namespace std;
//
//int main()
//{
// int a;
// cin >>a;
// cout << (a / 10) %10 <<endl;
//
// return 0;
//}
//时间转换
//给定时间秒数seconds,把秒换为小时,分钟和秒
#include <iostream>
using namespace std;
int sec;
int main()
{
//60秒为1分钟,seconds/60 ,分钟换小时/60
cin >>sec;
int h = sec / 60 / 60;
int m = sec / 60 % 60;
int s = sec % 60;
//输出
cout << h << " " << m << " " << s << endl;
return 0;
}
//小鱼游泳,24小时制,a时b分 到 c时d分
//算小鱼这一天游了多少分钟
//输入,
//一行输入4个整数,以空格隔开,表示a,b,c,d
//输出
//输出e,f,以空格隔开,
//依次 表示小鱼这一天游了多少小时多少分钟
//f <= 60,结束时间晚于开始时间
#include <iostream>
using namespace std;
int a,b,c,d;
int main()
{
cin >> a >> b >> c >> d;
int t1 = a * 60 + b;
int t2 = c * 60 + d;
int t = t2 - t1;
int e = t / 60;
int f = t % 60;
cout << e <<" " << f << endl;
return 0;
}
//练习
//账户 余额
//小明账户余额有100原,经过了以下操作
//往里面存了10 元
//购物花了20元
//把里面的钱全部取出
//请在每次操作后输出账户余额
//balance---余额
#include <iostream>
using namespace std;
int main()
{
int balance = 100;
//1
balance += 10;
cout << balance << endl;
//2
balance -= 20;
cout << balance << endl;
//3
balance = 0;
cout << balance << endl;
return 0;
}
//输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)。
//输入
//输入两个正整数a和b。
//输出a与b交换值后的结果。
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
//交换
//a = b;
//b = a;---错误
//直接交换会乱,显示 都是20
//创建有中介体c
int c = 0;
c = a;
a = b;
b = c;
cout << a << " " << b << endl;
return 0;
}
//练习计算成绩
//总成绩=作业成绩(60)*20% + 小测成绩(90)*30% + 期末成绩(80)*50%
//这门课程最终能得多少分
#include <iostream>
using namespace std;
int a, b, c;
int main()
{
//输入成绩
cin >> a>> b >> c;
//计算
int r = (int)(a * 0.2 + b * 0.3 + c * 0.5);
//强制类型 转换
cout << r << endl;
return 0;
}
//输入一个双精度浮点度,将其向零舍入的含义是
//正数向下舍入,负数向上舍入
//输入--一个双精度浮点数x
//输出--一个整数,即向零舍入到整数的结果
#include <iostream>
using namespace std;
int main()
{
double x;//双精度浮点数
cin >> x;
long long r = (long long)x;
//强制类型转换 若使用int,数值较大时就会错误
cout << r <<endl;
return 0;
}