湖南c语言国二题库,国二C语言题库文档.doc

1函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。

s所指字符串中的内容为“ABCDEFG 123456”,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后,t所指的数组中的内容应是“246”。

int k,n=0;

for(k=0;k

if(k%2==0 && s[k]%2==0)

t[n++]=s[k];

t[n]= '\0';

2编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。

Yn+1=cos(yn)

(1)取y1初值为0.0。

2)y0=y1,把y1的值赋给y0。

3)y1=cos(y0),求出一个新的y1。

4)若y0-y1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。

5)所求y1就是方程cos(x)-y=0的一个实根,作为函数值返回。

Result=0.739085。

float y1=0.0,y0;

do

{

y0=y1;

y1=cos(y0);

}

while(fabs(y0-y1)>=1e-6);

return y1;

3程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N], int n),函数的功能是:使N×N的二维数组左下三角元素中的值乘以n。

n的值为3,a数组中的值为:

1 9 7

2 3 8

4 5 6

a数组中的值应为:

3 9 7

6 9 8

12 15 18

int j,k;

for(j=0;j

for(k=0;k

a[j][k]*=n;

4请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。

5门课程的成绩是90.5、72、80、61.5、55,则函数的值为:71.80。

float s=0.0;

int I;

for(i=0; i

s+=a[i];

return s/n;

5请编写一个函数unsigned fun(unsigned n),n是一个大于10的无符号整数,若n是m(m≥2)位的整数,则函数求出n的后m-1位的数作为函数值返回。

n的值为1234,则fun()函数值为234。

unsigned t,s=0,s1=1,p=0;

t=m;

while(t>10)

{

if(t/10)

p=t%10;

s=s+p*s1;

s1=s1*10;

t=t/10;

}

return s

6编写函数fun,其功能是:根据以下公式计算s,将结果作为函数值返回;n通过形参传入:

S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…n)

n的值为11时,函数的值为:1.833333

float s=0.0;

int t=0, k;

for(k=1; k<=n; k++)

{ t+=k; s+=1.0/t; }

return s;

7请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。

m输入50后,则输出为s=63.665791。

int n,k,i;

double sum=0.0;

for(n=3;n<=m;n++)

{

k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0) break;

if(i>=k+1)

sum+=sqrt(n);

}

return sum;

8请编写函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

m的值为50,则程序输出:7 11 14 21 22 28 33 35 42 44 49

int k;

*n=0;

for(k=0; k<=m; k++)

if(k%7==0||k%11==0)

a[(*n)++]=k;

9N名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。

double max;

STR *q=a;

max=a->s;

do

{

if(q->s>max)

max=q->s;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值