国二报C语言,国二C语言.doc

此篇博客介绍了C语言中的多个实用函数,包括筛选指定分数范围的学生数据、生成1到m间符合条件的整数数组、查找并修改特定学号信息、字符串操作、数值精度计算、字符处理、整数合并及高分学生计数。涉及的数据结构、算法和字符串处理是C语言编程的重要组成部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

国二C语言

2012年C语言的题

1. 学生的记录由学号和成绩组成N名学生

的数据已在主函数中放入结构体数组s中请

编写了函数fun它的功能是把指定分数范

围内的学生数据放在b所指的数组中分数范

围内的学生人数由函数值返回。 int fun

(STREC *a,STREC *b,int l,int h) { int

i,j=0; for(i=0;i

[i].s>=1&&a[i].s<=h)b[j++]=a[i]; return

j; }

2. 请编写一个fun函数它的功能是求出1

到m之间含m能被7或11整除的所有整数放

在数组a中通过n返回这些数的个数。 void

fun(int m,int *a,int *n) { int

i,j=0;*n=0; for(i=1;i<=m;i++) if((i

%7==0)||(i%11==0)) { a[j]=i; j++; }

*n=j; }

3. 学生的记录由学号和成绩组成N名学

生的数据已在主函数中放入结构体数组s中

请编写了函数fun它的功能是函数返回指

定学号的学生数据指定的学生号在主函数

中输入若没有找到指定学号在结构体变

量中给学号置空串给成绩置-1作为函数

值返回。用于字符串比较的函数是strcmp

。 STREC fun(STREC*a,char *b) { STREC

c; Int i; c.num*0+=’\0’; c.s=-1; for

(i=0;i

{strcpy(c.num,a[i].num); c.s=a

[i].s;break;} return c; }

4. 请编写一个函数fun将ss所指字符串中

所有下标为奇数位置上的字母转换为大写

若该位置上不是字母则不转换。 void

fun(char *ss) { int i; for

(i=1;i=’a

’&&ss*i+<=’z’)ss*i]-=32; } }

5.请编写一个函数fun它的功能是根据

以下公式求JI的值要求满足精度0.0005

即某项小于0.0005时停止送代程序运行

后如果输入精度为0.0005则程序输出为

3.14?。 double fun(double eps) {

double s; float n,t,pi;

t=1;pi=0;n=1.0;s=1.0; while((fabs(s))

>=eps) { pi+=s; t=n/(2*n+1); s*=t; n++;

} pi=pi*2; return pi; }

6. 函数fun的功能是将s所指字符串中

ASCII值为奇数的字符删除串中剩余字符形

成一个新串放在t所指定的数组中。 void

fun(char *s,char t[]) { int i,j=0;

for(i=1;i

[j++]=s[i]; t[j]='\0'; }

7. 函数fun的功能是将a、b中的两位正整

数合并形成一个新的整数放在c中。合并的方

式是将a中的十位和个位依次放在变量c的

百位和个位上b中的十位和个位数依次放在

变量c的十位和千位上。 #include

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

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

*10+a%10; }

8. 学生的记录由学号和成绩组成N名学生

的数据已在主函数中放入结构体数组s中请

编写了函数fun它的功能是把分数最高的

学生数据放在b所指的数组中注意分数最

高的学生可能不止一个函数返回分数最高

的学生的人数。 int fun(STREC *a,STREC

*b) { int i,max=a[0].s,n=0; for

(i=1;i

for(i=0;i

=a[i]; return n; }

9. 请编写函数fun函数的功能是求出二

级数组周边元素之和作为函数值返回。二

维数组中的值在主函数中赋予。 int fun

(int a [M][N]) { int tot=0,i,j; for

(i=0;i

tot +=a[M-1][i]; } for(i=1;i

tot +=a[i][0];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值