# include <stdio.h>
int main (void)
{
int x=17,y=4;
printf ("x除以y等于%f \n",x*1.0/y);
}(x+n-1)/n
我觉得如果把 hour = 11; minute = 59; 写成 hour = 11; minute = 59; 代码更美观易读易于接受。 变量声明亦是如此。
在printf中加入计算实际上是不符合结构化程序设计的。 很多情况下我们都不知道那个计算到底是在计算什么。 更好的方法是使用一个变量来保存计算结果。 之后再用printf输出这个变量的值。 建议添加这一点。
数学的魅力真是无穷呀,宋老师说的一点都没错
(x+n-1)/n=x/n+(n-1)/n 就是在原来结果的基础上加一个极限为1的小数,应该这么理解吧
这个。。。我怎么没看明白你的理解。。。 我觉得这个问题不需要从小数和极限来理解吧,就是一个整数问题。
如果输入的两个数字是30和2,那ceiling的结果就是15。可是如果按照(x+n-1)/n的算法那就是8了?。。。
上面那个写错了应该是16
我写的程序,宋老师帮忙看一下
#include <stdio.h>
#include <math.h>
int main(void)
{
float num1,num2;
float s1,s2,s3;
printf("Input the first number1:");
scanf("\n%f",&num1);
printf("\nInput the first number2:");
scanf("\n%f",&num2);
s1=(int)(num1/num2);
printf("\nS1=%f",s1);
s2=num1/num2;
printf("\nS1=%f",s2);
s3=s2-s1;
if (s3==0)
{
printf("\nRes is:%f",s2);
}
else printf("\nRes is:%f",s1+1);
}这样行不行?
#include <math.h>
#include <stdio.h>
int main(void) {
double x = 16, n = 4;
int res = ceil(x/n);
printf("%d", res);
return 0;
}楼上的程序我运行了一下,但由于有math.h头文件的存在,需要在编译时加上-lm选项,请问这是为什么呢?请不吝赐教!
老师帮忙看看我做的练习有没有做对。
各位也帮忙评评我做的有没有做对吧。谢谢。
[code]
#include <stdio.h>
int ReCeiling(int m)
{
//printf("%d",m);
return m;
}
int main()
{
float x=17,n=4,m;
int c;
m=x/n;
c=ReCeiling(m);
if(m>c)c=m+1;
printf("\nGet Ceiling is %d \n",c);
}
[/code]我是新手,这个题目有谁知道答案的发一下 给参考下好吗?
本来老师给了答案,我也不好说什么,上面发了很多代码的同学我估计老师再有耐心也不会看下去的 (x+n-1)/n可以很好实现要求
如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!