練習系統在這裡
問題描述
給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。
輸入格式
第一行包含乙個整數n。
第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。
第三行包含乙個整數a,為待查詢的數。
輸出格式
如果a在數列**現了,輸出它第一次出現的位置(位置從1開始編號),否則輸出-1。
樣例輸入
61 9 4 8 3 9
9樣例輸出
2資料規模與約定
1 <= n <= 1000。
乍一看非常簡單非常基礎直接上手一刷**
#include
using
namespace std;
int a[
1005];
int main (
) cin>>m;
for(
int i=
1;i<=n;i++)}
cout<<
"-1"
}
邏輯:在遍歷陣列的過程中 如果發現有和m相同的數 輸出i同時結束程式 如果遍歷完成沒有滿足if條件 輸出-1 然後結束程式
後來無意中看見一位大佬的題解
我是超連結
他的思路是通過限制i的前進來限制整個程式 修改遍歷的終止條件 那麼有一些小問題了比如因為曾經的第二個迴圈變數i在判斷時已經不再迴圈內了,所以不能再迴圈中使用他 而是要在外頭進行定義這個變數 便於區分 採用j
#include
using
namespace std;
int a[
1005];
int main (
) cin>>m;
for(j=
1;m!=a[j]
&&j<=n;j++);
if(j == n+1)
cout<<
"-1"
cout
}
但是可能會有人想 一時半會兒想不到第二種方法去修改限制條件怎麼辦,那麼其實還可以直接就遍歷迴圈 然後加break來終止迴圈之後再來做類似第二種解法的操作啦 **手打如下
#include
using
namespace std;
int a[
1005];
int main (
) cin>>m;
for(j=
1;j<=n;j++)if
(m==a[j]
)break;if
(j==n+1)
cout<<
"-1"
cout
}
藍橋杯練習 基礎練習 查詢整數
題目鏈結 問題描述 給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。輸入格式 第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。輸出格式 如果a在數列中出現了,輸出它第一次出現的位置 位置從1開始編號 ...
藍橋杯 基礎練習 查詢整數
問題描述 給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。輸入格式 第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。輸出格式 如果a在數列中出現了,輸出它第一次出現的位置 位置從1開始編號 否則輸出 ...
藍橋杯基礎練習 查詢整數
問題描述 給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。輸入格式 第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。輸出格式 如果a在數列中出現了,輸出它第一次出現的位置 位置從1開始編號 否則輸出 ...