题目描述
读入一个实数,输出实数的整数部分。注意该实数的位数不超过100位。输入的整数部分可能含有不必要的前导0,输出时应去掉,当然,若整数部分为0,则该0不能去掉。如输入0023.56732,输出应为23,而不是0023;0.123对应的输出应为0。当然输入也可能不含小数部分。
要求定义并使用rounding()函数,原型如下:
char *rounding(char *p)
{
//将字符串p表示的实数取整后生成新的字符串,并由函数返回
}
输入
输入一个实数.
输出
输出整数部分。
样例输入
0012345678900.56789
样例输出
12345678900
#include<stdio.h>
#include<string.h>
#define N 105
char ans[N];
char *rounding(char *p){
//将字符串p表示的实数取整后生成新的字符串,并由函数返回
int i=0,j=0,len=strlen(p);
while(p[i]=='0'){ //去前置0
p[i]='\0';
i++;
}
for(i;i<len;i++){ //截取整数部分
if(p[i]=='.')
break;
ans[j]=p[i];
j++;
}
ans[j]='\0';
return ans;
}
int main(){
char s[N];
scanf("%s",s);
puts(rounding(s));
return 0;
}