2010二级C语言南开100题(8)

2019-02-20 21:06

{a=*q; i++; q++;} a=‘\\0’;}

84: 第84题 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。 答案:

void fun(int a,int b,long *c)

{c=(b/10)*1000+(a)*100+(b)*10+a/10;}

85: 第85题 n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 答案:

double fun(strec *h) {double aver=0.0; while(h!=null) {aver+=h->s; hy=h->next;} aver/=n; return aver;}

86: 第86题 请编写函数fun,计算并输出给定10个数的方差。 答案:

double fun(double x[10]) {int i,j;

double s=0.0,s1=0.0; for(i=0;i<10;i++) s1+=x; s1/=10;

for(j=0;j<10;j++) s+=(x[j]-s1)*(x[j]-s1); s/=10; s=pow(s,0.5); return s;}

36

87: 第87题 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。 答案:

void fun(int a,int b,long *c)

{*c=(a/10)*1000+(a)*10+(b)*100+b/10;}

88: 第88题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数亚时,不得使用c语言提供的字符串函数。 答案:

void fun(char *a) {int i=0; char *p=a;

while(*p&&*p==‘*’) {a=*p; i++; p++;} while(*p) {if(*p!=‘*’) {a=*p; i++;} p++;} a=‘\\0’;}

89: 第89题 学生的记录是由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 答案:

double fun(strec *a,strec *b,int *n) {double aver=0.0; int i,j=0; for(i=0;i<n;i++) aver+=a.s; aver/=n;

for(i=0;i<n;i++) if(a.s)>=aver}

37

{*(b+j)=a; j++;} *n=j;

return aver;}

90: 第90题 请编写函数fun,其功能是:计算并输出下列多项式值:sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n). 答案:

sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n). double fun(int n) {int i; double sn=0.0; for(i=1;i<=n;i++)

sn+=(1.0/(2*i-1)-1.0/(2*i)); return sn;}

91: 第91题 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。 答案:

void fun(int a, int b, long *c) {

*c=(a)*1000+(b)*100+(a/10)*10+b/10; }

92: 第92题 请编写函数fun,它的功能是计算:s=(ln(1)+ln(2)+ln(3)+…+ln(m))(0.5),s作为函数值返回。 答案:

double fun(int m) { int I;

double s=0.0, log(double x); for(i=1;i<=m;i++) s=s+log(i); s=sqrt(s);

38

return s; }

93: 第93题 请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 S=1+x+x(2)/2!+x(3)/3!+…x(n)/n! 答案:

double fun(double x, int n) {

double s=1.0, p=1.0; int I,j,t;

for(i=1;i<=n;i++) { t=1;

for(j=1;j<=i;j++) t=t*j; p=p*x; s=s+p/t; }

return s; }

94: 第94题 规定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。 答案:

void fun(char *a) { int i=0; char *p=a;

while(*p&&*p==‘*’) p++; while(*p) { a[i]=*p; i++; p++; }

a[i]=‘\\0’; }

39

95: 第95题 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做。字符串中间和尾部的*号不删除。 答案:

void fun(char *a, int n) {

int i=0,k=0; char *t=a; while(*t==‘*’) { k++; t++; } t=a; if(k>n) t=a+k-n; while( *t) { a[i]=*t; i++; t++; }

a[i]=‘\\0’; }

96: 第96题 请编写函数fun,其功能使:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。 答案:

double fun(double x[9]) {

double sum=0.0; int I,j=1; for(i=0;i<9;i++) if(j<=8) {

sum+=sqrt((x[i]+x[i+1])/2.0); j++; }

40


2010二级C语言南开100题(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新2016--2017学年度人教版小学六年级下册第四单元测试卷及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: