C++经典编程题#5:寻找下标

总时间限制: 
1000ms

内存限制: 
65536kB
描述

已知一个整数数组x[],其中的元素彼此都不相同。找出给定的数组中是否有一个元素满足x[i]=i的关系,数组下标从0开始。 
    举例而言,如果x[]={-2,-1,7,3,0,8},则x[3] = 3,因此3就是答案。

输入
第一行包含一个整数n (0 < n < 100),表示数组中元素的个数。
第二行包含n个整数,依次表示数组中的元素。
输出
输出为一个整数,即满足x[i]=i的元素,若有多个元素满足,输出第一个满足的元素
若没有元素满足,则输出“N”。
样例输入
6
-2 -1 7 3 4 8
样例输出
3代码如下:
 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4
 5 int main()
 6 {
 7     int n;
 8     cin >> n;
 9     vector<int> a(n);
10     for (int i = 0; i < n; i++)
11     {
12         cin >> a[i];
13     }
14
15     for (int i = 0; i < n; i++)
16     {
17         if (a[i] == i)
18         {
19             cout << a[i] << endl;
20             return 1;
21         }
22     }
23
24     cout << "N" << endl;
25     return 0;

以上代码本人亲测!请用心感悟!希望可以帮到初学的您!!分享也是一种快乐!!!请接力。。。

时间: 2024-11-01 10:04:20

C++经典编程题#5:寻找下标的相关文章

Java经典编程题50道之四十六

编程实现两个字符串的连接. public class Example46 {    public static void main(String[] args) {        addString("hello"," world!");    }    public static void addString(String s1,String s2){        String s3=s1+s2;        System.out.println("

Java经典编程题50道之五十

有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud"中. public class Example50 {    public static void main(String[] args) {        stud();    } public static void stud() {        Scanner ss = new Scanner(System.in); 

Java经典编程题50道之九

一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. public class Example09 {    public static void main(String[] args) {        number();    } public static void number() {        int count = 0;        for (int i = 1; i <= 1000; i++) {     

Java经典编程题50道之五

利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. public class Example05 { public static void main(String[] args) {        score(90);    } public static void score(int n) {        char s = n >= 90 ? 'A' : (n < 60 ? 'C' : 'B');        Sys

Java经典编程题50道之十七

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,而且又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,就只剩下一个桃子了.求第一天共摘了多少个桃子. public class Example17 {    public static void main(String[] args) {        int sum = peach(1);        System.out.println("第一天共摘

Java经典编程题50道之十八

两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人,以抽签决定比赛名单.有人向队员打听比赛的名单:a说他不和x比,c说他不和x. z比.请编程序找出三队赛手的名单. public class Example18 {    public static void main(String[] args) {        vs();    } public static void vs() {        char[] m = { 'a', 'b', 'c' };      

Java经典编程题50道之十六

输出九九乘法表. public class Example16 {    public static void main(String[] args) {        table(9);    } public static void table(int n) {        for (int i = 1; i <= n; i++) {            for (int j = 1; j <= i; j++) {                System.out.print(j +

Java经典编程题50道之十五

输入三个整数x,y,z,请把这三个数由小到大输出. public class Example15 {    public static void main(String[] args) {        sort(15, 10, 5);    } public static void sort(int x, int y, int z) {        if (x > y) {            int t = x;            x = y;            y = t;  

Java经典编程题50道之十四

输入某年某月某日,判断这一天是这一年的第几天? public class Example14 {    public static void main(String[] args) {        year(2017, 1, 1);    } public static void year(int year, int month, int day) {        int d = 0;        int days = 0;        if (year < 0 || month <