- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012国家C语言改错模拟题
1.下列给定程序中函数fun的功能是:求出如下分数列的前n项之和,和值通过函数值返回。
#include stdio.h
/************found************/
double fun ( int n )
{ int a, b, c, k; double s;
s = 0.0; a = 2; b = 1;
for ( k = 1; k = n; k++ ) {
/************found************/
s = s + (double)a / b;
c = a; a = a + b; b = c;
}
return s;
}
main( )
{ int n = 5;
printf( \nThe value of function is: %lf\n, fun ( n ) );
}
2.统计substr所指的字符串在str所指的字符串中出现的次数
#include stdio.h
int fun (char *str,char *substr)
{ int i,j,k,num=0;
/************found************/
for(i = 0;str[i];i++)
for(j=i,k=0;substr[k]==str[j];k++,j++)
/************found************/
if(substr[k+1]==\0)
{ num++;
break;
}
return num;
}
main()
{
char str[80],substr[80];
printf(Input a string:) ;
gets(str);
printf(Input a substring:) ;
gets(substr);
printf(%d\n,fun(str,substr));
}
3.实现两个变量值的交换,规定不允许增加语句和表达式。
#include stdio.h
int fun(int *x,int y)
{
int t ;
/**************found**************/
t = *x ; *x = y ;
/**************found**************/
return(t) ;
}
main()
{
int a = 3, b = 8 ;
printf(%d %d\n, a, b) ;
b = fun(a, b) ;
printf(%d %d\n, a, b) ;
}
4.求两个非零正整数的最大公约数,并作为函数值返回。
#include stdio.h
int fun(int a,int b)
{ int r,t;
if(ab) {
/************found************/
t=a; a=b; b=t;
}
r=a%b;
while(r!=0)
{ a=b; b=r; r=a%b; }
/************found************/
return(b);
}
main()
{ int num1, num2,a;
printf(Input num1 num2: ); scanf(%d%d,num1,num2);
printf(num1= %d num2= %d\n\n,num1,num2);
a=fun(num1,num2);
printf(The maximun common divisor is %d\n\n,a);
}
5.将长整型数中各位上为奇数的数依次输出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
#include stdio.h
void fun (long s, long *t)
{ int d;
long sl=1;
/************found************/
*t = 0;
while ( s 0)
{ d = s%10;
/************found************/
if (d%2!= 0)
{ *t = d * sl + *t;
sl *= 10;
}
s /= 10;
}
}
main()
{ long s, t;
printf(\nPlease enter s:); sca
文档评论(0)