更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入--------------》跳转接口
更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入--------------》跳转接口
第100套:
给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。
 例如,s所指字符串为:baacda,c中的字符为:a,执行后s所指字符串为:baaaacdaa。
 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
 注意:源程序存放在考生文件夹下的BLANK1.C中。
 不得增行或删行,也不得更改程序的结构!
 给定源程序:
#include <stdio.h> 
void fun(char *s, char c) 
{ int i, j, n; 
for(i=0; s[i]!=___1___ ; i++) 
if(s[i]==c) 
{ 
n=___2___ ; 
while(s[i+1+n]!='\0') n++; 
for(j=i+n+1; j>i; j--) s[j+1]=s[j]; 
s[j+1]=___3___ ; 
i=i+1; 
} 
} 
main() 
{ char s[80]="baacda", c; 
printf("\nThe string: %s\n",s); 
printf("\nInput a character: "); scanf("%c",&c); 
fun(s,c); 
printf("\nThe result is: %s\n",s); 
} 
解题思路:
 第一处:在for循环中终止值要判断字符串是否结束符,所以应填:‘\0’。
 第二处:n用于统计参数c后还有多少个字符,要对其进行初始化,所以应填:0。
 第三处:要求插入相同的字符c,所以应填:c。
在主函数中从键盘输入若干个数放入数组中, 用0结束输入并放在最后一个元素中。给定程序MODI1.C中函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。
 例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,
 则程序的运行结果为:19.250000。
 请改正程序中的错误,使它能得出正确的结果。
 注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!
 给定源程序:
#include <stdio.h> 
double fun ( int x[]) 
{ 
int sum = 0.0; 
int c=0, i=0; 
while (x[i] != 0) 
{ if (x[i] > 0) { 
sum += x[i]; c++; } 
i++; 
} 
sum \= c; 
return sum; 
} 
main( ) 
{ int x[1000]; int i=0; 
printf( "\nPlease enter some data (end with 0): " ); 
do 
{ scanf("%d", &x[i]); } 
while (x[i++] != 0); 
printf("%f\n", fun ( x )); 
} 
解题思路:
 第一处:由于sum是存放实数值,因此不能定义为整型,所以应改为double sum=0.0;或float
 sum=0.0;。
 第二处:除的运算符是“/”。
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
 1 1 1
 S=1 + ── + ─── + … + ──────
 1+2 1+2+3 1+2+3+…+n
 例如:若n的值为11时,函数的值为:1.833333
 注意: 部分源程序在文件PROG1.C中。
 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
 给定源程序:
#include <stdio.h> 
float fun(int n) 
{ 
} 
main() 
{ int n; float s; 
printf("\nPlease enter N:"); scanf("%d", &n); 
s = fun(n); 
printf("the result is: %f\n", s); 
NONO(); 
} 
解题思路:
 本题是根据给定的公式计算结果。使用for循环语句依次求出每一项的值,分别进行累加并把结果存入变量s中,最后返回s。
 参考答案:
float fun(int n) 
{ 
int i,j,t; 
float s=0; 
for(i=1;i<=n;i++) { 
t=0; 
for(j=1;j<=i;j++) t+=j; 
s=s+1./t; 
} 
return s; 
}

