C语言程序设计实践课程报告.docx
《C语言程序设计实践课程报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实践课程报告.docx(43页珍藏版)》请在三一办公上搜索。
1、北方民族大学课程报告课程名称:程序设计实践专业班级:软件工程(2)班学生姓名:李思良学号:20152170任课教师:王晓锋学 期:2015-2016学年春季学期课程报告任务书题 目30个小程序组合成一个大程序主要内容1- -已知半径求圆面枳2- -已知球半径,求表面积和体积3- -输入两个实数,交换其值输出4- -输入两个整数,求他们的平方和5- -分段计费6- -求一元二次方程的根7- -判断三个整数是否能构成三角形8- -计算11000之间能被三整除的所有自然数之和9- -猴子吃桃问题10- -输入一个正整数,求位数和位数之和11- -输入一行字符,统计大小写字母,数字和其他字符12- -
2、输入一个四位数,将其加密后输出14- -用for,while, dowhile循环实现100以内素数之和15- -将大于10元小于100元的钱换成1元,2元,5元的组合16- -输出99乘法口诀17- -验证哥德巴赫猜想18- -求两个正整数的最大公约数和最小公倍数19- -判断素数20- -求(m,n)以内全部素数,每行输出10个21- -输出10000到99999的所有回数22- -两个6*6矩阵的乘积23- -对一批数进行排列,求出最大值与平均数24- -输入一批学生的成绩,换成五分制25- -逆序输出26- -求阶乘27- -用递归函数求Fibonacci数列的前40个数,每行输出8个
3、28- -输入某年某月某日,判断这一天是这一年的第几天29- -写出1000以内的所有完数30- -输入年和天数,输出对应的年、月、日将以上30个子函数放在一个主函数内进行调用。任务要求一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)需求分析 对子函数各功能进行分析,设计出需要完成的功能,完善各个 子函数的调用关系;(2)设计过程进一步明确各模块调用关系,进一步完善模块函数细节(函数名、 参数、返回值等)(3)实现过程 养成良好的编码习惯、完成各个模块并进行测试,最终完成系统 整体测试;(4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报
4、告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容 20分规范程度 5分程序测试 5分基本功能 20分扩展功能10分自述情况 10分答辩情况30分成绩评定教师:1. int diyi()2. int dier()3. void disan()4. void disi()5. void diwu()6. void diliu()7. void diqi()8. void diba()9. void dijiu()10. void dishi()11. void dishiyi()12. void dishier()13. int dishisan()14. void dishi
5、si()15. void dishiwu()16. void dishiliu()17. void dihsiqi()18. void dishiba()求两个正整数的最大公约数和最小公倍数19. void dihsijiu()20. void diershi()21. void diershiyi()22. void diershier()23. void diershisan()1. 需求分析经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了C语言程序 设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系 统性质的规模较大的程序。本次课程设计要求
6、我们达到能独立完成一个1000行以上的程序,完成后要求实现已知半径求 圆面积、已知球半径,求表面积和体积,输入两个实数、交换其值输出等30中功能。通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉C语言开发的全过程,提高综合应用C语言的能力、编程和调试能力,为学习计算机后续课 程打好专业基础。2. 概要设计模块划分:已知半径求圆面积已知球半径,求表面积和体积输入两个实数,交换其值输出输入两个整数,求他们的平方和分段计费求一元二次方程的根判断三个整数是否能构成三角形计算11000之间能被三整除的所有自然数之和猴子吃桃问题输入一个正整数,求位数和位数之和输入一行字符,统计
7、大小写字母,数字和其他字符输入一个四位数,将其加密后输出用冒泡排序对10个数排序用for,while, dowhile循环实现100以内素数之和将大于10元小于100元的钱换成1元,2元,5元的组合输出99乘法口诀验证哥德巴赫gcd(int m,int n) int lcm(int m,int n)int isprime(int m)判断素数求(m,n)以内全部素数,每行输出10个输出10000到99999的所有回数两个6*6矩阵的乘积void allPrimes(int m,int n) void sort(int array,int n)对一批数进行排列,求出最大值与平均数24. int
8、diershisi() char switchScore(int score)输入一批学生的成绩,换成五分制25. void diershiwu()逆序输出 long reverse(long number)返 回 number 的逆序数26. void diershiliu() 求阶乘27. void diershiqi()用递归函数求Fibonacci数列的前40个数,每行输出8个28. int dierhsiba()输入某年某月某日,判断这一天是这一年的第几天29. void diershijiu() 写出1000以内的所有完数30. void disanshi() void Month
9、Day(int year,int yearDay,int *pMonth,int *pDay)输入年和天数,输出对应的年、月、日31. void myprint() 显示菜单界面将以上30个子函数放在一个主函数内进行调用。int main() 主函数3. 详细设计:#include#include#include#include#include#define PI 3.14void myprint();/*显示菜单界面*/*此函数的功能是:已知圆半径R的值,求圆的面积S。*/int diyi()float r,area;printf(请输入圆的半径:”);scanf(%f”,&r);area
10、= PI * r *r;printf(该圆的面积为:fn”,area);return area;/*此函数的功能是:已知球半径R的值,求球的表面积S和球的体积V。S = 4 n R2; V = 4/3 n R3 ;*/int dier()float r,s,v;printf(请输入球的半径:”);scanf(%f”,&r);s = 4 * PI * r *r;printf(该球的表面积为:fn”,s);v = s * r / 3;printf(该球的体积为:fn”,v);/*此函数的功能是:从键盘输入两个实数,并交换其值后输出。*/void disan( )double x,y,z;print
11、f(请输入两个实数:);scanf(%lf%lf”,&x,&y);printf(交换前两个实数为:f,%fn”,x,y);z = x; x = y; y = z;printf(交换后两个实数为:f,%fn”,x,y);/*此函数的功能是:从键盘输入两个整数,输出它们的平方和。*/void disi( )int x,y,z;printf(-请输入两个整数:”);scanf(%d%d”,&x,&y);printf(%d 和d 的平方和为:dn”,x,y,x*x+y*y);/*此函数的功能是:创建时间:*/void diwu()int x;double y;printf(-请输入 x :”);sca
12、nf(%d”,&x );if( x =0 & x 0)x1 = (-b + sqrt(delt)/(2*a);x2 = (-b - sqrt(delt)/(2*a);printf(有两个不同的实根:x1 = %.2f,x2 = %.2f。n”,x1,x2); else printf(无实根。n);elseprintf(不是一元二次方程。n);该程序的功能是:/*从键盘输入三个整数,判断能否由它们作为三边长构成一个三角形。(提示:任意两边之和大于第三边。)*/void diqi()int a,b,c;printf(请输入三个整数:”);scanf(%d%d%d”,&a,&b,&c);if(a+b
13、c & a+cb & b+ca)printf(三个整数可以作为三条边构成一个三角形。n);elseprintf(不能构成一个三角形”);该函数的功能是:用循环语句计算11000之间的能被3整除的所有自然数的和。/*分别用do.while, while, for三种循环语句求和,输出结果。*/void diba( )int i,sum_for = 0;for( i=3; i=1; day-)peach_num = 2 * (peach_num + 1);/printf(第 %2d 天的桃子个数为 %6d .n”,day,peach_num);/第一天的桃子数即为所摘的桃子总数。输出第一天的桃子数
14、。printf(第1天摘的桃子总数为%d .n”,peach_num);/*输入一个正整数,求该整数的位数和各位数之和。*/*逆序输出一个正整数*/void dishi(void)int n,count = 0, sum = 0,m;printf(Enter n: );/* 输入提示 */scanf (%d, &n);m = n; /保存输入的n的值,便于后面输出while(n != 0)sum += n % 10;n = n / 10;count + ;printf(该数是%d,它共有d位,它的各个数字之和%d。n,m,count, sum);9 / 39该函数的功能是:/*输入十个字符,分
15、别统计其中的英文大写字母,小写字母、数字字符和其他字符。*/ void dishiyi()int count_upper = 0, count_lower = 0, count_digit = 0, count_other = 0,i,j;char ch10;printf(请输入十个字符,最好包含大小写字母、数字和其他符号:n);getchar();for(i=0;i10;i+)scanf(%c”,&chi);printf(%c”,ch9);for(j=0;j= A & chj = a & chj = 0 & chj = 9) count_digit +;elsecount_other +;p
16、rintf(大写字母有%3d个,n小写字母有%3d个,n数字字符有%3d个,n其他字符有%3d 个.n,count_upper,count_lower,count_digit,count_other);return ;/*此函数的功能是:编写程序,完成以下功能:输入一个四位数,将其加密后输出。方法是该数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和各位上的数字互换,组成加密后的新四位数。如:输入 1257 ,输出 4601。创建时间:*/void dishier()int x,y,ge,shi,bai,qian;因为是要输入一批四位数,所以用循环
17、结构;while(1)printf(-请输入一个四位的正整数x:);scanf (%d”,&x);if(x9999) break; 如果输入的不是一个四位数,则结束循环。/分离各位上的数字qian = x / 1000;bai = x % 1000 /100; /bai = x/100 - qian*10;shi = x % 100 /10;/shi = x/10 - qian*100 - n*10;ge = x % 10;/ge = x - qian*1000 - n*100 - o*10;printf(加密前该数的各位数字分别为:%d %d %d %dn”,qian,bai,shi,ge)
18、;查看分离的各个数字是否正确/加密qian = (qian + 9) % 10;bai = (bai + 9) % 10;shi = (shi + 9) % 10;ge = (ge + 9) % 10;y = shi * 1000 + ge * 100 + qian * 10 + bai;printf(加密前该数为:%-6d,加密后该数变为:-6dn”,x, y);/*此函数的功能是:用冒泡法对10个数进行排序*/int dishisan()int i,j,t,a10;printf(imput 10 numbers:);for(i=0;i10;i+)scanf(%d”,&ai);for(i=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实践 课程 报告

链接地址:https://www.31ppt.com/p-4883850.html