L1-1 寻找250(10 分)

对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:
输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:
在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
输入样例:
888 666 123 -233 250 13 250 -222
输出样例:
5
#include<stdio.h>
#include<string.h>
int main()
{
char a[100000];
gets(a);
// printf("%s\n",a);
char b[4]="250";
char c[4];
int n=1,i,l,k;
l=strlen(a);
for(i=0;i<l;i++)
{
if(a[i]==' ')
{
n++;
}
else
{
if(a[i]!='-')
{
for(int j=0;j<3;j++)
{
c[j]=a[i+j];
}
if(strcmp(c,b)==0)
{
k=n;
break;
}
}
else if(a[i]=='-')
{
i++;
}
}
}
printf("%d",k);
}
由于不知道有多少输入的数字,所以转变思想,改为get();接收一个字符串进行判断处理,内存要大,数组由1000改为了100000,就没有了段错误,还要区分-250,和250的区别,最后就可以满分了。
评测结果
| 时间 | 结果 | 得分 | 题目 | 语言 | 用时(ms) | 内存(kB) | 用户 |
|---|---|---|---|---|---|---|---|
| 3月12日 11:11 | 答案正确 | 10 | L1-041 | C++ (g++ 4.7.2) | 2 | 384 | 小明 |
测试点
| 测试点 | 结果 | 用时(ms) | 内存(kB) | 得分/满分 |
|---|---|---|---|---|
| 0 | 答案正确 | 2 | 360 | 6/6 |
| 1 | 答案正确 | 1 | 360 | 2/2 |
| 2 | 答案正确 | 2 | 384 | 2/2 |
这是一篇关于PAT编程竞赛中L1-041题目的解题报告。题目要求从一系列不超过1000的整数中找出首次出现的250。通过改变输入处理方式,使用字符串接收并判断,解决了可能出现的内存错误问题,同时考虑到-250的情况,实现了满分解法。
3935





