数学函数调用出错,还是其它的?
我想求不大于所输入的最大的整数?即[5.1]=5.#include<stdio.h>
#include<math.h>
main()
{float a;
float b;
printf("please input a unsigned float:");
scanf("%uf\n",a);
if(a>=0)
b=trunc(a);
else
b=-(turnc(-a)+1);
}
还是有好多的问题?
应该用<math.h>中的这个函数
float floor(float x);
#include <math.h>
#include<stdio.h>main()
{
float x;
clrscr();
x=74.12;
printf(\"floor(%.2f)=%.0f\n\",x,floor(x));
x=-74.12;
printf(\"floor(%.2f)=%.0f\n\",x,floor(x));
getchar();
return 0;
}
[此贴子已经被作者于2006-10-8 21:44:35编辑过]
main()
{
float num;
int n;
printf("please input a unsigned float:");
scanf("%f",&num);
printf("the max int=%d",n=num);
getch();
}
这个不就行了
[此贴子已经被作者于2006-10-8 21:45:46编辑过]
用c自带的库函数就好了!有floor是小于此数的最大整数,而ceil是大于此数的最小整数
[此贴子已经被作者于2006-10-8 22:45:20编辑过]
感觉floor 和ceil 应该是宏
double _Cdecl floor (double x);
double _Cdecl ceil (double x);
的确 但是感觉做为函数不如宏好