急求一个c程序!!!高分

来源:百度知道 编辑:UC知道 时间:2024/06/20 05:57:00
用%s控制输入一个数字字符串.将其转换为对应的数字并用相应的控制格式输出.例如输入字符串"1234",则用%d控制格式输出1234;输入字符串"12.34"
则用%lf控制格式输出12.34

#include <stdio.h>
#include <ctype.h>
main ()
{
char s[100];
char c;
int i=0,sign;
double val,power;
printf("please input the form:\n");
while((c=getchar())!='\n')
{
s[i++]=c;
}
i=0;
sign=(s[i]=='-')? -1:1;
if(s[i]=='+'||s[i]=='-')
i++;
for(val=0.0;isdigit(s[i]);i++)
val=10.0*val+(s[i]-'0');
if(s[i]=='.')
{
i++;
for(power=1.0;isdigit(s[i]);i++)
{
val=10.0*val+(s[i]-'0');
power=power*10.0;
}
printf("%lf",sign*val/power);
}
else
{
printf("%d",(int)val*sign);
}
getch();
}
不知道可否满足你的要求。