7-37 寻找250
分数 10
作者 陈越
单位 浙江大学
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:
输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:
在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
输入样例:
888 666 123 -233 250 13 250 -222
输出样例:
5
#include<stdio.h>
int main()
{
int k;
int t=0;
while(1)
{
scanf("%d",&k);
t++;
if(k==250)
{
printf("%d\n",t);
break;
}
}
return 0;
}
不太懂这个输入是怎么回事,比如我这个代码,输入250回车后就会输出来相应的位置,题目给的测试样例250回车后面还能输出字是为什么,还是说每一次输入只是按相应的数字空格比如120空格然后下一个数字
#include<stdio.h>
int main()
{
int k;
int t=0;
int t1 = 0;
while(scanf("%d",&k) == 1)
{
t++;
if(k==250)
{
t1 = t;
}
}
printf("%d\n",t1);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:#include <stdio.h>
int ti[11] = { 0 }; //用来存储每道题的回答情况0或者1,0表示错误,1表示正确
//提醒:数组ti的编号实际用1-10
//score表示当前得分,num是当前第num道题目
void f(int score, int num)
{
if (num == 11)//10道题目全部做完
{
if (score == 100)
{
int i = 0;
for (i = 1; i <= 10; i++)
printf("%d", ti[i]);
printf("\n");
}
}
else //10道题目没有做完
{
ti[num] = 1; //讨论第num道题目的正确情况
f(score * 2, num + 1);
ti[num] = 0; //讨论第num道题目的错误情况
f(score - num, num + 1);
}
}
int main(void)
{
f(10, 1);//从基础分10分开始,从第1题开始
return 0;
}
你代码运行结果加注释
代码注释
#include<stdio.h>
int main() {
// 声明变量k
int k;
// 声明变量t,用于统计循环次数
int t=0;
// 无限循环
while(1) {
// 输入k
scanf("%d",&k);
// t自增
t++;
// 判断k是否等于250
if(k==250) {
// 如果等于250,打印循环次数t
printf("%d\n",t);
// 跳出循环
break;
}
}
return 0;
}
这么改,供参考:
#include<stdio.h>
int main()
{
int k;
int t=0;
int t1 = 0;
while(scanf("%d",&k) == 1) // 输入Ctrl + z 结束输入,如:888 666 123 -233 250 13 250 -222^Z
{
t++;
if(k == 250 && t1 == 0)
{
t1 = t;
}
}
printf("%d\n",t1);
return 0;
}