当前位置: 首页 > article >正文

牛客网刷题总结

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;
}


http://www.kler.cn/a/14721.html

相关文章:

  • JDBC重点
  • 大数据之Hadoop分布式计算框架MapReduce
  • ChatGPT 克隆方案,开源了!开箱即用
  • 如何在项目中使用不同版本的包?
  • CentOS----本地YUM源配置
  • OSCP-AuthBy(Server 2008提权)
  • Matlab 牛顿迭代法(1)牛顿法
  • 使用buildroot编译完整系统【IMX6ULLPRO】
  • 个人APP开发者必备!直客预算助力APP变现高效策略
  • Go 1.21新特性前瞻
  • Redis入门学习笔记【一】
  • 用好Python自然语言工具包-- 实例“基于本地知识库的自动问答”
  • 第8章:树
  • BCSP-玄子前端开发之JavaScript+jQuery入门CH10_jQuery基础
  • 玩机搞机----mtk芯片机型 另类制作备份线刷包的方式 读写分区等等
  • PTA L2-045 堆宝塔 (25 分)
  • Android13 wifi状态问题分析
  • 适合程序员阅读的有用书籍:
  • Windows逆向安全(一)之基础知识(十八)
  • 2023首场亚马逊云科技行业峰会,医疗与生命科学年度盛会精彩先行