7-4 查找整数--一维数组——部分遍历

本题要求从输入的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
#include<stdio.h>
int main()
{
	int a[20],N,X,i,m=0;
	scanf("%d\n%d",&N,&X);
	for(i=0;i<N;i++)
		scanf("%d",&a[i]);
	for(i=0;i<N;i++)
		if(a[i]==X)
	{
			printf("%d",i);
			m=1;
			break;
	}
		if(m==0)
			printf("Not Found");
	return 0;
}
### C语言一维数组编程练习题 #### 题目1:计算平均分 编写一个程序,读取若干个学生的成绩并存储在一维数组中。最后输出这些学生成绩的总和以及平均分数。 ```c #include <stdio.h> int main() { int scores[5]; float sum = 0; printf("请输入五个学生的成绩:\n"); for (int i = 0; i < 5; ++i) { scanf("%d", &scores[i]); sum += scores[i]; } float average = sum / 5; printf("总分为 %.2f\n", sum); printf("平均分为 %.2f\n", average); return 0; } ``` 此段代码展示了如何通过for循环来获取用户输入的数据,并将其存入到`score[]`数组里[^1]。之后再遍历该数组求得所有元素之和用于计算均值[^2]。 #### 题目2:查找最大最小值 创建一个函数findMaxMin(), 接收两个参数分别为指向整型的一维数组指针及其长度size, 返回类型为void,在函数内部实现找到给定范围内最大的数值min与最小的数值max. ```c #include <stdio.h> #define SIZE 6 // 函数声明 void findMaxMin(const int array[], size_t size, int* max, int* min); int main(){ int numbers[SIZE]={4,-3,7,1,9}; int maximum, minimum; // 调用函数 findMaxMin(numbers, SIZE,&maximum ,&minimum ); printf("最大数:%d \n",maximum ); printf("最小数:%d ",minimum ); } // 定义函数 void findMaxMin(const int array[], size_t size,int *max ,int *min){ *max=*array ; *min=*array ; while(--size>0){ if(*array>*max)*max=*array ; else if (*array<*min )*min=*array ; array++; } } ``` 上述例子说明了怎样定义一个接受数组作为参数的方法,并且在方法体内操作传入的数组完成特定的任务——即找出其中的最大值和最小值[^3]. #### 题目3:逆序排列 设计一段可以接收任意数量正整数(不超过10个),并将它们按相反顺序显示出来的简单应用程序。 ```c #include <stdio.h> int main(void) { int numArray[10], count; printf("Enter up to ten positive integers:"); for(count = 0;count<10 &&scanf("%d",&numArray[count])==1;++count) /* empty */; --count; puts("In reverse order:"); do{ printf("%d ",numArray[count--]); }while(count>=0); putchar('\n'); return 0; } ``` 这段代码实现了从标准输入流读取最多十个整数至名为`numArray[]` 的数组中;接着采用do...while语句结构反向迭代访问这个数组中的每一个成员项,从而达到反转输出的效果[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旦暮~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值