牛客网刷题总结1.利用%符号获取特定位数的数字。2.强制类型转换 (将float转换为int )3.计算有关浮点型数据时,要注意你计算过程中所有的数据都是浮点型

简介: 牛客网刷题总结1.利用%符号获取特定位数的数字。2.强制类型转换 (将float转换为int )3.计算有关浮点型数据时,要注意你计算过程中所有的数据都是浮点型

1.利用%符号获取特定位数的数字。

2.强制类型转换 (将float转换为int )

3.计算有关浮点型数据时,要注意你计算过程中所有的数据都是浮点型

                                                      4.0/3.0  != 4/3

4.通过位操作符实现输出2的倍数(对于位操作符不熟悉的小伙伴可以看看我之前的博客)

1.

#include <stdio.h>
#include <stdio.h>
要求;1.  只取数字后两位   2.计算结果也只取后两位
 菜鸟(我)的写法
int main()
{
    先定义两个数字
    int a, b;
    scanf("%d %d", &a, &b);
    int i;
    定义两个新的变量,存储后两位;
    int a1, b1;
    a1 = a % 10 + a / 10 % 10 * 10;//第一个运算是得到a的个位数字,第二个运算是得到a的十位数字
    b1 = b % 10 + b / 10 % 10 * 10;
    定义一个变量sum,存放a+b的和
    int sum = a1 + b1;
    sum = sum % 10 + sum / 10 % 10 * 10;
    printf("%d", sum);
    return 0;
}
 更加简单的写法
想得到一个数字的十位和个位吗,%100,得到的余数就是十位和个位
int main()
{
  int a, b;
  scanf("%d %d", &a, &b);
  int sum = a + b;
  printf("%d", sum % 100);
  return 0;
}

2.强制类型转化

题目来源:

//给定一个浮点数,要求得到该浮点数的个位数。
int main()
{
  float a;
  scanf("%f", &a);
  int a1 = (int)a;     //知识点:强制类型转换
  printf("%d", a1 % 10);
  return 0;
}

知识点:

1.float/double  转化为Int类型

float a=1.2,double b=2.22;

int a1 =(int)a,int b1=(int)b;

2.int ->float   int有取值范围,转化过程中太大的数可能无法转化

3.int/float->double  double精度更高,所以不会发生舍入;

4.double->float 可能会发生舍入

3.

计算三角形的周长面积
//计算三角形的周长面积
int main()
{
  //存放三条边
  int a, b, c;
  scanf("%d %d %d", &a, &b, &c);
  float co = a + b + c;
  //用秦九韶公式求解面积
  double p = (a + b + c) / 2.0;//注意这一点一定要除以2.0,因为你的p是小数,除以2,会得到一个整数
  double s = sqrt(p * (p - a) * (p - b) * (p - c));
  printf("circumference=%.2f area=%.2lf", co, s);
  return 0;
}
给定一个球体的半径,计算其体积。其中球体体积公式为 V = 4/3*πr3,其中 π = 3.1415926。,保留三位小数
#define PI 3.1415926
int main()
{
  //定义半径
  float r;
  scanf("%f", &r);
  //计算体积
  double v;
  v = (4.0/ 3.0) * PI * r * r * r;//一定要注意是4.0/3.0不是4/3,4/3会得到1,而不是我们想要的小数
  printf("%.3lf", v);             //在求解浮点型数据时,一定要注意所有的数据都必须为浮点型,否则会数据不正确
  return 0;
}

4.

实现2的n次方运算
 纯计算
#include <math.h>
int main()
{
  int n;
  scanf("%d", &n);
  int k = pow(2, n);
  printf("%d", k);
  return 0;
}
使用位操作符
<<左移操作符能够使数字变大
int main()
{
  定义初始值,为1
  int o = 1;
  定义要移的位数
  int n;
  scanf("%d", &n);
  计算
  int r = o << n;
  printf("%d", r);
  return 0;
}


目录
相关文章
|
3天前
|
存储 Python
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
|
16天前
|
C语言
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
11 0
|
2月前
|
存储 C语言
计算 int, float, double 和 char 字节大小
计算 int, float, double 和 char 字节大小。
30 3
|
2月前
|
存储 Python
Python浮点型(float)
【4月更文挑战第9天】Python中的浮点型(float)表示实数,基于IEEE 754双精度标准,约有15-17位十进制精度。创建浮点型变量可通过直接赋值,如`x = 3.14`。支持加减乘除等运算,但运算可能因精度问题产生不精确结果,如`0.1 + 0.2 != 0.3`。可使用`round()`函数四舍五入,或通过`is_close()`函数比较浮点数是否接近。在需要高精度计算时,建议使用`decimal`模块。
27 2
|
2月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
101 1
|
2月前
|
存储 C语言
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
学习总结(位操作符;循环输入的三种方式;交换两个变量值的三种方法;打印数字对应的二进制;unsigned int 与int 的区别;改变特定位数0/1;&&和||的连续操作(与前置,后置结合))
45 0
|
2月前
|
数据采集 分布式计算 数据处理
Dataphin常见问题之与指定类型int不兼容如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
2月前
|
SQL 流计算 OceanBase
OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
【2月更文挑战第25天】OceanBase CDC从热OB库采集过来的Tinyint(1)类型会默认转换成Boolean,请教一下,如果想转换成int类型,有什方法么?
50 3
|
26天前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之int类型是否可以为raw feature
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
27天前
|
运维 Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之布尔类型和int类型可以自动转换吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
127 1