博主:命运之光
专栏:算法修炼之练气篇
前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
目录
题目 2760: 整型与布尔型的转换
题目描述
输入格式
输出格式
样例输入
样例输出
题目 2781: 奇偶ASCII值判断
题目描述
输入格式
输出格式
样例输入
样例输出
题目 2544: N以内累加求和
题目描述
输入格式
输出格式
样例输入
样例输出
N以内累加求和(高斯)
题目 2774: 计算三角形面积
题目描述
输入格式
输出格式
样例输入
样例输出
提示
题目 1204: 大小写转换
题目描述
输入格式
输出格式
样例输入
样例输出
🍓🍓今日份修炼结束,再接再厉!!!
题目 2760: 整型与布尔型的转换
题目描述
将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?
输入格式
一个整型范围内的整数,即初始时整型变量的值。
输出格式
一个整数,经过上述过程后得到的结果。
样例输入
3
样例输出
1
这样写,在编译器上能过,但提交后会显示编译错误
#include<stdio.h>
int main()
{
int a,b;
bool c;
scanf("%d",&a);
c=a;
b=c;
printf("%d",b);
return 0;
}
原因是缺少头文件#include<stdbool.h>所以加上头文件就能过编译了
#include<stdio.h>
#include<stdbool.h>//这个头文件我也是第一次见
int main()
{
int a,b;
bool c;
scanf("%d",&a);
c=a;
b=c;
printf("%d",b);
return 0;
}
题目 2781: 奇偶ASCII值判断
题目描述
任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出NO。
例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输出NO。
输入格式
输入一个字符。
输出格式
如果其ASCII值为奇数,则输出YES,否则,输出NO。
样例输入
A
样例输出
YES
#include<stdio.h>
int main()
{
char n;
scanf("%c",&n);
if(n%2==0)
{
printf("NO");
}
else
{
printf("YES");
}
return 0;
}
题目 2544: N以内累加求和
题目描述
输入一个数字N,输出N以内(包含N)的数字之和 (N不超过1000)
输入格式
数字N
输出格式
N以内(包含N)的数字之和
样例输入
10
样例输出
55
N以内累加求和(高斯)
还记得那个口号吗?
首项加末项乘以项数除以二,我记得我上小学奥数第一节课教的就是这个,好怀念🍓
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d",(n+1)*n/2);
return 0;
}
题目 2774: 计算三角形面积
题目描述
平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。
输入格式
输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。
输出格式
输出也是一行,输出三角形的面积,精确到小数点后两位。
样例输入
0 0 4 0 0 3
样例输出
6.00
提示
海伦公式
#include<stdio.h>
#include<math.h>
int main()
{
double p;
double S;
double a,b,c;
double x1,x2,x3,y1,y2,y3;
scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3);
//两点之间距离公式
a=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
a=sqrt(a);
b=(x1-x3)*(x1-x3)+(y1-y3)*(y1-y3);
b=sqrt(b);
c=(x2-x3)*(x2-x3)+(y2-y3)*(y2-y3);
c=sqrt(c);
//海伦公式,已知三角形三边求三角形面积
//p=(a+b+c)/2,S=√[p(p-a)(p-b)(p-c)]
p=(a+b+c)/2;
p=p*(p-a)*(p-b)*(p-c);
S=sqrt(p);
printf("%.2f",S);
return 0;
}
鬼知道我把两点间距离公式记成减号,答案输出时候是-1我当时有多懵逼,调试半天发现边长b长度居然是个负数才发现,公式记错了,寄,海伦公式没记错,两点间距离公式居然记错了
题目 1204: 大小写转换
题目描述
读入一些字符串,将其中的小写字母转成大写字母(其他字符不变)。
输入格式
输入为多行,每行为一个字符串,字符串只由字母和数字组成,长度不超过80。输入以“End of file”结束。
输出格式
对于每行输入,输出转换后的字符串。
样例输入
Hello ICPC2004 12345abcde
样例输出
HELLO ICPC2004 12345ABCDE
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(getline(cin,s))//getline(cin,s)为什么用的时候老忘
{
if(s=="End of file")
{
return 0;
}
for(int i=0;i<s.length();i++)//string长度获取是s.length()为什么用的时候老忘
{
if(s[i]>='a'&&s[i]<='z')
{
s[i]=s[i]-32;
}
}
cout<<s<<endl;//直接输出就行了,为什么我当时用了一个循环
//无语了!我以为是秒杀题,没想到好多常用的打的时候发现自己忘了,晕倒,,
}
return 0;
}