一、查找整数
问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。
#include <stdio.h>
int search(int a[],int n,int x)
{
int i;
for(i = 1; i <= n; i++)
{
if(a[i] == x)
{
return i;
}
}
return -1;
}
int main()
{
int n;
int x;
int i;
int a[1001];
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&x);
printf("%d",search(a,n,x));
return 0;
}
二、数列特征
问题描述
给出n个数,找出这n个数的最大值,最小值,和。
输入格式
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入
5
1 3 -2 4 5
1 3 -2 4 5
样例输出
5
-2
11
-2
11
数据规模与约定
1 <= n <= 10000。
#include <stdio.h>
int main()
{
int n;
int i;
int Maxt;
int Mint;
int Sum = 0;
scanf("%d",&n);
int a[n];
for(i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
Maxt = a[0];
Mint = a[0];
for(i = 0; i < n; i++)
{
if(Maxt < a[i])
{
Maxt = a[i];
}
if(Mint > a[i])
{
Mint = a[i];
}
Sum += a[i];
}
printf("%d\n%d\n%d\n",Maxt,Mint,Sum);
return 0;
}