百度站内搜索,望城做网站,wordpress物流模板下载,广东省建设厅网站查询第38套#xff1a;
函数fun的功能是#xff1a;把形参a所指数组中的奇数按原顺序依次存放到a[0]、 a[1]、a[2]、……中#xff0c;把偶数从数组中删除#xff0c;奇数个数通过函数值返回。例如#xff1a;若a所指数组中的数据最初排列为#xff1a;9、1、4、2、3、6、5、…第38套
函数fun的功能是把形参a所指数组中的奇数按原顺序依次存放到a[0]、 a[1]、a[2]、……中把偶数从数组中删除奇数个数通过函数值返回。例如若a所指数组中的数据最初排列为9、1、4、2、3、6、5、8、7删除偶数后a 所指数组中的数据为9、1、3、5、7返回值为5。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#define N 9
int fun(int a[], int n)
{ int i,j;
j 0;
for (i0; in; i)
if (a[i]%2___1___)
{
a[j] a[i]; ___2___;
}
return ___3___;
}
main()
{ int b[N]{9,1,4,2,3,6,5,8,7}, i, n;
printf(\nThe original data :\n);
for (i0; iN; i) printf(%4d , b[i]);
printf(\n);
n fun(b, N);
printf(\nThe number of odd : %d \n, n);
printf(\nThe odd number :\n);
for (i0; in; i) printf(%4d , b[i]);
printf(\n);
} 解题思路 第一处判断a[i]是否是奇数若是则仍保留在原数组中a[j]所以应填1。 第二处数组a中的元素位置由j来控制每增加一个元素则j加1所以应填j。 第三处返回删除偶数后a所指数组中数据的元素j所以应填j。 给定程序MODI1.C中函数fun的功能是求出两个非零正整数的最大公约数并作为函数值返回。 例如若给num1和num2分别输入49和21则输出的最大公约数为7若给num1 和num2分别输入27和81则输出的最大公约数为27。 请改正程序中的错误使它能得出正确结果。 注意不要改动main函数不得增行或删行也不得更改程序的结构。 给定源程序
#include stdio.h
int fun(int a,int b)
{ int r,t;
if(ab) {
ta; ba; at;
}
ra%b;
while(r!0)
{ ab; br; ra%b; }
return(a);
}
main()
{ int num1, num2,a;
printf(Input num1 num2: ); scanf(%d%d,num1,num2);
printf(num1 %d num2 %d\n\n,num1,num2);
afun(num1,num2);
printf(The maximun common divisor is %d\n\n,a);
} 解题思路 第一处交换值的次序有问题所以应改为ta;ab;bt;。 第二处返回值错误应改为return(b);。 假定输入的字符串中只包含字母和号。请编写函数fun它的功能是删除字符串中所有的号。在编写函数时不得使用C语言提供的字符串函数。 例如字符串中的内容为ABCDEFG******删除后,字符串中的内容应当是ABCDEFG。 注意: 部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序
#include stdio.h
void fun( char *a )
{
}
main()
{ char s[81];
printf(Enter a string:\n);gets(s);
fun( s );
printf(The string after deleted:\n);puts(s);
NONO();
} 解题思路 本题是考察字符串的操作。
利用循环扫描字符串中所有的字符是否是’’如果不是’’则把这些字符存放字符串a首地址开始的位置上。最后给字符串a加上结束符。 参考答案
void fun( char *a )
{
int j 0 ;
char *pa;
while(*p) {
if(*p ! *) a[j]*p ;
p ;
}
a[j]0;
}