7-1 查找整数 (10 分)
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。
输入格式:
输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。
输出格式:
在一行中输出X的位置,或者“Not Found”。
输入样例1:
5 7
3 5 7 1 9
输出样例1:
2
输入样例2:
5 7
3 5 8 1 9
输出样例2:
Not Found
1.实验代码
#include<stdio.h>
int main(void)
{
int N, X, i, m;
int a [20];
scanf("%d", &N); //输入N个数
scanf("%d", &X); // 输入给定的X
for (i = 0; i < N; i++)
{
scanf("%d", &a[i]); //输入N个数字
}
for (i = 0; i < N; i++)
{
if (a[i] == X) //从输入的N个整数中查找给定的X
{
m = i;
printf("%d", m); // 输出X的位置
break;
}
}
if (i == N) //若没找到
{
printf("Not Found
");
}
return 0;
}
2.本题调试过程遇到的问题以及解决
问题:在编辑代码时我发现还有其他的函数可以使用
解决办法:根据老师发的视频中有define函数,define 函数定义一个常量,在使用数组时就可以用a[n]
3.设计思路
4.运行代码
7-2 求最大值及其下标 (20 分)
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
6
2 8 10 1 9 10
输出样例:
10 2
1.实验代码
#include<stdio.h>
int main(void)
{
int i, max, n, m=0;
int a[10];
scanf("%d", &n);
for(i=0;i<n;i++)
{
scanf("%d", &a[i]);
}
max=a[0];
for(i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
m=i;
}
}
printf("%d %d
", max, m);
return 0;
}
2.设计思路
3.本题调试过程碰到问题及解决办法
问题:输出的结果为错误,pta上显示为段错误
解决办法:自己改了很多遍,后来请教了同学,根据他提供给我的代码,修改后对了
4.运行结果截图