北大计算概论骑车与走路

不停--- 2018-08-14 08:34:44
#include<stdio.h>


main()
{
int n;
double timebike,timewalk;
scanf("%d",&n);
int distance[n];
int i;
for(i=0;i<n;i++)
scanf("%d",&distance[i]);
for(i=0;i<n;i++)
{
timebike=distance[i]/3.0+50;
timewalk=distance[i]/1.2;

if(timebike>timewalk)
printf("Walk\n");
else if(timebike<timewalk)
printf("Bilk\n");
else
printf("All");
}

}
请问代码错在哪里为什么一直ac不了
...全文
804 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Manchester_United 2018-08-16
  • 打赏
  • 举报
回复
你那个printf语句的bike打错了。
main函数前面要加int。----int main
同样路程用时间来比较不太好,倒退同样时间比路程更好一些(因为除法有时候除不尽)
为什么要用for循环,直接输入不就可以了吗

这道题用if语句就可以了。这是我做的,宏定义我全部都写了,有一些是用不上的。
#include<cstdio>
#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
int main(void)
{
int Walk,Bike,s;
scanf("%d",&s);
Walk=1.2*s;
Bike=(s-50)*3;
if(Walk<Bike)
{
printf("Bike");
}
else if(Walk>Bike)
{
printf("Walk");
}
else if(Walk=Bike)
{
printf("All");
}
}
孤雲独去闲 2018-08-15
  • 打赏
  • 举报
回复
引用 4 楼 yangyangsnr 的回复:
All后面也得加\n吧

如果数据量很大的话,用定长数组可能会溢出,可以考虑动态数组。
孤雲独去闲 2018-08-15
  • 打赏
  • 举报
回复
All后面也得加\n吧
_肆 2018-08-15
  • 打赏
  • 举报
回复
距离可以用double;主体结构是void main() { }或者int main() {return 0;}这样的;严格来说int distance[n];数组长度是不能为变量的,但有的编译器可以编译过去,最好用数组或是其他方法处理;printf("Bilk\n"); 单词打错了

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧