c查找相同元素的数组名为rLookupAr()的函数接受三个参数,数组,大小和目标,并返回数组中数字最后一次出现的下标。参数大小指示数组的大小。例如,如果array为{2,1,3,2,4}且target为3,则它将返回2。对于同一数组,如果target为2,则将返回3。如果数组中没有所需的数字,则该函数将返回–1。下面给出了函数原型。
int rLookupAr(int array[], int size, int target);
编写一个C程序来测试该功能。
下面给出了一个示例输入和输出会话:
输入数组大小:5输入5个数字:2 1 3 2 4输入目标数字:2 rLookupAr()= 3
输入数组大小:5输入5个数字:2 1 3 2 4输入目标数字:5 rLookupAr()= -1
这是我的代码
#include <stdio.h>
int rLookupAr(int array[], int size, int target);
int main() {
int numArray[80];
int target, i, size;
printf("Enter array size: ");
scanf("%d", &size);
printf("Enter %d numbers: ", size);
for (i = 0; i < size; i++)
scanf("%d", &numArray[i]);
printf("Enter the target number: ");
scanf("%d", &target);
printf("rLoopupAr(): %d", rLookupAr(numArray, size, target));
return 0;
}
int rLookupAr(int array[], int size, int target) {
int j,i;
for (j = 0; j < size; j++)
if(array[i] == target)
return j;
return -1;
}
当相同的数组元素编号与粗体字相同时,我不知道如何实现
您可以将其编码为以相反的方式遍历数组
int rLookupAr(int array[], int size, int target) {
int j;
for (j = size-1; j >= 0; j--)
if (array[j] == target)
return j;
return -1;
}
或遍历整个循环并将值存储在查找变量中
int rLookupAr(int array[], int size, int target) {
int j;
char found = -1;
for (j = 0; j < size; j++)
if (array[j] == target)
found = j;
return found;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句