实数取整

(Description已知一个字符串表示一个实数(不超过100位) ,请输出其整数部分,且输出不含前导0,但如果该整数为0,则输出0)

Description已知一个字符串表示一个实数(不超过100位) ,请输出其整数部分,且输出不含前导0,但如果该整数为0,则输出0。

Input一个实数(不超过100位)

Output
该实数的整数部分

Sample Input
00123.45

Sample Output
123

在这里插入代码片
#include<stdio.h>
#include<string.h>
void dd(char *x,int y);
int main(void)
{
 char a[100];
 int b,c,n = 0;
 gets(a);
 b = strlen(a);
 if(b == 1)
 {
  printf("%c",a[0]);
 }
 else
 {
  for(c = b -1;c >= 0;c--)
  {
   if(a[c] != '0'&&a[c] != '-')
   {
    n = 1;
    break;
   }
  }
  if(n == 1)
  {
   dd(a,b);
  }
  else
  {
   printf("0");
  }
 }
 return 0;
} 
void dd(char *x,int y)
{
 int i,a,b,c,n,m = 0;
 if(x[0] == '-')
 {
  n = 1;
 }
 else
 {
  n = 0;
 }
  for(i = n;i < y;i++)//-000.123
  {
   if(x[i] != '.')
   {
   if(x[i] != '0'&&x[i] != '.')
   {
    m = 1;
    break;
   }
      }
      else
      {
       printf("0");
       return;
   }
  }
  if(n == 1)
  {
   printf("-");
  }
 for(i = n;i < y;i++)
 {
  if(x[i] > '0'&&x[i] <= '9')
  {
   break;
  }
 }
 for(a = i;a < y;a++)
 {
  if(x[a] == '.')
  {
   break;
  }
  else
  {
   printf("%c",x[a]);
  }
 }
}
//代码还是挺复杂的,有简单方法的伙伴可以评论一下
//一起进步
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
14.DEGREES 用途:将弧度转换为度。 语法:DEGREES(angle) 参数:angle是采用弧度单位的一个角度。 实例:公式“=DEGREES(1)返回57.29577951”, =DEGREES(PI()/3)返回60。 15.EVEN 用途:返回沿绝对值增大方向,将一个数值取整为最接近的偶数。 语法:EVEN(number) 参数:number是要取整的一个数值。实例:如果A1=-2.6 则公式“=EVEN(A1)”返回-4;=EVEN(-4.56+6.87)返回4。 16.EXP 用途:返回e的n次幂。语法:EXP(number) 参数:Number为底数e的指数。 注意:EXP函数是计算自然对数的LN 函数的反函数。 实例:如果A1=3,则公式“=EXP(A1)”返回20.085537 即e3。 17.FACT 用途:返回一个数的阶乘,即1*2*3*...*该数。 语法:FACT(number) 注意:Number是计算其阶乘的非负数。如果输入的Number 不是整数,则截去小数部分取整数。 实例:如果A1=3,则公式“=FACT(A1)”返回6;=FACT(5.5) 返回1*2*3*4*5.5 即120。 18.FACTDOUBLE 用途:返回参数Number 的半阶乘。 语法:FACTDOUBLE(number) Number 要计算其半阶乘的数值,如果参数Number 为非整数,则截尾取整。 注意:如果该函数不存在,应当运行“安装”程序加载“分析工具库”。 实例:公式“=FACTDOUBLE(4)”返回8。 19.FLOOR 用途:将参数Number 沿绝对值减小的方向去尾舍入,使其等于最接近的significance 的倍数。 语法:FLOOR(number,significance) 参数:Number为要舍入的某一数值,Significance为该数值的倍数。 实例:如果A1=22.5, 则公式“=FLOOR(A1,1)”返回22; =FLOOR(-2.5,-2)返回-2。 20.GCD 用途:返回两个或多个整数的最大公约数。语法:GCD(number1,number2,...) 参数:Number1,number2, ...为1 到29 个数值,如果数值为非整数,则截尾取整。说明:如果该函数不存在,必须运行“安装”程序加载“分析工具库”。 实例:如果A1=16、A2=28、A3=46,则公式“=GCD(A1:A3)”返回2。 21.INT 用途:将任意实数向下取整为最接近的整数。 语法:INT(number) 参数:Number为需要处理的任意一个实数。 实例:如果A1=16.24、A2=-28.389, 则公式“=INT(A1)”返回16,=INT(A2)返回-29。 ...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值