用字符串方式读入
用sscanf 转为 整型 存入 int a[100];
小数点位在n1中,位子 从左端起算,第一个位置为0
没有 小数点 时 n1=200。
程序如下。
例如
输入: 1234567891234567.890123456789
输入:.1234
输入:0.1234 等都可以
#include <stdio.h>
void main(void)
{
char str[100];
int a[100];
int i,len,n1=200,n2;
printf("please enter the number\n");
fgets(str,99,stdin);
len = strlen(str);
len =len-1;
str[len] = '\0';
for (i=0;i<len;i++){
if (str[i] == '.') { n1 = i; continue; }
if (n1 == 200) {sscanf(&str[0]+i,"%1d",&a[i]); } else
{sscanf(&str[0]+i,"%1d",&a[i-1]);
};
};
if (n1 != 200) printf("\ndot at location %d\n",n1);
if (n1 != 200) len--;
for (i=0;i<len;i++){
if (i == n1) printf(".");
printf("%1d",a[i]);
}
}
温馨提示:答案为网友推荐,仅供参考