《《C语言程序设计实践》课程报告.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计实践》课程报告.docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北方民族大学课课程程报报告告课课 程程名名 称:称:程序设计实践专专 业业 班班 级级:软件工程(2)班学学 生生 姓姓 名名:李思良学学号号:20152170任任 课课 教教 师师:王晓锋学学期期:2 201015 5-201-2016 6 学年春季学期学年春季学期课程报告任务书课程报告任务书题题目目3030 个小程序组合成一个大程序个小程序组合成一个大程序主要主要内容内容1-已知半径求圆面积2-已知球半径,求表面积和体积3-输入两个实数,交换其值输出4-输入两个整数,求他们的平方和5-分段计费6-求一元二次方程的根7-判断三个整数是否能构成三角形8-计算 11000 之间能被三整除的所有自
2、然数之和9-猴子吃桃问题10-输入一个正整数,求位数和位数之和11-输入一行字符,统计大小写字母,数字和其他字符12-输入一个四位数,将其加密后输出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-输入一批学生的成绩
3、,换成五分制25-逆序输出26-求阶乘27-用递归函数求 Fibonacci 数列的前 40 个数,每行输出 8 个28-输入某年某月某日,判断这一天是这一年的第几天29-写出 1000 以内的所有完数30-输入年和天数,输出对应的年、月、日将以上 30 个子函数放在一个主函数内进行调用。任务任务要求要求一、提交材料应包括:(1)系统源代码(2)课程报告二、整个设计过程具体要求(1)需求分析需求分析对子函数各功能进行分析,设计出需要完成的功能,完善各个子函数的调用关系;(2)设计过程设计过程进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)(3)实现过程实现过程养成良好
4、的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。成绩成绩评定评定报告撰写情况(报告撰写情况(30 分)分)系统完成情况系统完成情况(30 分分)答辩情况(答辩情况(40 分)分)总分总分内内容容2020 分分规范程规范程度度5 5 分分程序测程序测试试5 5 分分基本功基本功能能2020 分分扩展功扩展功能能1010 分分自述情自述情况况1010 分分答辩情答辩情况况3030 分分成绩评定教师:成绩评定教师:1.需求分析经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了 C 语言程序设计实践课。
5、课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系统性质的规模较大的程序。本次课程设计要求我们达到能独立完成一个 1000 行以上的程序,完成后要求实现已知半径求圆面积、已知球半径,求表面积和体积,输入两个实数、交换其值输出等 30 中功能。通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉C 语言开发的全过程,提高综合应用 C 语言的能力、编程和调试能力,为学习计算机后续课程打好专业基础。2.概要设计模块划分:1.int diyi()已知半径求圆面积2.int dier()已知球半径,求表面积和体积3.void disan()输入两个实数,交换其值
6、输出4.void disi()输入两个整数,求他们的平方和5.void diwu()分段计费6.void diliu()求一元二次方程的根7.void diqi()判断三个整数是否能构成三角形8.void diba()计算 11000 之间能被三整除的所有自然数之和9.void dijiu()猴子吃桃问题10.void dishi()输入一个正整数,求位数和位数之和11.void dishiyi()输入一行字符,统计大小写字母,数字和其他字符12.void dishier()输入一个四位数,将其加密后输出13.int dishisan()用冒泡排序对 10 个数排序14.void dishis
7、i()用 for,while,dowhile 循环实现 100 以内素数之和15.void dishiwu()将大于 10 元小于 100 元的钱换成 1 元,2 元,5 元的组合16.void dishiliu()输出 99 乘法口诀17.void dihsiqi()验证哥德巴赫18.void dishiba()gcd(int m,int n)int lcm(int m,int n)求两个正整数的最大公约数和最小公倍数19.void dihsijiu()int isprime(int m)判断素数20.void diershi()求(m,n)以内全部素数,每行输出 10 个21.void d
8、iershiyi()输出 10000 到 99999 的所有回数22.void diershier()两个 6*6 矩阵的乘积23.void diershisan()void allPrimes(int m,int n)void sort(int array,int n)对一批数进行排列,求出最大值与平均数24.int diershisi()char switchScore(int score)输入一批学生的成绩,换成五分制25.void diershiwu()逆序输出long reverse(long number)返回 number 的逆序数26.void diershiliu()求阶乘2
9、7.void diershiqi()用递归函数求 Fibonacci 数列的前 40 个数,每行输出 8 个28.int dierhsiba()输入某年某月某日,判断这一天是这一年的第几天29.void diershijiu()写出 1000 以内的所有完数30.void disanshi()void MonthDay(int year,int yearDay,int*pMonth,int*pDay)输入年和天数,输出对应的年、月、日31.void myprint()显示菜单界面将以上 30 个子函数放在一个主函数内进行调用。int main()主函数3.详细设计:#include#inclu
10、de#include#include#include#define PI 3.14void myprint();/*显示菜单界面*/*此函数的功能是:已知圆半径 R 的值,求圆的面积 S。*/int diyi()float r,area;printf(请输入圆的半径:);scanf(%f,&r);area=PI*r*r;printf(该圆的面积为:%fn,area);return area;/*此函数的功能是:已知球半径 R 的值,求球的表面积 S 和球的体积 V。S=4R2;V=4/3R3;*/int dier()float r,s,v;printf(请输入球的半径:);scanf(%f,&
11、r);s=4*PI*r*r;printf(该球的表面积为:%fn,s);v=s*r/3;printf(该球的体积为:%fn,v);/*此函数的功能是:从键盘输入两个实数,并交换其值后输出。*/void disan()double x,y,z;printf(请输入两个实数:);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
12、(%d%d,&x,&y);printf(%d 和%d 的平方和为:%dn,x,y,x*x+y*y);/*此函数的功能是:创建时间:*/void diwu()int x;double y;printf(请输入 x:);scanf(%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);elseprintf(无实根。n);elseprintf(不是一元二次方程。n);/该程序的功能是:/*从键盘输入三个整数,判断能否由它们作为三边长构成一个三
13、角形。(提示:任意两边之和大于第三边。)*/void diqi()int a,b,c;printf(请输入三个整数:);scanf(%d%d%d,&a,&b,&c);if(a+bc&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_nu
14、m+1);/printf(第%2d 天的桃子个数为%6d.n,day,peach_num);/第一天的桃子数即为所摘的桃子总数。输出第一天的桃子数。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 位
15、,它的各个数字之和为%d。n,m,count,sum);/该函数的功能是:/*输入十个字符,分别统计其中的英文大写字母,小写字母、数字字符和其他字符。*/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+;e
16、lsecount_other+;printf(大写字母有%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,q
17、ian;/因为是要输入一批四位数,所以用循环结构;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);/查看分离的各个数字是否正确/加密qian
18、=(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;i10;i+)for(j=0;j10;j+)if(ajaj+1)t=aj;aj=aj+1;aj+1=t;printf
19、(nthe result is:n);for(j=0;j10;j+)printf(%d,aj);/*此函数的功能是用 for,while,do-while 循环实现 100 以内所有偶数之和*/void dishisi()int i,sum=0;printf(用 for,while,do-while 循环实现 100 以内所有偶数之和);for(i=2;i=100;i+=2)sum+=i;printf(for 循环:sum=%dnn,sum);i=2;sum=0;while(i=100)sum+=i;i+=2;printf(while 循环:sum=%dnn,sum);i=2;sum=0;do
20、sum+=i;i+=2;while(i=100);printf(do-while 循环:sum=%dnn,sum);/*此函数的功能是:将一笔钱(大于 10 元,小于 100 元)换算成 1 元、2 元和 5 元的纸币组合。输入金额,问有几种换算方法?针对每一种换算方法,输出各种面额的纸币数量,要求每种硬币至少有一枚。创建时间:*/void dishiwu()int num_1,num_2,num_5,count=0;int money;printf(请输入要换算的钱的金额:);scanf(%d,&money);printf(针对每种换算方法,各种面值的纸币的数量分别为:n5 元2 元1 元
21、n);for(num_5=1;num_5=money/5;num_5+)for(num_2=1;num_2=money/2;num_2+)for(num_1=1;num_1=money;num_1+)if(money=5*num_5+2*num_2+1*num_1)printf(%6d%6d%6dn,num_5,num_2,num_1);count+;printf(共有%d种换算方法。n,count);/*/该函数的功能是:用循环结构输出九九乘法表。*/void dishiliu()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%2d,i
22、,j,i*j);printf(n);/*/该函数的功能是:验证哥德巴赫猜想:任何一个大于 6 的偶数均可表示为 2 个素数之和。要求将 6 到 100 之间的偶数都表示为 2 个素数之和,输出时一行输出 4 组。基本思想:对 6 100 之间的所有偶数 n,若 n=a+b,则首先 a、b 一定都是奇数,所以选用穷举法对 a(3n/2 范围内的奇数)的值从 3 开始列举,若 a 是素数,再判断 b 是否为素数。*/void dishiqi()int n,i,a,b,c,d;int count;printf(验证哥德巴赫猜想:任何一个大于 6 的偶数均可表示为 2 个素数之和nn);for(n=6
23、;n=100;n=n+2)count=0;for(a=3;a=n/2;a=a+2)/判断 a 是否为素数c=sqrt(a);for(i=2;i c)/a 是素数的情况下/判断 b 是否为素数b=n-a;d=sqrt(b);for(i=2;i d)/b 是素数的情况下printf(%3d=%3d+%3d,n,a,b);count+;if(count%4=0)printf(n);printf(n);/*此函数的功能是:求两正整数的最大公约数和最小公倍数,用一个函数求最大公约数,另一个函数求最小公倍数。*/int gcd(int m,int n);int lcm(int m,int n);void
24、dishiba()printf(求两正整数的最大公约数和最小公倍数nn);int m,n,a,b;printf(input m,n:);scanf(%d%d,&m,&n);a=gcd(m,n);b=lcm(m,n);printf(gcd(%d,%d)=%dn,m,n,a);printf(lcm(%d,%d)=%dn,m,n,b);/使用枚举法求最大公约数int gcd(int m,int n)int i,temp;temp=m=1;i-)/在1,temp 之间找公倍数if(m%i=0&n%i=0)return i;/使用枚举法求最小公倍数int lcm(int m,int n)int i,te
25、mp;temp=m n?m:n;/临时变量 temp 存储 m、n 中较大的数for(i=temp;i=m*n;i+)/在temp,m*n 之间找公倍数if(i%m=0&i%n=0)return i;/*此函数的功能是:写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。*/void dishijiu()int n;int isprime(int m);/此处是函数声明printf(请输入一个正整数:);scanf(%d,&n);/输入一个正整数 nif(isprime(n)=1)printf(%d is a prime.n,n);elseprintf(%d is not a pr
26、ime.n,n);/*定义判断素数的函数,如果 x 是素数则返回 1(真);否则返回 0(假)*/int isprime(int m)int i;double n;if(m=1)return 0;/*1 不是素数,返回 0*/n=sqrt(m);for(i=2;i=n;i+)if(m%i=0)/*如果 m 不是素数*/return 0;/*返回 0*/return 1;/*m 是素数,返回 1*/*求m,n以内的全部素数(1m=n500),每行输出 10 个。素数就是只能被 1 和自身整除的正整数,1 不是素数,2 是素数。*/*使用嵌套循环求一定范围以内的全部素数*/*调用求平方根函数,需要
27、包含数学库*/*声明:判断素数的函数,如果 x 是素数则返回 1(真);否则返回 0(假)*/int isprime(int m);/声明子函数:输出m,n范围内的所有素数。void allPrimes(int m,int n);void diershi()int count,m,n,x;printf(请输入正整数的范围 m 和 n(1m=n500):);scanf(%d%d,&m,&n);/*count=0;/count 记录素数的个数,并用于控制输出格式for(x=m;x=n;x+)if(isprime(x)/如果 x 是素数printf(%6d,x);/输出 xcount+;/累加已经输
28、出的素数个数if(count%10=0)/如果 count 是 10 的倍数,换行printf(n);*/allPrimes(m,n);/调用子函数来完成此功能printf(n);/定义子函数:输出m,n范围内的所有素数。void allPrimes(int m,int n)int x,count=0;for(x=m;x=n;x+)if(isprime(x)/*如果 x 是素数*/printf(%6d,x);/*输出 x*/count+;/*累加已经输出的素数个数*/if(count%10=0)/*如果 count 是 10 的倍数,换行*/printf(n);/*输出 10000 到 999
29、99 的所有回文数回文数是一种数字.如:98789,这个数字正读是 98789,倒读也是 98789,正读倒读一样,所以这个数字就是回文数.还有 10001,11111,12721 等都是回文数.*/void diershiyi()printf(输出 10000 到 99999 的所有回文数nn);int a,b,c,d,e;long f=10000;dof+;a=f/10000;b=(f-a*10000)/1000;c=(f-a*10000-b*1000)/100;d=(f-a*10000-b*1000-c*100)/10;e=f-a*10000-b*1000-c*100-d*10;if(a
30、=e&b=d)printf(%8ld,f);while(f);/*求两个矩阵的乘积*/void diershier()int a66;int i,j,sum=0;int max=0;printf(请输入一个 6*6 数组的各个元素:n);for(i=0;i6;i+)for(j=0;jmax)max=aij;sum+=aij;printf(最大值为:%dn所有元素的和为%dn,max,sum);for(i=0;i6;i+)for(j=0;j6;j+)if(aij=max)printf(最大值的行标:%d列标:%dn,i+1,j+1);break;if(aij=max)break;/*对一批数进行
31、排列,并求出最大值与平均数*/#define MAX 100#define SWAP(x,y)int t;t=x;x=y;y=t;void diershisan()int n,i;void sort(int a,int);int arrayMAX;printf(你想对多少个数进行排序:n);scanf(%d,&n);srand(unsigned)time(NULL);for(i=0;in;i+)arrayi=rand()%50;printf(n 输出排序前的数:n);for(i=0;in;i+)printf(%3d,arrayi);printf(n);sort(array,n);void so
32、rt(int array,int n)int i,k,j;double av=0;for(i=0;in-1;i+)k=i;for(j=i+1;jarrayk)k=j;if(k!=i)SWAP(arrayi,arrayk);for(i=0;in;i+)av+=arrayi;printf(输出排序后的数:n);for(i=0;in;i+)printf(%3d,arrayi);printf(n 最大数是:%dn,array0);printf(平均数是:%lfn,av/n);printf(n);/*此函数的功能是:将学生成绩由百分制换算成五分制创建时间:*/char switchScore(int s
33、core);void diershisi()int score;char grade;char switchScore(int score);while(1)/因为是要输入一批四位数,所以用循环结构;printf(请输入一个 100 以内的正整数:);scanf(%d,&score);if(score100)break;/若输入的不是 100 以内的整数,在结束循环。grade=switchScore(score);/*printf(输入的百分制成绩为:%-6d,其对应的五分制等级为:%-6cn,score,grade);*/char switchScore(int score)char gr
34、ade;switch(score/10)case 10:case 9:printf(An);break;case 8:printf(Bn);break;case 7:printf(Cn);break;case 6:printf(Dn);break;default:printf(En);/*输入一个正整数,将它逆序输出。要求定义并调用函数 reverse(number),它的功能是返回 number 的逆序数。例如,reverse(12345)的返回值是 54321.*/*逆序输出一个正整数*/void diershiwu()printf(逆序输出一个正整数nn);long n,m;long r
35、everse(long number);printf(Enter n:);/*输入提示*/scanf(%d,&n);m=reverse(n);printf(该数是:%d,它的逆序数是:%d.n,n,m);long reverse(long number)long m;m=0;/保存输入的 n 的值,便于后面输出while(number!=0)m=m*10+number%10;number=number/10;return m;/求 1-100 阶乘之和void diershiliu()printf(求 110 阶乘之和 nn);int i=0;long temp=1;double sum=0;
36、for(i=1;i=10;i+)temp*=i;sum+=temp;printf(sum=%lfn,sum);/用递归求 fibonacci 数列的前 40 个数,每行输出 8 个void diershiqi()int f(int n);int i;int count=0;for(i=0;i40;i+)printf(%d,f(i);count+;if(count%8=0)printf(n);int f(int n)switch(n)case 0:return 0;case 1:return 1;default:return f(n-1)+f(n-2);/输入某年某月某日,判断这一天是这一年的第
37、几天?int diershiba()int i,days=0;int year,month,day;int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31;printf(输入年、月、日,用空格隔开:);scanf(%d%d%d,&year,&month,&day);for(i=1;i=3)days+=1;printf(%d 年%d 月%d 日是这一年的第%d 天!n,year,month,day,days);return 0;/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=123.编程找出 1000 以内的所有完数。*/voi
38、d diershijiu()int i,j,sum;for(i=2;i1000;i+)sum=0;for(j=1;jdays*pMonth-1)/如果哪一天超出这个月yearDay-=days*pMonth-1;/求出超出此月的天数(*pMonth)+;/继续考虑下一月*pDay=yearDay;void myprint()/*显示菜单界面*/printf(nnnnnnnn);printf(|-|n);printf(|请输入选项编号(1-31):|n);printf(|-|n);printf(|1-已知半径求圆面积|n);printf(|2-已知球半径,求表面积和体积|n);printf(|3
39、-输入两个实数,交换其值输出|n);printf(|4-输入两个整数,求他们的平方和|n);printf(|5-分段计费|n);printf(|6-求一元二次方程的根|n);printf(|7-判断三个整数是否能构成三角形|n);printf(|8-计 算 11000 之 间 能 被 三 整 除 的 所 有 自 然 数 之 和|n);printf(|9-猴子吃桃问题|n);printf(|10-输入一个正整数,求位数和位数之和|n);printf(|11-输入一行字符,统计大小写字母,数字和其他字符|n);printf(|12-输入一个四位数,将其加密后输出|n);printf(|13-用 冒
40、 泡 排 序 对10个 数 排 序|n);printf(|14-用 for,while,dowhile 循环实现 100 以内素数之和|n);printf(|15-将大于10元小于100元的钱换成1元,2元,5元的组合|n);printf(|16-输出99乘法口诀|n);printf(|17-验证哥德巴赫猜想|n);printf(|18-求两个正整数的最大公约数和最小公倍数|n);printf(|19-判断素数|n);printf(|20-求(m,n)以内全部素数,每行输出 10 个|n);printf(|21-输 出10000到99999的 所 有 回 数|n);printf(|22-两个6
41、*6矩阵的乘积|n);printf(|23-对一批数进行排列,求出最大值与平均数|n);printf(|24-输入一批学生的成绩,换成五分制|n);printf(|25-逆序输出|n);printf(|26-求阶乘|n);printf(|27-用递归函数求Fibonacci数列的前40个数,每行输出8个|n);printf(|28-输入某年某月某日,判断这一天是这一年的第几天|n);printf(|29-写 出1000以 内 的 所 有 完 数|n);printf(|30-输入年和天数,输出对应的年、月、日|n);printf(|n);printf(|-|n);int main()char y
42、es_no;int choose;while(1)domyprint();/*显示主菜单*/printf();scanf(%d,&choose);/*choose=getch();*/switch(choose)case 1:diyi();break;case 2:dier();break;case 3:disan();break;case 4:disi();break;case 5:diwu();break;case 6:diliu();break;case 7:diqi();break;case 8:diba();break;case 9:dijiu();break;case 10:dis
43、hi();break;case 11:dishiyi();break;case 12:dishier();break;case 13:dishisan();break;case 14:dishisi();break;case 15:dishiwu();break;case 16:dishiliu();break;case 17:dishiqi();break;case 18:dishiba();break;case 19:dishijiu();break;case 20:diershi();break;case 21:diershiyi();break;case 22:diershier();
44、break;case 23:diershisan();break;case 24:diershisi();break;case 25:diershiwu();break;case 26:diershiliu();break;case 27:diershiqi();break;case 28:diershiba();break;case 29:diershijiu();break;case 30:disanshi();break;default:printf(n%c 为非法选项!n,choose);if(choose=0)break;printf(n要继续选择吗(Y/N)?n);doscanf(
45、%c,&yes_no);while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no!=Y|yes_no!=y);4.调试分析:问题一:一些小错误比如单词前后拼写错误以及中英的标的符号解决办法:反复调试修改问题二:在函数的调用中,有些函数无法调用问题解决办法:多次具体分析,函数返回值返回 return+返回函数定义类型,如果是 void 无返回值类型,可以用 return;表示退出函数体测试结果1.开始菜单2.已知半径求圆面积3.已知球半径,求表面积和体积4.输入两个实数,交换其值输出5.输入两个实数,交换其值输出6.分段计费7.求一元
46、二次方程的根8.判断三个整数是否能构成三角形9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.31.6.课程心得总结经历了几个星期的程序设计,从设计前期的不知如何下手到开始设计时的各种错误的困扰再到一个个的攻破各个问题,最后到对程序的进一步完善与课程报告的撰写。这一段时间我们由被程序困扰到几乎崩溃到最后成就感的油然而生;从一整天的坐在电脑屏幕面前到现在的带着喜悦一遍一遍运行着程序;一遍遍的互相探讨解决大家遇到的问题到越来越发现编程的有意思,我到现在真的感觉认真自己做完这样一个系统收获颇大:1.对结构化程序设计与函数的嵌套调用有了更清晰具体的认识;2.熟悉程序的开发环境对我们很重要;3.学会了熟练的调试程序;4.改变了对 C 语言的狭义认识,认识到 C 语言实际上还可以实现更复杂丰富的功能来利用开发的软件来进一步实现对现实中的问题的解决;5 学习到语言的学习一定不能忽视一个很小很小的细节,因为完全会导致不同的结果对如何用语言来完成一个较大的系统的整体思路有清晰的认识。