c语言写个电子计算机程序,电子计算机 《C语言编程题跟解答》.doc

C语言编程题及答案

1请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调

用函数。

int fun (int a[ ][M])

{

int i,j,max,a[0][0];

for(i,0;i<2;i,,)

for(j,0;j

if(max

max,a[i][j];

return max;

}

2编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005

时停止迭代)。

,1121231234,,,,,,,,,,,1……2335357357,,,,,

12,,,…n

3521,,,,…n,, 程序运行后,若输入精度0.0005,则程序

应输出为3.14…。

double fun( double eps) {

double s,1.0,s1,1.0;

int n,1;

while(s1>,eps) /*当某项大于精度要求时,继续求下一项*/ { s1,s1]s,s,s1; /*求和*/

n,,;

}

return 2]

3编写函数fun,其功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除

的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 void fun(int *a,int *n)

{

int i,j,0;

for(i,1;i

整数,并放入数组a中*/

if((i%7,,0||i%11,,0)&&i%77~,0)

a[j,,],i;

*n,j; /*传回满足条件的数的个数*/

}

4规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有

的*号。编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:ABCDEFG。

void fun(char *a)

{

int i,j,0;

for(i,0;a[i]~,′\0′;i,,)

if(a[i]~,′*′)

a[j,,],a[i]; /*若不是要删除的字符′*′则留下*/

a[j],′\0′; /*最后加上字符串结束符′\0′*/

}

5编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:

FirstString,,

SecondString

程序输出:

FirstString,,SecondString

void fun(char p1[],char p2[])

{

int i,j;

for(i,0;p1[i]~,′\0′;i,,); /*求出的i为p1字符串的总长度,包括结束标记符*/ for(j,0;p2[j]~,′\0′;j,,)

p1[i,,],p2[j]; /*将p2字符串连在p1字符串后面*/

p1[i],′\0′; /*在字符串最后加上结束标记符*/

}

6某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。 void fun(STREC *a)

{

int i;

a,>ave,0.0;

for(i,0;i

a,>ave,a,>ave,a,>s[i];

/*求各门成绩的总和*/

a,>ave,a,>ave/N; /*求平均分*/

}

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

例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。 double fun(STREC *h)

{

double av,0.0;

STREC *p,h,>next; /*p直接指向"头结点"的下一个结点,即第一个成绩*/ while(p~,NULL)

{ av,av,p,>s; /*求总分数*/

p,p,>next;

}

return av/N; /*返回平均值*/

}

8编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素

数的个数通过k返回。

例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值