1.试题:给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个?
输出格式: 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 2.分析:本题是从一条野路上找出来的一道题,显然--与我们PTA周作业第一题不同的是,不需要读出它的下标,而是要读出它的位置,但是思路与周作业是大同小异的! 3.思路,本处思路与PTA周作业第一题高度相似,所以直接附上执行代码吧,若想要看到思维流程图,就直接在本人的博客中查找周作业第一题的思路图 4.执行代码include<stdio.h>
int main()
{ int i,n,a[2000],x=0,b; //严重注意此处,数组的开辟空间绝不能太小,否则到在线编译器的网站会答案报错,更可恶的是,由于此点而导致答案报错的得分便是为0,一分都没有 scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&b); for(i=0;i<n;i++){ if(a[i]==b){ x=i+1; //由于需要输出其位置,即本质便是在其下标处多加上一个1,就变成了其位置了 break; } else{ x=-1; } } printf("%d",x); return 0; }