请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若X不存在,则返回-1。 注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题

admin2021-07-09  31

问题 请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若X不存在,则返回-1。
    注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1  #include<stdio.h>
2  #include<stdlib.h>
3  #define N 15
4  void NONO();
5   int fun(int*s,int x)
6  {
7
8  }
9  main()
10  {int a[N]={29,13,5,22,10,9,3,18,22,25,14,15,2,7,27},i,x,index;
11    printf(’’a数组中的数据:\n’’);
12    for(i=0;i13    printf(’’%4d’’,a);
14  printf(’’\n’’);
15  printf(’’给x输入待查找的数:’’);
16   scanf(’’%d’’,&x);
17   index=fun(a,x);
18   printf(’’index=%d\n’’,index);
19   NONO();
20  }
21  void NONO()
22  {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
23    FILE*fP,*wf;
24    int i,j,a[10],x,index;
25    fp=fopen(’’in.dat’’,’’r’’);
26    wf=fopen(’’out.dat’’,’’w’’);
27    for(i=0;i<1 0 ; i++){
28    for(j=0;j<10;j++){
29    fscanf(fp,’’%d’’,&a[j]);
30    }
31    fscanf(fp,’’%d’’,&x);
32    index=fun(a,x);
33    fprintf(wf,’’%d\n’’,index);
34    }
35    fclose(fp);
36    fclose(wf);
37    }

选项

答案1 int fun(int*s,int x) 2 {int i; 3 for(i=0;i
解析 要找出数组中指定数据的下标,首先定义变量i用于存放数组下标,然后使用循环语句对数组进行遍历,依次取出一个数组元素与指定的数进行比较,若相等,则返回该元素的下标,否则继续判断下一个元素,直到数组结束。若数组结束时仍没有找到与指定数相等的元素,则返回-1。
转载请注明原文地址:https://jikaoti.com/ti/4pz0FFFM
0

最新回复(0)