算法修炼之练气篇——练气四层

博主分享了作为编程初学者的每日练习计划,包括C语言和洛谷平台的题目,通过练习200多道简单题目获得了蓝桥杯省级一等奖。文章列举了若干道练习题目,涉及整型与布尔型转换、奇偶ASCII值判断、累加求和、计算三角形面积等,同时提供了代码示例和解题思路。
摘要由CSDN通过智能技术生成

博主:命运之光

专栏:算法修炼之练气篇

前言:每天练习五道题,炼气篇大概会练习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;
}

🍓🍓今日份修炼结束,再接再厉!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值