C语言题库20.docx
- 文档编号:23671475
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:22
- 大小:24KB
C语言题库20.docx
《C语言题库20.docx》由会员分享,可在线阅读,更多相关《C语言题库20.docx(22页珍藏版)》请在冰豆网上搜索。
C语言题库20
第1套
1程序填空
下列给定程序中,函数fun的功能是:
将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862。
第1处0
第2处10*x
第3处n/10;
2程序修改
下列给定程序中函数fun的功能是:
将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为7531。
/**found**/
*t=0;
/**found**/
if(d%2!
=0)
3程序设计
编写函数fun,其功能是:
实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
答案
voidfun(charp1[],charp2[])
{
inti,j;
for(i=0;p1[i]!
=’\0’;i++)
for(j=0;p2[i]!
=’\0’;j++)
p1[i++]=p2[j];
p1[i]=‘\0’;
}
第2套
1程序填空
下列给定程序中,函数fun的功能是:
把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。
例如,若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:
1、9、2、8、3、7、4、6、5。
形参n中存放a所指数组中数据的个数。
第1处a[i];
第2处a[j]
第3处a[j]
2程序修改
下列给定程序中函数fun的功能是:
用递归算法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为:
1、1、2、3、5、8、13、21、……
例如,若给n输入7,则该项的斐波拉契数值为13。
/**found**/
去掉分号或者switch(g)
/**found**/
case1:
case2:
return1;
3程序设计
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:
求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:
85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。
voidfun(STREC*a)
{inti;
a->ave=0.0;
for(i=0;i a->ave=a->ave+a->s[i]; a->ave/=N } 第3套 1.程序填空 下列给定程序中,函数fun的功能是进行数字字符转换。 若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。 第一处char 第二处ch<=’9’ 第三处‘0’ 2.程序修改 下列给定程序中函数fun的功能是: 将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,若给a输入字符串: ABCDEFGKHIJK,调用函数后,字符数组b中的内容为: ABC DEF GHI JK。 /**found**/ b[k]=*p; /**found**/ b[k]=’‘;k++; 3.程序设计 N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。 请编写函数fun,其功能是: 求出平均分,并由函数值返回。 例如,若学生的成绩是: 85 76 69 85 91 72 64 87,则平均分应当是: 78.625。 doublefun(STREC*h) { doubleav=0.0; STREC*p=h->next; while(p! =NULL) { av=av+p->s; p=p->next; } av/=n; returnav; } 第4套 1程序填空 下列给定程序中,函数fun的功能是: 求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。 ss所指字符串数组中共有M个字符串,且串长小于N。 第1处M 第2处< 第3处K 2程序修改 下列给定程序中函数fun的功能是: 将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。 例如,若输入"Ab,cD",则输出"AB,CD"。 /**found**/ if(('a'<=tt[i])&&(tt[i]<='z')) /**found**/ tt[i]-=32; 3程序设计 编写函数fun,其功能是: 将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。 例如,若输入17,则应输出: 4 6 8 9 10 12 14 15 16。 voidfun(intm,int*k,intxx[]) { inti,j,n=0; for(i=4;i { for(j=2;j if(i%j==0)break; if(j>i)xx[n++]=i; } *k=n; } 第5/6/7/8套见2013年9月部分题库 第9套 1.程序填空 下列给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s所指的字符串为"def35adh3kjsdf7",执行后结果为"defadhajsdf3537"。 第一处j++; 第二处s[i]=t1[i]; 第三处j 2.程序修改 下列给定程序中函数fun的功能是: 用冒泡法对6个字符串进行升序排列。 /**found**/ for(j=i+1;j<6;j++) /**found**/ *(pstr+i)=*(pstr+j); 3.程序设计 编写函数fun,其功能是: 求ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符为1,则输出3。 intfun(char*ss,charc) { inti=0; for(;*ss! =‘\0’;ss++) if(*ss==c) i++; returni; } 第10套 1.程序填空 下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。 函数fun的功能是: 把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 第一处x; 第二处p 第三处s 2.程序修改 下列给定程序中函数fun的功能是: 计算正整数num各位上的数字之积。 例如,若输入252,则输出应该是20。 若输入202,则输出应该是0。 /**found**/ longk=1; /**found**/ num/=10 3.程序设计 编写函数fun,其功能是: 计算n门课程的平均分,结果作为函数值返回。 例如: 若有5门课程的成绩是: 90.5,72,80,61.5,55,则函数的值为: 71.80。 floatfun(float*a,intn) { inti; floatave=0.0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 20