Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 我试图将整数N/2转换为double,以便floor()函数可以使用它,但输出总是一个垃圾值 #包括 #包括 int main() { int T,G,I,Q; 长整型N; scanf(“%d”、&T); 而(T--) { scanf(“%d”和“&G”); 而(G--) { scanf(“%d%lld%d”、&I、&N、&Q); 如果(N%2==0) printf(“%lld”,N/2); 否则{ 如果(I==Q) printf(“%lld\n”,(int)(楼层((双)(n/2)); 其他的 printf(“%lld\n”,(int)层((双)(n/2)+1)); } } } }_Algorithm_Casting_Floor - Fatal编程技术网

Algorithm 我试图将整数N/2转换为double,以便floor()函数可以使用它,但输出总是一个垃圾值 #包括 #包括 int main() { int T,G,I,Q; 长整型N; scanf(“%d”、&T); 而(T--) { scanf(“%d”和“&G”); 而(G--) { scanf(“%d%lld%d”、&I、&N、&Q); 如果(N%2==0) printf(“%lld”,N/2); 否则{ 如果(I==Q) printf(“%lld\n”,(int)(楼层((双)(n/2)); 其他的 printf(“%lld\n”,(int)层((双)(n/2)+1)); } } } }

Algorithm 我试图将整数N/2转换为double,以便floor()函数可以使用它,但输出总是一个垃圾值 #包括 #包括 int main() { int T,G,I,Q; 长整型N; scanf(“%d”、&T); 而(T--) { scanf(“%d”和“&G”); 而(G--) { scanf(“%d%lld%d”、&I、&N、&Q); 如果(N%2==0) printf(“%lld”,N/2); 否则{ 如果(I==Q) printf(“%lld\n”,(int)(楼层((双)(n/2)); 其他的 printf(“%lld\n”,(int)层((双)(n/2)+1)); } } } },algorithm,casting,floor,Algorithm,Casting,Floor,我试图将整数N/2转换为double,以便floor()函数可以使用它,但输出总是一个垃圾值您的问题不在于转换,而在于%lld”格式。使用“%d”或强制转换为长整型,而不是整型 此外,我不确定您使用floor功能想要实现什么?你可以这么做,结果也是一样的(N/2)已四舍五入为零。也许你想要的是(双)N/2?不,我只是好奇为什么地板功能不起作用。谢谢你的帮助:) #include <stdio.h> #include <math.h> int main() { in

我试图将整数N/2转换为double,以便floor()函数可以使用它,但输出总是一个垃圾值

您的问题不在于转换,而在于
%lld”
格式。使用
“%d”
或强制转换为
长整型
,而不是
整型


此外,我不确定您使用
floor
功能想要实现什么?你可以这么做,结果也是一样的<代码>(N/2)已四舍五入为零。也许你想要的是
(双)N/2

不,我只是好奇为什么地板功能不起作用。谢谢你的帮助:)
#include <stdio.h>
#include <math.h>

int main()
{
   int T, G, I, Q;
   long long int N;
   scanf("%d", &T);
   while (T--)
   {
      scanf("%d", &G);
      while (G--)
      {
         scanf("%d %lld %d", &I, &N, &Q);
         if (N % 2 == 0)
            printf("%lld", N / 2);
         else {
            if (I == Q)
               printf("%lld\n", (int)(floor((double)(N / 2))));
            else
               printf("%lld\n", (int)floor((double)(N / 2) + 1));
         }
      }
   }
}