06年南开上机100题(编辑修改稿)内容摘要:
p++。 } while (*p) { a[i]=*p。 i++。 p++。 } while(n!=0) { a[i]=‘*’。 i++。 n。 } a[i]=‘\0’。 } 37: 第 37 题 某学生的记录由学号、 8门课程成绩和平均分组成,学号和 8门课程的成绩已在主函数中给出。 请编写函数 fun,它的功能是:求出该学生的平均分放在记录的 ave 成员中。 请自己定义正确的形参。 答案: void fun(STREC *p) { double av=。 int i: for(i=0。 i< N。 i++) av+=ps[i]。 av/=N。 pave=av。 } 38: 第 38 题 请编写函数 fun,它的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值。 答案: int fun(char *ss, char c) { int n=0。 while (*ss) { if(*ss==c) n++。 ss++。 } return n。 } 39: 第 39 题 请编写函数 fun,该函数的功能是:移动一维数组中的内容,若数组中由 n个整数,要求把下标从 0到 p(p小于等于 n- 1)的数组元素平移到数组的最后。 答案: void fun(int *w, int p, int n) { int b[N], i, j=0。 for(i=0。 i< =p。 i++) { b[i]=w[i]。 j++。 } for(i=0。 i< =p。 i++) { w[j]=b[i]。 j++。 } } 40: 第 40题 请编写函数 fun,该函数的功能是移动字符串中内容,移动的规则如下:把第 1到第 m个字符,平移到字符串的最后,把第m+ 1到最后的字符移到字符串的前部。 答案: void fun(char *w,int m) { char b[N]。 int I,j=0。 for(i=0。 i< m。 i++) { b[j]=w[i]。 j++。 } for (i=0。 i< strlen(w)m。 i++) w[i]=w[i+m]。 for(j=0。 j< m。 j++) { w[i]=b[j]。 i++。 } w[i]=‘\0’。 } 41: 第 41 题 请编写函数 fun,该函数的功能是:将 m行 n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。 答案: void fun(char (*s)[n],char *b) {int i,j,k=0。 for(j=0。 j< n。 j++) for(i=0。 i< m。 i++) {b[k]=*(*(s+i)+j) k++。 } b[k]=‘\0’。 } 42: 第 42 题 下列程序定义了 n n的二维数组,并在主函数中自动赋值。 请编写函数 fun(int a[][n],int n),该函数的功能是:将数组右上半三角元素中的值乘以 m。 答案: void fun(int a[][n],int m) {int i,j。 for(j=0。 j< n。 j++) for(i=0。 i< =j。 i++) a[j]=a[j]*m。 } 43: 第 43题 编写一个函数,从传入的 num个字符串中找出一个最长的一个 字符串,并通过形参指针 max传回该串地址 (用 ****作为结束输入的标志 )。 答案: char *fun(char (*a)[81],int num) {int i。 char *max。 max=a[0]。 for(i=0。 i< num。 i++) if(strlen(max)< strlen(a)) max=a。 return max。 } 44: 第 44 题 编写一个函数,该函数可以统计一个长度为 2的字符串在另一个字符串中出现的次数。 答案: int fun(char *str,char *substr) {int n。 char *p,*r。 n=0。 while(*str) {p=str。 r=substr。 while(*r) if(*r==*p) {r++。 p++。 } else break。 if(*r==‘\0’) n++。 str++。 } return n。 } 45: 第 45 题 假定输入的字符串中只包含字母和 *号。 请编写函数 fun,它的功能是:只删除字符串前导和尾部的 *号,串中字母之间的 *号都不删除。 形参 n 给出了字符串的长度,形参 h给出了字符串中前导 *号的个数,形参 e 给出了字符串中最后的 *个数。 在编 写时不得使用c 语言给提供得字符串函数。 答案: void fun(char *a,int n,int h,int e) {int i=0。 char *p。 for(p=a+h。 p< a+ne。 p++) {*(a+i)=*p。 i++。 } *(a+i)=‘\0’。 } 46: 第 46 题 学生得记录由学号和成绩组称个, n名大学生得数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能时:按分数的高低排列学生的记录,高分在前。 答案: void fun(strec a[]) {int i,j。 strec t。 for(i=0。 i< n1。 i++) for(j=i。 s< n。 j++) if(< a[j].s) {t=a。 a=a[j]。 a[j]=t。 }} 47: 第 47 题 请编写一个函数 void fun(char *ss),其功能时:将字符串 ss 中所有下标为奇数位置上的字母转换为大写 (若位置上不是字母,则不转换 )。 答案: void fun(char *ss) {int i,n=0。 char *p=ss。 while(*p) {n++。 p++。 } for (i=0。 i< n。 i++) if ((ss=‘ a’ amp。 ss< =‘ z’ )amp。 i%2!=0) ss=ss32。 ss=‘\0’。 } 48: 第 48 题 请编写函数 fun,其功能是:将两个两位数的正整数 a,b合并成一个整数放在 c 中。 合并的方式是:将 a 数的十位和个位依次放在 c 数的千位和十位上, b数的十位和个位数依次放在 c 数的百位和个位上。 答案: void fun(int a,int b,long *c) {*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10。 } 49: 第 49 题 请编写函数 fun,其功能是:将 s 所指字符串中下标位 偶数同时 ascii值为奇数的字符删除, s 中剩余的字符形成的新串放在 t所指的数组中。 答案: void fun(char *s,char t[]) {int i,j=0,n=strlen(s)。 for(i=0。 i< n。 i++) if(i%2==0amp。 s%2!=0) else {f[j]=s。 j++。 } t[j]=‘\0’。 } 50: 第 50 题 已知学生的记录是由学号和学习成绩构成, n名学生的数据已存入 a 机构体数组中。 请编写函数 fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数 (规定只有一个最 高分 )。 答案: void fun(stu a[],stu *s) {int i,max。 max=a[0].s。 for (i=0。 i< n。 i++) if(max) {max=。 *s=a。 }} 51: 第 51 题 请编写函数 fun,其功能是:将所有大于 1小于整数 m的非素数存入 xx 所指的数组中,非素数的个数通过 k传回。 答案: void fun(int m,int *k,int xx[]) {int i,j。 int t=0。 for(i=2。 i< m。 i++) {j=2。 while(j< i) {if(i%j==0) {xx[t]=i。 t++。 break。 } j++。 } *k=t。 }} 52: 第 52 题 编写一个函数 fun,它的功能是:实现两个字符串的连接 (不使用库函数 strcat),即把 p2 所指的字符串连接到 p1 所指的字符串后。 答案: void fun(char p1[],char p2[]) {int i=0,n=0。 char *p=p1,*q=p2。 while (*p) {p++。 n++。 } i=n。 while(*p) {p1=*q。 q++。 i++。 } p1=‘\0’。 } 53: 第 53 题 请编写函数 fun,该函数的功能是:实现 b=a+a,即把矩阵 a 加上 a 的转置,存放在矩阵 b中。 计算结果在 main函数中输出。 答案: void fun(int a[3][3],int b[3][3]) {int i,j,at[3][3]。 for(i=0。 i< =2。 i++) for(j=0。 j< =2。 j++) at[j]=a[j]。 for(i=0。 i< 3。 i++) for(j=0。 j< 3。 j++) b[j]=a[j]+at[j]。 } 54: 第 54 题 学生的记录由学号和成绩组称个, n名学生 的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:把低于平均分的学生数据放在 b所指的数组中,低于平均分的学生人数通过形参 n传回,平均分通过函数值返回。 答案: double fun(strec *a, strec *b,int *n) {double aver=。 int i,j=0。 *n=0。 for (i=0。 i< n。 i++) aver+=。 aver/=n。 for(i=0。 i< n。 i++) if(< aver) {b[j]=a。 (*n)++。 j++。 } return aver。 } 55: 第 55题 请编写函数 fun,该函数的功能是:将 m行 n列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参 n所指的储存单元中。 答案: void fun(int(*s)[10],int *b,int *n,int mm,int nn) {int i,j。 for(i=0。 i< mm。 i++) for(j=0。 j< nn。 j++) {b[*n]=*(*(s+i)+j)。 *n=*n+1。 }} 56: 第 56 题 假定输入的字符串中只包含字母和 *号。 请编写函 数 fun,它的功能是:除了尾部的 *号之外,将字母串中其他 *号全部删除。 形参 p已指向字符串中最后的一个字母。 不使用 c 的字符串函数。 答案: void fun(char*a,char *p) {int i=0。 char *p=a。 while(q< =p) {if(*q!=‘*’) {a=*q。 i++。 } q++。 } while(*q) {a=*q。 i++。 q++。 } a=‘\0’。 } 57: 第 57 题 学生的记录是由学号和成绩组成, n名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能 是:把指定分数范围内的学生数据放在 b所指的数组中,分数范围内的学生人数由函数值返回。 答案: int fun(strec*a,strec *b,int l,int h) {int i,j=0。 for(i=0。 i< n。 i++) if。06年南开上机100题(编辑修改稿)
相关推荐
m the Food and Drug Administration will argue that Canadian drugs might be fake, mishandled, or even a potential threat to life. Do bad drugs fly around the Inter? Sureand the more we look, the more
限时响应类型 限次数响应类型 永久响应类型交互方式设计 永久响应交互方式的意义 永久响应交互方式设置 永久响应交互方式的取消 交互式设计综合举例 第 8 章 决策判断分支结构 决策判断分支结构概述 决策判断分支结构的设置 决策判断分支结构的应用 第 9 章 框架与导航结构 导航系统的作用 导航系统的实现 使用框架结构 使用导航图标 使用超文本 程序跳转与返回 框架结构综合举例 第 10 章
tion. (B) How a baby learns to walk and talk. (C) Ambition can be taught like other subjects at school. (D) Some teenage children lose their drive to succeed. 2. According to some educators and
这样,所以选 B 第 23道 A 图 1+图 2重叠,重叠的阴影留下,没有重叠的阴影去掉,原没有阴影的补上阴影 第 24道 B 第一套图是从图一开始顺时针旋转 45度得出图 2,图 3 第二套图是顺时针旋转 90度,顺序是图 1,。 ,图 2 根据两套图的各图项一一对应相似性, 第一套图的图 1是对应第 2套图的图 1 第一套图的图 3是对应第 2套图的图 2 那么,第一套图的图
得小于 20点 ,被检参数 合格率100%时为检测合格。 2 电气设备工作状态测量 3 变配电系统故障报警 4 高低压配电柜运行状态 各项参数全部检测 ,被 检 参 数 合 格 率100%时为检测合格。 5 电
翠、田) 扬中树人 任、仇 、 绍 高 一 期中试卷分析、交流 新华中学 谈传定 高三 文化生活知识点梳理、整合 (新华) 扬中 赵俊 11. 20 初 一 交 流期中考试,备课( 913课) 竹西中学 姜艳 初二 研究课(世明) 世明学校 曹立兵 高二 备课第三单元 附中 芮琴娣 12. 11 初三 备课第四单元(教院、维扬、八里) 扬中树人 徐、殷 、 杨 高 一 研究课(附中东部)