C语言复习题
更新时间:2024-02-26 12:52:02 阅读量: 综合文库 文档下载
- c语言复数运算推荐度:
- 相关推荐
C语言复习题
一、题目类型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
百分制成绩 完数
链接字符串
/* 请编一个函数sort(),函数的功能用指针的方法将三个整数按小到大的顺序排列。 形参的值交换 实现字符串的比较 判断正整数的奇偶 素数
/* 请编一个函数substitution(),函数的功能将数组a[5][5]中的元素行列互换后存放在本数
/* 请编一个函数ishuiwen(),函数的功能用指针的方法判断字符串是否是回文 /* 请编一个函数fun,函数的功能是计算圆的面积
/* 请编一个函数fun,函数的功能是计算1!+2!+...+n! .如1!+2!+3!+4!=33
/* 请编一个函数insort(),函数的功能是在升序排好的整型数组中,按原来排序的规律插入一个数到组中。
/* 请编一个函数matrix_transpose(),函数的功能用指针的方法,实现2×3矩阵的转置。
/* 请编一个函数fun,函数的功能是小写字母,则变换成大写字母;其他字符不变换。 /* 请编一个函数fun,函数的功能是计算s=3+33+333+3333+...+3..3(n个).如n=3时3+33+333=369.
/* 请编一个函数upword(),函数的功能统计字符串中每个大写字母的个数,
/* 请编一个函数sort(),函数的功能用指针的方法将三个整数按小到大的顺序排列。 /* 请编一个函数sort(),函数的功能是对数组中元素进行升序排序。
/* 请编一个函数fun,函数的功能是将560分钟转换成小时和分钟表示,变量hour,min已在函数外定义。
/* 请编一个函数fun,函数的功能是判断一个三位数为水仙花数,如是水仙花数函数返回
/* 请编一个函数upword(),函数的功能统计字符串中每个大写字母的个数,
存放在num数组中(其中num[0]存放字母A出现的次数,num[1]存放字母B出现的次数,
/* 请编一个函数dele(),函数的功能在一个按升序排好的整型数组,查找指定的整数;若有,将其删除;若没有,输出\。
/* 请编一个函数matrix_transpose(),函数的功能用指针的方法,实现2×3矩阵的转置。
/* 请编一个函数fun,函数的功能是计算s=1-1/2+1/3-1/4+1/5+...+1/m.如1-1/2+1/3-1/4+1/5+...+1/7=0.76 /* 请编一个函数add(),函数的功能计算5×5的矩阵中下三角元素之和下三角元素就是主对角线以下(含主对角线)的元素。
? ? ? ? ?
/* 请编一个函数fun,函数的功能是计算三角形面积
* 请编一个函数fun,函数的功能是计算1!+2!+...+n! .如1!+2!+3!+4!=33
/* 请编一个函数stringlen(),函数的功能计算字符串的长度。不能使用strlen函数。 /* 请编一个函数fun,函数的功能是计算两个自然数的最小公倍数。
/* 请编一个函数findmax(),函数的功能是查找二维数组score[5][3]中的每一行中最大值,并存放到相应max[i]中。
? /* 请编一个函数matrix_transpose(),函数的功能用指针的方法,实现2×3矩阵的转
置。
二、对应题目
1./* 请编一个函数fun,函数的功能是根据百分制成绩,判断相应的成绩等级,判断依据是:
成绩>=90为A 成绩>=80为B 成绩>=70为C 成绩>=60为D 其他为E。
函数返回相应的等级(要求用switch结构完成函数的功能)。 注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/
#include
}
char fun(float score) {
/********** Begin **********/
char grade ; switch ((int)(score/10))
{ case 10:
case 9: printf (\ case 8: printf (\ case 7: printf (\ case 6: printf (\ case 5: case 4: case 3: case 2: case 1:
case 0:grade='E';break; } return grade;
/********** End **********/ }
void xqs() {
float score; char grade; int i;
FILE *rf, *wf ;
rf = fopen(\ wf = fopen(\ for(i=0;i<10;i++) {
fscanf(rf, \ grade=fun(score);
fprintf(wf, \ }
fclose(rf) ; fclose(wf) ; }
2./* 请编一个函数fun,函数的功能是判断一个数是否为\完数\。一个数如果恰好等于它的因子之和,这个数就是\完数\。
例如,6的因子为1、2、3,而6=1+2+3,因此6是\完数\。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/
#include
int i , j , s = 0 ; for( i = 1 ; i < 1000 ; i++ ) if(fun(i))
printf(\
xqs(); return 0 ; }
int fun(int n) {
/********** Begin **********/
int s=0,i=0; for(i=1;i if(s==n) return 1; else return 0; /********** End **********/ } void xqs() { int i; FILE *wf ; wf = fopen(\ for( i = 1 ; i < 1000 ; i++ ) if(fun(i)) fprintf(wf, \ fclose(wf) ; } 3./* 请编一个函数stringjoin(),函数的功能将两个字符串连接起来。不能使用strcat函数。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数stringjoin的花括号中填入你编写的若干语句。*/ #include void stringjoin(char s1[100],char s2[100]); int main( ) { char s1[100] , s2[30] ; int i , j ; printf( \ gets( s1 ) ; printf( \ gets( s2 ) ; stringjoin(s1,s2); printf( \ puts( s1 ) ; printf( \ puts( s2 ) ; int i; if(x>=a[7]) a[8]=x; else {for(i=7;i>=0&&a[i]>x;i--) a[i+1]=a[i]; a[i+1]=x; } /********** End **********/ } void xqs() { int i,j, a[10]; FILE *rf, *wf ; if((rf = fopen(\ { printf(\exit(0); } if((wf=fopen(\ { printf(\exit(0); } for(i = 0 ; i < 8; i++) fscanf(rf, \ insort(a,9); for(i = 0 ; i < 9; i++) fprintf(wf, \ fclose(rf) ; fclose(wf) ; } 15./* 请编一个函数matrix_transpose(),函数的功能用指针的方法,实现2×3矩阵的转置。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数matrix_transpose的花括号中填入你编写的若干语句。*/ #include void matrix_transpose ( int ( *original )[COL] , int ( *result )[ROW] ) ; int main( ) { int data[ROW][COL] = { 1 , 2 , 3 , 4 , 5 , 6 } , result_data[COL][ROW] = { 0 } ; int i , j ; printf( \ for( i = 0 ; i < ROW ; i++ ) { for( j = 0 ; j < COL ; j++ ) printf( \ printf( \ } matrix_transpose ( data , result_data ) ; printf( \ for( i = 0 ; i < COL; i++ ) { for( j = 0 ; j < ROW ; j++ ) printf( \ printf( \ } xqs(); return 0 ; } void matrix_transpose ( int ( *original )[COL] , int ( *result )[ROW] ) { /**********Begin**********/ int i,j; for( i = 0 ; i < ROW ; i++ ) { for( j = 0 ; j < COL ; j++ ) result[j][i]=original[i][j]; } /********** End **********/ } void xqs() { int i,j, s[ROW][COL],r[COL][ROW]; FILE *rf, *wf ; if((rf = fopen(\ { printf(\exit(0); } if((wf=fopen(\ { printf(\exit(0); } for(i = 0 ; i < ROW; i++) for(j=0 ; j < COL; j++) fscanf(rf, \printf(\ matrix_transpose ( s , r ); for(i = 0 ; i < COL; i++) { for(j=0;j fprintf(wf, \fprintf(wf, \ } fclose(rf) ; fclose(wf) ; } 16./* 请编一个函数fun,函数的功能是小写字母,则变换成大写字母;其他字符不变换。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include char fun(char ch) { /********** Begin **********/ if(ch>='a'&&ch<='z') ch=ch-32; return ch; /********** End **********/ } void xqs() { char a,i; FILE *rf, *wf ; rf = fopen(\ wf = fopen(\for(i=0;i<10;i++) { fscanf(rf, \ a=fun(a); fprintf(wf, \ } fclose(rf) ; fclose(wf) ; } 17./* 请编一个函数 3+33+333=369. fun,函数的功能是计算s=3+33+333+3333+...+3..3(n个).如n=3时 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include xqs(); return 0 ; } long fun(int n) { /********** Begin **********/ int s=0,m=3,i; for(i=1;i<=n;i++) { s=s+m; m=m*10+3; hour=time/60; min=time`; /********** End **********/ } void xqs() { int a; FILE *rf, *wf ; rf = fopen(\wf = fopen(\fscanf(rf, \fun(a); fprintf(wf, \ fclose(rf) ; fclose(wf) ; } 22./* 请编一个函数fun,函数的功能是判断一个三位数为水仙花数,如是水仙花数函数返回值为1,否则返回0。所谓水仙是指一个三位数等于其各位上数字的立方和。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include { if(fun(n)) printf( \ } xqs(); return 0 ; } int fun(int n) { /********** Begin **********/ int i,j,k; i=n/100; j=(n0)/10; k=n; if(n==(i*i*i+j*j*j+k*k*k)) return 1; else return 0; /********** End **********/ } void xqs() { float score; char grade; int i; FILE *wf ; wf = fopen(\for(i=100;i<1000;i++) { if(fun(i)) fprintf(wf, \ } fclose(wf) ; } 24./* 请编一个函数dele(),函数的功能在一个按升序排好的整型数组,查找指定的整数;若有,将其删除;若没有,输出\。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数dele的花括号中填入你编写的若干语句。*/ #include void dele(int a[],int x); int main( ) { int a[10] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ; int t , j , k = 0 ; printf( \ scanf( \ dele(a,t); for( j = 0 ; j < 9 ; j++ ) printf( \ xqs(); return 0 ; } void dele(int a[10],int t) { /**********Begin**********/ int i,k; for(i=0;i<10;i++) { if (a[i]==t) break; } if(i!=10) { for(k=i;k<9;k++) a[k]=a[k+1]; } else printf(\ /********** End **********/ } void xqs() { int i,j, a[10]; FILE *rf, *wf ; if((rf = fopen(\ { printf(\exit(0); } if((wf=fopen(\//判断文件是否成功打开 { printf(\exit(0); } for(i = 0 ; i < 10; i++) fscanf(rf, \ dele(a,9); for(i = 0 ; i < 9; i++) fprintf(wf, \ fclose(rf) ; fclose(wf) ; } 26./* 请编一个函数fun,函数的功能是计算 s=1-1/2+1/3-1/4+1/5+...+1/m.如1-1/2+1/3-1/4+1/5+...+1/7=0.76 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include xqs(); return 0 ; } double fun(int m) { /********** Begin **********/ int i,t=-1; double s=0,x; for(i=1;i<=m;i++) { t=-t; s=s+t*1.0/i; } return s; /********** End **********/ } void xqs() { int i; FILE *wf ; wf = fopen(\ fprintf(wf, \fprintf(wf, \fclose(wf) ; } 27./* 请编一个函数add(),函数的功能计算5×5的矩阵中下三角元素之和。 下三角元素就是主对角线以下(含主对角线)的元素。 例如: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 下三角元素之和为220。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数add的花括号中填入你编写的若干语句。*/ #include int add(int a[5][5]); int main( ) { int a[5][5] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21, 22,23,24} ; int i , j ,sum = 0 ; for ( i = 0 ; i < 5 ; i++ ) { for ( j = 0 ; j < 5 ; j++) printf( \ printf( \ } sum=add(a); printf( \ xqs(); return 0 ; } int add(int a[5][5]) { int s=0,i,j; /**********Begin**********/ int sum=0; for(i=0;i<5;i++) for(j=0;j<=i;j++) sum+=a[i][j]; return sum; /********** End **********/ } void xqs() { int i,j, a[5][5],s; FILE *rf, *wf ; if((rf = fopen(\ { printf(\exit(0); } if((wf=fopen(\ { printf(\exit(0); } for(i = 0 ; i <5; i++) for(j=0;j<5;j++) fscanf(rf, \ s=add(a); fprintf(wf, \ fclose(rf) ; fclose(wf) ; } //判断文件是否成功打开 28./* 请编一个函数fun,函数的功能是计算三角形面积 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include double fun(double x,double y,double z); void xqs(); int main( ) { double a , b , c , s ; a = 3.0 ; b = 4.0 ; c = 5.0 ; s=fun(a,b,c); printf( \ xqs(); return 0 ; } double fun(double x,double y,double z) { /********** Begin **********/ double p,a , b , c , s ; a = 3.0 ; b = 4.0 ; c = 5.0 ; p=0.5*(a+b+c); s=sqrt(p*(p-a)*(p-b)*(p-c)); /********** End **********/ } void xqs() { double a,b,c; FILE *rf, *wf ; rf = fopen(\wf = fopen(\ fscanf(rf, \ fprintf(wf, \ fclose(rf) ; fclose(wf) ; } 30./* 请编一个函数stringlen(),函数的功能计算字符串的长度。不能使用strlen函数。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数stringlen的花括号中填入你编写的若干语句。 #include int stringlen(char s[]); int main( ) { char s1[100] ; int i ; printf( \ gets( s1 ) ; i=stringlen(s1); printf( \ xqs(); return 0 ; } int stringlen(char s1[100]) { /**********Begin**********/ int i; for(i=0;i<100;i++) { if(s1[i]=='\\0') break; } return i; /********** End **********/ } void xqs() { int i,j,len; char s1[100],s2[100];; FILE *rf, *wf ; if((rf = fopen(\ { printf(\exit(0); } if((wf=fopen(\//判断文件是否成功打开 { printf(\exit(0); } fgets(s1, 100, rf) ; len=stringlen(s1); fprintf(wf,\fputs(s1,wf); fprintf(wf,\ fprintf(wf, \ fclose(rf) ; fclose(wf) ; } 31./* 请编一个函数fun,函数的功能是计算两个自然数的最小公倍数。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include int fun( int m , int n ) { /********** Begin **********/ int t,i,p,k; if(m p=m*n; while(n!=0) { i=m%n; m=n; n=i; } k=p/m; return k; /********** End **********/ } int main( ) { int m , n ; printf( \ scanf( \ printf( \ xqs(); return 0 ; } void xqs() { FILE *wf ; wf = fopen(\ fprintf(wf, \fprintf(wf, \fprintf(wf, \fclose(wf) ; } 32./* 请编一个函数findmax(),函数的功能是查找二维数组score[5][3]中的每一行中最大值,并存放到相应max[i]中。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数findmax的花括号中填入你编写的若干语句。*/ #include void findmax(int score[5][3],int max[5]); int main( ) { int score[5][3] , max[5] ; int i , j ; printf( \ for( i = 0 ; i < 5 ; i++ ) for( j = 0 ; j < 3 ; j++ ) scanf( \ findmax(score,max); for( i = 0 ; i < 5 ; i++ ) printf(\ xqs(); return 0 ; } void findmax(int score[5][3],int max[5]) { /**********Begin**********/ int i,j,p; for(i=0;i<5;i++) { p=0; for(j=1;j<3;j++) if(score[i][p] /********** End **********/ } void xqs() { int i,j, a[5][3],max[5]; FILE *rf, *wf ; if((rf = fopen(\ { printf(\exit(0); } if((wf=fopen(\//判断文件是否成功打开 { printf(\exit(0); } for(i = 0 ; i <5; i++) for(j=0;j<3;j++) fscanf(rf, \ findmax(a,max); for(i=0;i<5;i++) fprintf(wf,\ fclose(rf) ; fclose(wf) ; } 补充: 1 /* 请编一个函数fun,函数的功能是找出4个整数中的最大值。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include int fun(int x,int y,int z,int w); void xqs(); int main( ) { int a , b , c , d , max ; printf( \ scanf( \ max=fun(a,b,c,d); printf( \ xqs(); return 0 ; } int fun(int a,int b,int c,int d) { /********** Begin **********/ int max=a; if(max /********** End **********/ } void xqs() { int a,b,c,d,max; FILE *rf, *wf ; rf = fopen(\ wf = fopen(\ fscanf(rf, \ max=fun(a,b,c,d); fprintf(wf, \ fclose(rf) ; fclose(wf) ; } 3/* 请编一个函数fun,函数的功能是一个球从100米高度自由落下,每次落地后又 反跳回原高度的一半,再落下,再反弹。 求它第n(n>=2)次落地时,共经过多少米。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/ #include int main( ) { int n ; printf(\ scanf(\ printf( \第%d次落地时共经过%lf米\\n\ xqs(); return 0 ; } double fun(int n) {
正在阅读:
C语言复习题02-26
专题八、盐类的水解和沉淀溶解平衡解读03-13
(新)高中英语Unit3ThesecretofsuccessSectionⅣTaskProject学业04-05
湖南省邵东县2016 - 2017学年高一数学下学期期中试题09-10
2012下半年江苏南京事业单位招聘职位汇总(全) - 图文05-11
小学语文第三册第五单元测试卷06-01
班级通信录管理系统(汇编课程设计)09-11
苏教版生物七上第一节《 我们周围的生物》word教案一 - 图文06-25
catia基础教程1-209-04
CNC编程代码(数控铣)07-24
- 冀教版版五年级科学下册复习资料
- 微生物学复习提纲
- 2013—2014学年小学第二学期教研组工作总结
- 国有土地转让委托服务合同协议范本模板
- 我的固废说明书
- 企业管理诊断报告格式
- 东鼎雅苑施工组织设计
- 谈谈如何做好基层党支部书记工作
- 浮梁县环保局市级文明单位创建工作汇报
- 管理学基础知识
- 大学物理实验报告23 - PN结温度传感器特性1
- 计算机网络实践
- 酒桌上这四种情况下要坐牢,千万别不当回事……
- 国家康居示范工程建设技术要点
- 中国贴布行业市场调查研究报告(目录) - 图文
- 新课标下如何在高中物理教学中培养学生的创新能力初探
- 营养师冬季养生食谱每日一练(7月4日)
- 关注江西2017年第3期药品质量公告
- 建设海绵城市专题习题汇总
- 10万吨年环保净水剂建设项目报告书(2).pdf - 图文
- 复习题
- 语言
- 2018考研数学:高数八大考点归纳
- 视频网的现状分析及发展策略
- 人教版三维设计2011年高考地理一轮复习总结:第25讲中国的工业 -
- (全)数字电子技术基础课后答案夏路易(2)
- 财务总监培训的五大能力提升点
- 塑料环注射模具设计
- 公务员面试的几个低分特征
- 单位对个人工作评语
- 2018最新船舶租赁合同(挖泥船)
- office2003试卷和答案
- 建筑结构抗震设计题库复习题(含答案最全面的)
- 四年级数学下册第1-4单元堂堂清 - 图文
- 2016年油漆涂料现状及发展趋势分析
- 我的受教育经历
- 视频案例促进教师课堂教学技能发展应用研究
- 奥数 火车过桥问题
- 英语人教版六年级下册Unit4 B.What a dream!李丽冰 优课设计
- 钢筋工程施工方案
- tapestry5.0
- 国际市场营销教学大纲CTE版本