使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),它的功能是求出能整除x且不是偶数的整数,并将这些整数按从小到大的顺序放在pp所指的数组中,总个数通过形参n返回

admin2023-02-27  49

问题 使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),它的功能是求出能整除x且不是偶数的整数,并将这些整数按从小到大的顺序放在pp所指的数组中,总个数通过形参n返回。
    如x中的值为30,则有4个数符合要求,它们是
1、3、5、15。
    注意:部分源程序在文件progl.c中。
    请勿改动主函数main()和其他函数中的任何内容.仅在函数fun()的花括号中填入你编写的若干语句。
  试题程序:
1 #include<conio.h>
2 #include<stdio.h>
3 #include<stdlib.h>
4 voidfun(int x,int pp[],int *n)
5 {
6
7 }
8 void main()
9 {
10  FILE*wf;
11  int x,aa[1000],n,i;
12  system("CLS");
13  printf("\nPlease enter an integer number:\n");
14  scanf("%d",&x);
15  fun(x,aa,&n);
16  for(i=0;i<n;i++)
17  printf("%d",aa);
18 printf("\n");
19  /*********found*********/
20  wf=fopen("out.dat","w");
21  fun(30,aa,&n);
22  for(i=0 ; i<n;i++)
23  fprintf(wf,"%d",aa);
24  fclose(wf);
25  /*********found*********/
26 }

选项

答案 1 void fun(int x,int pp[],int*n) 2 { 3 int i,j=0; 4 for(i=1;i<=x;i=i+2)/*i的初值为1,步长为2,确保i为奇数*/ 5 if(x%i==0)/*将能整除x的数存入数组pp中*/ 6 pp[j++]=i; 7 *n=j;/*传回满足条件的数的个数*/ 8 }

解析 本题考查偶数的判定方法,整除的实现。
    本题题干信息:能整除x且不是偶数的所有整数。循环语句中变量i从1开始且每次递增2,所以i始终是奇数。
    将能整除x的i值存放到数组pp中,整除采用求余运算符"%",即"x%i=0"。最后将数据元素个数j保存到n中。
转载请注明原文地址:https://kaotiyun.com/show/RP0D777K
0

最新回复(0)