c语言中关于不同小数点后位数的打印

文章描述了一个C语言程序,用于计算给定半径的圆面积,并根据面积是否为整数或小数点后一位或两位,以不同的精度输出结果。
摘要由CSDN通过智能技术生成

eg:现让求圆的面积(半径r,Π按3.14算),求圆的面积。(ps : 3.14*1*1 和 3.14*5*5)

思想 : 当半径为1时,此时圆面积为3.14;当半径为5时,此时圆面积为78.5

将两面积同时乘以100,然后同时%10此时看谁的值不等于0,就打印小数点后有两位小数的数,然后剩下的就打印小数点后有一位小数的数(如果现有小数点后有三位小数,两位小数,和一位小数的三个数,此时先同时*1000%10,看谁的值不等于0,谁就是小数点后有三位小数的那个数,然后剩下的两个数再在原先数字上*100%10,然后同上)

代码:

#include <stdio.h>
int main()
{
	int r = 0;
	scanf("%d", &r);	
	double s = 3.14 * r * r;
    //判断面积(s)是否在计算出来后为整数
	if (s - (int)s)
	{
    //判断面积(s)是否是小数点后一位小数
		if ((int)(s * 100) % 10 == 0)
			printf("%.1lf\n", s);
		else
			printf("%.2lf\n", s);
	}
	else
		printf("%d\n", (int)s);
	return 0;
}

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值