当前位置: 代码迷 >> C语言 >> 求助一个简单的问题
  详细解决方案

求助一个简单的问题

热度:91   发布时间:2007-12-11 18:30:45.0
求助一个简单的问题
1.输入一个随意的浮点型数字
2.再输入想要保留的小数个数
3.输出结果(不要使用格式化输出%*.f)
----------------解决方案--------------------------------------------------------
#include <string.h>

int main(void)
{
    int n = 0;
    float fl = 0.0;
    char str[81];
   
    scanf("%f", &fl);
    scanf("%d", &n);

    sprintf(str, "%%.%df", n);

    printf(str, fl);

    return 0;
}
----------------解决方案--------------------------------------------------------
%%.%f 这一段不符合第3条要求。  
----------------解决方案--------------------------------------------------------
2楼上的程序能解释一下吗?
好像也有点小Bug!  
在VC+ 6.0 下测试里, 用 输入 “0.12345” 和 “4”   结果输出 “0.1235”  正确的应该是输出
  ”0.1234 “才对的啊!
??
----------------解决方案--------------------------------------------------------
输入一个浮点数.
/*输出他的小数个数*/
#include "stdio.h"
void main()
{
  char a[50],b;
  
  int i,temp=0;
  //clrscr();
  printf("Please input a float numbers:\n");
  for(i=0;i<=50;i++)
   {a[i]=getchar();

    temp++;if(a[i]=='\n')break; }
   
  scanf("%d",&b);
  
  for(i=0;i<=temp;i++)
   {if(a[i]=='.') temp=i+b;
    printf("%c",a[i]);}   
}
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
把数字当作字符是个好办法..呵呵.学习了.
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]布拉莫斯[/underline][/bold] 于 2007-12-11 19:04 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1143490&ptid=191892][/url]
2楼上的程序能解释一下吗?
好像也有点小Bug!  
在VC+ 6.0 下测试里, 用 输入 “0.12345” 和 “4”   结果输出 “0.1235”  正确的应该是输出
  ”0.1234 “才对的啊!
?? ...


四舍五入
----------------解决方案--------------------------------------------------------
学习了。。 感觉sprintf()功能 在MFC 里用CString 中的 Format() 方法也可以做到.....
----------------解决方案--------------------------------------------------------
  相关解决方案