buaaoh1 @ 2019-07-24 07:12:59
QAQ为什么
by buaaoh1 @ 2019-07-24 07:15:04
#include <stdio.h>
int main() {
int arm = 0, apple = 0, height[10];
int i = 0;
while (1) {
int num = 0;
scanf("%d", &num);
char c = getchar();
height[i++] = num;
if (c == '\n')
break;
}
scanf("%d", &arm);
for (i = 0; i < 10; i++) {
if (arm + 30 >= height[i])
apple++;
}
printf("%d", apple);
//system("pause");
return 0;
}
by ud2_ @ 2019-07-24 07:27:22
第一行包含 10 个 100 到 200 之间的整数
才 10 个为什么要用循环。
by Smallbasic @ 2019-07-24 07:45:11
while (1) {
int num = 0;
scanf("%d", &num);
char c = getchar();
height[i++] = num;
if (c == '\n')
break;
}
改成:
for (int i = 0; i < 10; ++i) {
scanf("%d", &height[i]);
}
by buaaoh1 @ 2019-07-24 07:57:48
@Smallbasic AC!谢谢!
可是为啥这样本地就跑不过了...VS2015
本来就是这样写的但是因为本地不过所以换了上面那种 本地就过了
by buaaoh1 @ 2019-07-24 07:58:46
@sjx233 好有道理= =我是懒得打字啦...
by ud2_ @ 2019-07-24 08:02:34
@ooh1 随机生成数据时第 1 行后面会有多余的空格(懒得去掉),getchar()
就找不到换行符了。
by buaaoh1 @ 2019-07-24 08:11:09
@sjx233 原来如此!怪不得TLE了= =
可是为什么正常for输入我的VS2015本地不给反应...
by HHCY @ 2019-07-24 22:52:35
读入很有问题
by HHCY @ 2019-07-24 22:52:52
getchar scanf不要一起用
by liunianwangluo @ 2019-09-25 12:18:54
同样的问题,幸好有这个帖子,感谢