全国计算机二级C考精彩试题库程序设计部分.docx
- 文档编号:5524437
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:36
- 大小:48.69KB
全国计算机二级C考精彩试题库程序设计部分.docx
《全国计算机二级C考精彩试题库程序设计部分.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C考精彩试题库程序设计部分.docx(36页珍藏版)》请在冰豆网上搜索。
全国计算机二级C考精彩试题库程序设计部分
1、找出2xM整型二维数组中最大元素的值,并将此值返回调用函数.
intfun
{
inti,j,max=a[0][0];
for
for
if
max=a[i][j];
returnmax;}
2、
根据以下公式求π值.
doublefun
{doubles=0.0,s1=1.0;
intn=0;
while
{s=s+s1;
s1=s1*n/<2*n+1>;
n++;
}
return2*s;
}
3、求出1~1000之间能被7或11整除但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数.
voidfun
{inti,j=0;
for
if<&&i%77!
=0>
a[j++]=i;
*n=j;
}
4、删除字符串中所有*号.
voidfun
{inti,j=0;
for
='\0';i++>
if ='*'> a[j++]=a[i]; a[j]='\0'; } 5、实现两个字符串的连接〔不要同时使用库函数〕,即把p2所指的字符串连接到p1所指的字符串的后面. voidfun { inti,j; for ='\0';i++>; for ='\0';j++> p1[i++]=p2[j]; p1[i]='\0';} 6、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能: 求出平均分,并放入记录的ave成员中. voidfun {inti; a->ave=0.0; for a->ave=a->ave+a->s[i]; a->ave/=N;} 7、n名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点.求出平均分,并由函数值返回 doublefun {doubleave=0.0; STREC*p=h->next; while =NULL> {ave=ave+p->s; p=p->next; } returnave/N;} 8、将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过K返回. voidfun {inti,j,n=0; for {for ifbreak; if } *k=n; } 9、求ss所指字符串中指定字符的个数,并返回此值. intfun {inti=0; for<;*ss! ='\0';ss++> if<*ss==c> i++; returni; } 10、计算n门课程的平均分,结果作为函数值返回. floatfun {inti; floatav=0.0; for av=av+a[i]; return } 11、学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,求最高的学生数据放在b所指的数组中.注意: 分数最高的学生可能不止一个,函数返回分数最高的学生的人数. intfun {inti,j=0,max=a[0].s; for if for if b[j++]=a[i]; returnj;} 12、除了字符串前导的*号之外,将串中其他*号全部删除. voidfun {inti=0; char*p=a; while<*p&&*p=='*'> {a[i]=*p; i++; p++; } while<*p> {if<*p! ='*'> {a[i]=*p;i++;} p++; } a[i]='\0'; } 13、统计在tt所指的字符串中’a’到’z’26个小写字母给出现的次数,并依次放在pp所指数组中. voidfun {inti; for pp[i]=0; for<;*tt! ='\0';tt++> if<*tt>='a'&&*tt<='z'> pp[*tt-'a']++; } 14、将字符串尾部的*号全部删除,前面和中间的*号不动. voidfun {while<*a! ='\0'> a++; a--; while<*a=='*'> a--; 15、比拟字符串的长度,函数返回较长的字符串,如果一样,如此返回第一个字符串. char*fun {inti,j; for ='\0';i++>; for ='\0';j++>; if returnt; else returns;} 16、学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,函数返回该学生的学生数据,指定的学号在主函数中输入.假如没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数数值返回. STRECfun {inti; STRECstr={"\0",-1}; for if str=a[i]; returnstr; } 17、将s所指字符串中除下标为偶数同时ASCII码值也为偶数的字符外,其余的全部删除字符串中剩余的字符所形成的新串放在t数组中.voidfun { inti,j=0; for ='\0';i++> if t[j++]=s[i]; t[j]='\0'; } 18、利用下面的简单迭代方法求方程cos . doublefun<> {doublex0,x1; x1=0.0; do { x0=x1; x1=cos }while returnx1; } 19、将字符串中的前导*号全部移到字符串尾部. voidfun {inti=0,n=0; char*p; p=a; while<*p=='*'>/*判断*p是否是*号,并统计*号的个数*/ { n++;p++; } while<*p>/*将前导*号后的字符传递给a*/ { a[i]=*p;i++;p++; } while =0> { a[i]='*';i++;n--; } a[i]='\0';} 20、N名学生的数据已放入主函数中的结构体数组中,把分数最低的学生数据放入b所指的数组中. intfun {inti,j=0,min=a[0].s; for if min=a[i].s;/*找出最小值*/ for if b[j++]=a[i];/*找出成绩与min相等的学生的记录,存入结构体b中*/ returnj; } 21、计算 doublefun {inti; doubles=0.0; for s=s+log; returnsqrt } 22、只删除字符前导和尾部的*号,串中字母间的*号都不删除. voidfun {inti,j=0; for a[j++]=a[i]; a[j]='\0';} 23、将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中 voidfun {inti,j=0,k=strlen for t[j++]=s[i]; t[j]='\0';} 24、将a,b中的两位正整数合并成一个新的整数放在c中.合并方式是: 将a中的十位和个位依次放在变量c的百位和个位上,B中的十位和个位数依次放在变量c的十位和千位上. voidfun { *c=a%10+*10+*100+*1000; } 25、除了尾部的*号之外,将字符中的其他的*号全部删除.形参p已指向字符串最后的一个字母. voidfun {char*t=a; for<;t<=p;t++> if<*t! ='*'> *=*t; for<;*t! ='\0';t++> *=*t; *a='\0'; } 26、N名学生的数据已放入主函数中的结构体数组中,按分数降序排列学生的记录,高分在前,低分在后. voidfun {inti,j; STRECt; for for {t=a[j];a[j]=a[j+1];a[j+1]=t;} } 27、N名学生的数据已放入主函数中的结构体数组中,把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回. doublefun { inti; doubleav=0.0; *n=0; for av=av+a[i].s; av=av/N; for if {b[*n]=a[i];*n=*n+1;} returnav;} 28、将1~m之间〔含m〕能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数. voidfun {inti,j=0; for if a[j++]=i; *n=j;} 29、将字符串中的前导*号全部删除,中间和尾部的*号不删除. voidfun {char*p=a; while<*p=='*'>p++; for<;*p! ='\0';p++,a++> *a=*p; *a='\0';} 30、N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点.找出学生的最高分. doublefun {doublemax=h->s; while =NULL> {if h=h->next; } returnmax; } 30、找出一维整型数组元素最大的值与其所在的下标,并通过形参传回.主函数中x是数组名,n是x数据个数,max存放最大值,index存放最大值所在元素的下标. voidfun {inti; *max=a[0]; *d=0; for {*max=a[i];*d=i;} } 31、将s所指字符串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串在剩余字符所形成的一个新串放在t所指的数组中. voidfun {inti,j=0,n; n=strlen for if =0&&s[i]%2! =0> {t[j]=s[i]; j++; } t[j]='\0';} 32、实现B=A+’A’,即将矩阵A加上A的转置,存放在矩阵B中. voidfun {inti,j; for for b[i][j]=a[i][j]+a[j][i];} 33、将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中. voidfun {inti,j; for for { b[*n]=*<* *n=*n+1; } } 34、将两个两位数的正整数a,b合并成一个整数放在c中.合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上. voidfun { *c=a/10+*10+*100+*1000; } 35、将放在字符串数组中的M个字符串〔每串的长度不超过N〕,按顺序合并成一个新的字符串. voidfun {inti,j,k=0; for for ='\0';j++> b[k++]=a[i][j]; b[k]='\0'; } 36、删除一个字符串中指定下标的字符.a指向原字符后的字符串存放在b所指的数组中,n中存指定的下标. voidfun {inti,k=0; for ='\0';i++> if =n> b[k++]=a[i]; b[k]='\0'; } 37、移动一维数组中的内容,假如数组中有n个整数,要求把下标从0~p〔含p,p小于等于n-1〕的数组元素平移到数组的最后. voidfun {intx,j,ch; for {ch=w[0]; for { w[j-1]=w[j]; } w[n-1]=ch; } } 38、将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中. voidfun {inti,j,k=0; for for b[k++]=s[j][i]; b[k]='\0'; } 39、计算 floatfun {inti,s1=0; floats=0.0; for {s1=s1+i; s=s+1.0/s1; } returns; } 40、将s所指字符串中ASCCII值为奇数的字符删除,剩余字符形成的新串放在t所指数组中 voidfun {inti,j=0,n; n=strlen for if {t[j]=s[i]; j++; } t[j]='\0'; } 42、删除一维数组中所有一样的数使之只剩一个.数组中的数已按由小到大的顺序排列函数返回删除后数组的数据. intfun {inti,j=1; for if =a[i]> a[j++]=a[i]; returnj; } 43、除了字符串前导和尾部的*号外,将串中其他的*号全部删除. voidfun {inti=0; char*q=a; while {a[i]=*q;q++;i++;} while ='*'> {a[i]=*q; i++; } q++; } while<*q> {a[i]=*q;i++;q++;} a[i]='\0'; } 44、将a,b的两个两位正整数合并成一个新的整数放在c中,合并方式是: 将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上. voidfun { *c=a%10+*10+*100+*1000; } 45、使字符串的前导*号不得多于n个,假如多于n个,如此删除多余的*号,假如少于或等于n个,如此不做处理,字符串中间和尾部的*号不删除. voidfun {inti=0; intk=0; char*p,*t; p=t=a; while<*t=='*'> {k++;t++;} if {while<*p> {a[i]=* ; i++; p++; } a[i]='\0'; } } 46、将两个两位数的正整数a,b合并成一个整数放在c中,合并方式是: 将a数的十位和个位数依次在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上. voidfun { *c=a/10+*10+*100+*1000; } 47、将一个数字字符串转换为一个整数. 答案: ongfun {longn=0; intflag=1; if<*p=='-'> {p++;flag=-1;} elseif<*p=='+'> p++; while<*p! ='\0'> {n=n*10+*p-'0'; p++; } returnn*flag; } 48、求Fibonacc数列中大于t的最小的数,结果由函数返回.Fibonacc数列F〔n〕定义为 intfun {intf0=0,f1=1,f; do{ f=f0+f1; f0=f1; f1=f; }while returnf; } 49、把低于平均分的学生数据放入b所指的数组中低于平均分的学生人数通过形参n返回,平均分通过函数值返回 doublefun {inti,j=0; doubleav=0.0; for av=av+a[i].s; av=av/N; for *n=j; returnav; } 50、将ss所指字符串所有下标为奇数位上的字母转换为大写. voidfun {inti; for ='\0';i++> if='a'&&ss[i]<='z'> ss[i]=ss[i]-32; } 51、将a,b两个正整数合并成一个新的整数放在c中.合并方式: 将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上. voidfun } 52、使字符串中尾部的*号不多于n个,假如多于n个,如此删除多余的*号,假如少于或等于n个,如此不做任何操作,字符中间的*不删除. voidfun {inti=0,k=0; char*p,*t; p=t=a; while<*t> t++; t--; while<*t=='*'> {k++;t--;} if {while<*p&&p {a[i]=*p; i++;p++; } a[i]='\0'; } } 53、将a,b两个正整数合并成一个新的整数放在c中.合并方式: 将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的百位和个位上. voidfun } 54、将a,b两个正整数合并成一个新的整数放在c中.合并方式: 将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的十位和个位上. voidfun { } 55、把指定分数X围内的学生数据放在b所指的数组中,分数;;;+j>;;{if<*q!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 精彩 试题库 程序设计 部分
![提示](https://static.bdocx.com/images/bang_tan.gif)