【手把手带你刷好题】--C语言基础编程题(三)

🔥个人主页:@草莓熊Lotso

🎬作者简介:C++研发方向学习者

📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》

⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 

前言:本篇博客是刷题集中的第三篇,题目都是一些比较基础的IO型题目,适合C语言初学者。特别声明一下,这里提供的答案和思路都并非唯一,仅供参考。


目录

1.计算体重指数

2. 计算三角形的周长和面积

3.计算球体的体积 

4.成绩输入输出

5. 变种水仙花数

 6. kiki算数

7.浮点数的个位数字

8. 你能活多少秒


1.计算体重指数

题目链接:计算体重指数__牛客网

题目描述:

 题目示例:

代码演示: 

#include <stdio.h>

int main() 
{
    int k=0;
    int c=0;
    scanf("%d %d",&k,&c);
    float c_m=c/100.0;
    float bmi=k/(c_m*c_m);
    printf("%.2f",bmi);
    return 0;
}

题目解析: 

  • 本题需要注意题目所给到的体重指数计算方法以及单位转换的问题
  • 还有 / 号,左右两边的操作数必须有一个是浮点数,结果才会是浮点数
  • 再就是直接按要求计算就行了,记得保留两位小数

2. 计算三角形的周长和面积

题目链接:计算三角形的周长和面积_牛客题霸_牛客网

题目描述: 

题目示例: 

代码演示: 

#include <stdio.h>
#include<math.h>
int main() 
{
    int a=0;
    int b=0;
    int c=0;
    scanf("%d %d %d",&a,&b,&c);
    double circumference=a+b+c;
    double p=(a+b+c)/2.0;
    double area=sqrt(p*(p-a)*(p-b)*(p-c));
    printf("circumference=%.2lf area=%.2lf",circumference,area);
}

题目解析: 

  • 这一题计算周长很简单,3个边相加就行
  • 如果需要计算面积的话就得借助海伦公式了(直接点击,可以跳转到相关界面了解一下)
  • 知道公式之后,直接代入就可以了

3.计算球体的体积 

题目链接:计算球体的体积_牛客题霸_牛客网

题目描述:

题目描述: 

代码演示: 

#include <stdio.h>

int main() 
{
    double r=0.0;
    double pai=3.1415926;
    scanf("%lf",&r);
    double v=(4.0/3.0)*pai*(r*r*r);
    printf("%.3lf",v);
    return 0;
}

题目解析: 

  • 这题照着公式写代码就可以了,相关信息题目都给了
  • 注意这里用float类型精度是不够的,得用double类型,对浮点数在内存中的存储感兴趣的可以看看下面这篇博客

【数据在内存中的存储】--整数在内存中的存储,大小端字节序和字节序判断,浮点数在内存中的存储https://blog.csdn.net/2503_91389547/article/details/148089414?spm=1001.2014.3001.5501


4.成绩输入输出

题目链接:成绩输入输出_牛客题霸_牛客网

题目描述: 

题目示例:

代码演示: 

#include <stdio.h>

int main() 
{
    int score1=0;
    int score2=0;
    int score3=0;
    scanf("%d %d %d",&score1,&score2,&score3);
    printf("score1=%d,score2=%d,score3=%d",score1,score2,score3);
}

题目解析: 

  • 这题很简单,根据题目要求输入输出就行了
  • 这里也是可以用数组存起来然后输入输出的,大家可以自己试一下

5. 变种水仙花数

题目链接:变种水仙花_牛客题霸_牛客网

题目描述:

代码演示: 

#include <stdio.h>

int main() 
{
    int i=0;
    for(i=10000;i<=99999;i++)
    {
        int n=0;
        int sum=0;
        int temp=i;
       for(n=10000;n>=10;n/=10)
        {
            sum+=(temp/n)*(temp%n);
        }
        if(sum==i)
        {
            printf("%d ",i);
        }
    }
    return 0;
}

题目解析: 

  • 我们分析题目可以看出,变种水仙花数求和的每一项都是对同一个数(10/100/1000……)取模或者整除取商
  • 这样的话,我们只要生成10,100……这些数字,再用被判断的数字对它们取模或者整除取商,乘起来,然后相加计算和就行
  • 最后得出的和sum如果等于被判断数字本身,那就是变种水仙花数了

 6. kiki算数

题目链接:kiki算数_牛客题霸_牛客网

题目描述: 

题目示例: 

代码演示: 

#include <stdio.h>

int main() 
{
   int a=0;
   int b=0;
   scanf("%d %d",&a,&b);
   int c=(a+b)%100;
   printf("%d",c);
   return 0;
}

题目解析: 

  • 这题也比较简单,先计算出a+b的值,然后根据题目要求超过100取最后两位的话直接模100就行了,而且就算没超过模上100也不会有影响

7.浮点数的个位数字

 题目链接:浮点数的个位数字_牛客题霸_牛客网

题目描述: 

题目示例: 

代码演示: 

#include <stdio.h>

int main() 
{
    double a=0;
    scanf("%lf",&a);
    int n=(int)a;
    printf("%d",n%10);
    return 0;
}

题目解析: 

  • 这题首先就是输入之后先想办法把浮点数的小数位去掉,直接定义一个int类型的变量n,再把a强制类型转换为int类型,这里就剩整数位了
  • 后面就很简单了,模个10就能得出对应的个位数

8. 你能活多少秒

题目链接:你能活多少秒_牛客题霸_牛客网

题目描述: 

题目示例: 

代码演示:

#include <stdio.h>
#include<math.h>

int main() 
{
    int age=0;
    int year_s=3.156*pow(10,7);
    scanf("%d",&age);
    long long live=age*year_s;
    printf("%lld",live);
    return 0;
}

题目解析: 

  • 这题比较简单,根据题目要求计算就行了,用你的年龄乘以一年多少秒
  • 这里秒后面有个10的7次方,可以用pow函数(记得带对应头文件),也可以用E7来表示

往期回顾: 

【手把手带你刷好题】--C语言基础编程题(一)

【手把手带你刷好题】--C语言基础编程题(二)

【数据结构初阶】--算法复杂度的深度解析

结语: 本篇文章就到此结束了,C语言刷题集专栏中的第三篇的题目比前面两篇要难一点,涉及到了一些小的知识点,适合刚学完C语言的朋友们拿来练手,巩固知识点,提升自己的代码能力。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值