#include<stdio.h>
#include<string.h>
char *rounding(char *p)
{
int i,j,len;
len=strlen(p);
for(i=0;i<len;i++)
{
if(p[i]=='.')
break;
}
if(i==len)//考虑了不含小数部分的情况
return p;
else//将小数点及其之后的部分去掉
p[i]='\0';
return p;
}
int main()
{
int i;
char *p,arr[1000];
gets(arr);
p=rounding(arr);
for(i=0;p[i]!='\0';i++)
{
if(p[i]!='0'||p[i+1]=='\0')
break;
}
for(int j=i;p[j]!='\0';j++)//设计非常巧妙,避开了不必要的前导零
printf("%c",p[j]);
return 0;
}
HAUT OJ 1166: 实数取整(指针专题)
最新推荐文章于 2024-11-12 21:59:57 发布