C语言程序设计题(函数题中15道)
浙大版《C语言程序设计(第3版)》题目集
- 习题6-6 使用函数输出一个整数的逆序数
- 练习8-2 计算两数的和与差
- 练习8-8 移动字母
- 习题8-1 拆分实数的整数与小数部分
- 习题8-2 在数组中查找指定元素
- 习题8-3 数组循环右移
- 习题8-4 报数
- 习题8-5 使用函数实现字符串部分复制(有疑惑)
- 习题8-6 删除字符
- 习题8-8 判断回文字符串
- 习题8-9 分类统计各类字符个数
- 习题9-2 计算两个复数之积
- 习题9-6 按等级统计学生成绩
- 练习10-1 使用递归函数计算1到n之和
- 习题10-1 判断满足条件的三位数
- 代码链接
习题6-6 使用函数输出一个整数的逆序数
int reverse( int number ){int sum=0,i,flag = 0;if(number < 0){ //number 为负数时, 转成正数flag = 1;number = -number;}while(number>0){i = number % 10;sum = sum * 10 + i;number = number / 10;}if(flag){ //还原负数return -sum;}return sum;
}
练习8-2 计算两数的和与差
void sum_diff( float op1, float op2, float *psum, float *pdiff ){*psum = op1 + op2;*pdiff = op1 - op2;
}
练习8-8 移动字母
void Shift( char s[] ){int i;char a[3] = {s[0],s[1],s[2]};for(i=0;s[i+3]!='\0';i++){//TODOs[i] = s[i+3];}s[i] = a[0];s[i+1] = a[1];s[i+2] = a[2];
}
习题8-1 拆分实数的整数与小数部分
void splitfloat( float x, int *intpart, float *fracpart ){*fracpart = x- (int) x;* intpart = x - *fracpart;
}
习题8-2 在数组中查找指定元素
int search( int list[], int n, int x ){for(int i=0;i<n;i++){if(list[i] == x){return i;}}return -1;
}
习题8-3 数组循环右移
void ArrayShift( int a[], int n, int m ){int temp;m = m%n; //防止m>n//前n-m项进行逆置注意 条件为 < 而不是 <= 上标 0 1 2 3 4 5 61 2 3 4 5 6 7
逆置3位的话 前四位 (7-3)/ 2 --上表是2
前四位逆置的话上标到1已经完成了,所以小于2for(int i=0;i<(n-m)/2;i++){ temp = a[i];a[i] = a[n-m-1-i];a[n-m-1-i] = temp;}for(int i=0;i<(m/2);i++){temp = a[n-1-i];a[n-1-i] = a[n-m+i];a[n-m+i] = temp;}for(int i=0;i<n/2;i++){temp = a[i];a[i] = a[n-1-i];a[n-1-i] = temp;}
}
习题8-4 报数
void CountOff( int n, int m, int out[] ){int flag = 1,i,cir; //i,cir 临时变量int check[n+1][1]; //建立一个n的二维数组 从1-n 0位置空出来不用for(i=1;i<=n;i++){ // 给循环数组附初值1check[i][0] = 1;}i=1; //从头开始while(flag <= n){cir =1; //到第m个后,跳出,但是此时check[i]中的值必须为1,才能对while(cir != m){ if(check[i][0] == 1) //此判断不能去掉,因为进来后第一次判断check中的值可能为0cir++;while(1){//TOD0i++;if(i>n)i = 1;if(check[i][0] == 1)break;}} check[i][0] = 0;out[i-1] = flag;flag++; i++; // 不能删除,当m=1时,不进循环,所以得加入}
}
习题8-5 使用函数实现字符串部分复制(有疑惑)
此题我不是太理解,到底是什么个意思,虽然结果对了,但是我想知道 maxn在这有什么意义?
void strmcpy( char *t, int m, char *s ){int num = 0,i,j;for(i=0; t[i]!='\0'; i++){num++;}// MAXN 最大为20,所以t长度大于19时限制到19,因为最后‘\0’还占一个空间if(num>19)num = 19;if(num>=m){for(i=m-1,j=0; t[i]!='\0'; i++,j++) //当s复制到最后一个字符时,跳出s[j] = t[i];}s[j] = '\0'; }
有理解的大哥,能够给解释一下
习题8-6 删除字符
void delchar( char *str, char c ){int i,j;for(i=0,j=0; str[i+j]!='\0'; i++){while(str[i+j] == c ){ //相当于有c出现时,将后面的数往前多以几位j++; //可以动手画一画,更清楚}str[i] = str[i+j];}str[i] = '\0';
}
习题8-8 判断回文字符串
bool palindrome( char *s ){int length=0;//计算长度for(int i=0;s[i]!='\0'; i++){length++;}// 折半 比较for(int i=0;i<=length/2;i++){if(s[i] != s[length-1-i]){return false;}}return true;
}
习题8-9 分类统计各类字符个数
习题6-1 分类统计字符个数 ----同一题
void StringCount( char s[] ){int Letter = 0,letter = 0, blank = 0, digit = 0, other = 0;int i = 0;for(i=0; s[i]!='\0'; i++){if(s[i]>=48 && s[i]<=57)digit++;else if(s[i]>=97 && s[i]<=122)letter++;else if(s[i]>=65 && s[i]<=90)Letter++;else if(s[i] == ' ') //没有回车blank++;else other++;}printf("%d %d %d %d %d",Letter,letter, blank, digit, other);
}
习题9-2 计算两个复数之积
复数运算 x=a+bi ,y = c+di xy = (ac-bd)+(ad+b*c)i
struct complex multiply(struct complex x, struct complex y){struct complex conclu;conclu.real = x.real*y.real - x.imag*y.imag;conclu.imag = x.real*y.imag + x.imag*y.real;return conclu;
}
习题9-6 按等级统计学生成绩
int set_grade( struct student *p, int n ){int sum = 0;for(int i=0;i<n;i++){if(p[i].score < 60){p[i].grade = 'D';sum++;}else if(p[i].score < 70){p[i].grade = 'C';}else if(p[i].score < 85){p[i].grade = 'B';}else if(p[i].score <=100){p[i].grade = 'A';}}return sum;
}
练习10-1 使用递归函数计算1到n之和
int sum( int n ){// 大于0 递归n-1if(n>=1){return n+sum(n-1);}
// 等于0 到底不递归return 0;
}
习题10-1 判断满足条件的三位数
int search( int n ){int a,b,c,sum = 0; // a,b,c 百、十、个位for(int i=101;i<=n;i++){if(pow((int)sqrt(i),2) == i){ //是完全平方数 开方后是整数a = i/100;b = i%100/10;c = i%10;if((a == b)||(a == c)||(b == c)){sum++;}}}return sum;
}
代码链接
链接:https://pan.baidu.com/s/1VZn8FZ8D7ht6dvI_57xaiw
提取码:ffff
C语言程序设计题(函数题中15道)相关推荐
- java程序中语句隔开_《Java语言程序设计》填空题.doc
您所在位置:网站首页 > 海量文档  > 计算机 > Java <Java语言程序设计>填空题.doc9页 ...
- c语言程序阅读题库,C语言程序设计-阅读程序题库及答案.doc-资源下载在线文库www.lddoc.cn...
C语言程序设计-------阅读程序题库及答案.doc 阅读程序题 2 1 以下程序的输出结果是 main D float a a 1 100000000 printf g a A 0 00000e ...
- C语言程序头文件扩展名为_,c语言程序设计 考试模拟题B.doc
c语言程序设计 考试模拟题B 题 号 一 二 三 四 五 六 七 八 九 十 成绩 满 分 20 20 30 14 16 100 得 分 [ [本套试卷共有五大题,计29小题] 一.单选题(每小题2分 ...
- 国开题库c语言,C语言-程序设计-阅读程序题库.资料大全及其答案.doc
C语言-程序设计-阅读程序题库.资料大全及其答案.doc 阅读程序题[2.1]以下程序的输出结果是 . mainD float a:a1/100000000:printf"g",a ...
- 安徽省二级c语言笔试样题,安徽省二级C语言程序设计笔试样题1
安徽省二级C语言程序设计笔试样题1 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 第1套 C语言程序设计笔试样题一 单项选择题(每 ...
- c语言程序设计安徽区笔试部分,2021年安徽省二级C语言程序设计笔试样题-20210419093521.doc-原创力文档...
第1套 C语言程序设计笔试样题 一 单项选取题(每题1分,共40分) 1.某微型计算机型号规格标有PentiuШ600字样,其中PentiuШ是指 __C____ A. 厂家名称 B. 机器名称 C. ...
- C语言程序设计实现调制解调,安徽省二级C语言程序设计笔试样题4.doc
安徽省二级C语言程序设计笔试样题4 第4套 C语言程序设计笔试样题 单项选择题(每题1分,共40分) 1.计算机在实现工业自动化方面的应用主要表现在_________. A.数据处理 B.实时控制 C ...
- 2016年C语言专业课,2016-2018年中央财经大学C语言程序设计考研真题及答案解析(6)...
2016-2018年中央财经大学C语言程序设计考研真题及答案解析(6)本站小编 免费考研网/2020-03-02 c[k++]=b[j++]: c[k]='\0': } 5.编写函数,采用递归方法实现 ...
- 北京电大c语言实验作业二,大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc...
大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc C语言实验报告实验1-1:helloworld程序:源代码:#includemain(){printf("hellowor ...
- C语言程序设计课设题
C语言程序设计课设题 1.点歌台歌曲信息管理 [任务描述]设计并实现一个点歌台管理程序. [功能要求] ⑴ 管理员功能:歌曲信息管理:歌曲信息添加,查询,修改,删除,存盘,浏览等.歌曲信息至少包括:编 ...
最新文章
- OpenCV 遇到的问题
- SQL Server报“GUID应包含带4个短划线的32位数”
- java ntpudpclient_Java代码获取NTP服务器时间
- HIVE入门之数据模型
- 谈话《百度搜索引擎的网页质量白皮书》
- 视频剪辑好帮手——pr软件学习(一)
- STC51单片机中断介绍
- 解决UE4打包Android报错app:packageDebug FAILED的一个土方法
- stored-program Computer/von Neumann Architecture 冯诺依曼体系结构
- 健身不用再做一整套动作!最新研究:只做离心收缩就行,最终效果差别不大,还长了更多肌肉...
- Google Voice、Voice Search 安装
- 【第11天】SQL进阶-索引的创建、删除(SQL 小虚竹)
- PHP商城 商品模块 数据库 表设计
- HTML的div与span:<div></div>与<span></span>
- 拜占庭将军问题的几点理解
- cad面积累计lisp怎么用_CAD里面的lisp有什么作用啊,怎么用,要具体的,能让我明白加分?...
- LoRa无线智慧家庭落地解决方案——东胜物联
- IEEE Fellow 2020华人占比下降:京东周伯文、滴滴叶杰平入选,清华校友6人
- Cocos2d-x 3.3Bate0 ExpandedListView
- 自动化测试框架怎么设计?我来告诉你
热门文章
- 论文推荐到计算机科学期刊,计算机类论文参考文献推荐 计算机类核心期刊参考文献哪里找...
- 【数据集】计算机视觉,深度学习,数据挖掘数据集整理
- CSS3 transition改变内联样式无效的原因
- Boxplot箱线图
- Alias Method——高效的离散分布采样算法
- Webservice接口-简单实例
- Linux系统搭建房卡游戏教程,2020年H5电玩房卡游戏源码合集运营级:超强后台控制+部署教程文档...
- excel文件损坏修复绝招_ps文件损坏有修复的软件!超强开挂辅助神器
- SolidWorks的发展历史(1994~2007)
- 高一计算机信息基础课本内容,高中信息技术基础(必修)_教案