使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),函数的功能是查找x在s所指数组中下标的位置,并将其作为函数值返回,若x不存在,则返回-1。 注意:部分

admin2023-02-27  21

问题 使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),函数的功能是查找x在s所指数组中下标的位置,并将其作为函数值返回,若x不存在,则返回-1。
    注意:部分源程序在文件progl.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; i<N;i++)
13    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<10;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×) 2 {int i; 3 for(i=0;i<N,i++) 4 if(x==s[i])retlarn i; 5 return -1: 6 }

解析 要找出数组中指定数据的下标,首先定义变量i用于存放数组下标,然后使用循环语句对数组进行遍历,依次取出一个数组元素与指定的数进行比较,若相等,则返回该元素的下标,否则继续判断下一个元素,直到数组结束。若数组结束时仍没有找到与指定数相等的元素,则返回-1。
转载请注明原文地址:https://kaotiyun.com/show/eP0D777K
0

相关试题推荐
最新回复(0)