c语言课程设计设计报告

上传人:桔**** 文档编号:431504752 上传时间:2023-03-12 格式:DOC 页数:22 大小:78.50KB
返回 下载 相关 举报
c语言课程设计设计报告_第1页
第1页 / 共22页
c语言课程设计设计报告_第2页
第2页 / 共22页
c语言课程设计设计报告_第3页
第3页 / 共22页
c语言课程设计设计报告_第4页
第4页 / 共22页
c语言课程设计设计报告_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《c语言课程设计设计报告》由会员分享,可在线阅读,更多相关《c语言课程设计设计报告(22页珍藏版)》请在金锄头文库上搜索。

1、C语言课程设计报告 姓名: 学号: 年 月目录: 程序功能简介 题目分析 函数的调用关系图及主要算法 源程序及注释 测试流程 心得感想程序一:简单数学问题一、程序功能简介: 实现多个简单数学问题的求解。二、题目分析 完成与菜单项对应的功能设计1、 void FindNum( ); /*用穷举法找到被咬掉的数字*/2、 void FindRoot( ); /*求解方程ax2+bx+c=0的根*/3、void Detective( ); /*根据线索用穷举法找出牌照号码*/4、void Monkey( ); /*根据天数循环求出第一天所摘桃子数*/5、void Diamond( ); /*调用函数

2、Print_Diamond( )输出line行的钻石图案*/6、void Calculator( ); /*实现两个整数简单的加减乘除四则运算*/三、函数的调用关系图:menumenu_selectFindNumFindRootDetectiveMonkeyDiamondCalculatorPrint_Diamond四、源程序及注释:#include#include#include#includeint menu_select();void main() /*主函数*/ for(;) switch(menu_select() case 1: FindNum(); system(pause);

3、break; case 2: FindRoot(); system(pause); break; case 3: Detective(); system(pause); break; case 4: Monkey(); system(pause); break; case 5: Diamond(); system(pause); break; case 6: Calculator(); system(pause); break; case 0: printf(Goodbye!n); system(pause); exit(0); int menu_select() /*主函数菜单*/ char

4、 c; do system(cls); printf(1.FindNumn); printf(2.FindRootn); printf(3.Detectiven); printf(4.Monkeyn); printf(5.Diamondn); printf(6.Calculatorn); printf(0.Goodbye!n); c=getchar(); while(c6); return(c-0);FindNum() /*找数字*/ int i; for(i=1;i=9;i+) /*穷举*/ if(30+i)*6237=(10*i+3)*3564) printf(%dn,i);FindRoo

5、t() /*找方程的根*/ float a10,b10,c10,disc,x1,x2,real,image; /*定义abc三个数组存放方程的系数*/ int i,k,j; for(i=0;i10;i+) /*循环输入方程的三个系数*/ printf(please input three real numbers:n); scanf(%f%f%f,&ai,&bi,&ci); printf(press 1 to continuenpress 2 to calculaten); scanf(%d,&k); if (k=2) break; /*判断是否继续输入*/ for(j=0;j=i;j+) p

6、rintf(The equation %d,j+1); if (fabs(aj)=1e-7) /*a=0的情况*/ printf( is not quadratic, solution is %.2fn,-cj/bj); else disc=bj*bj-4*aj*cj; if (fabs(disc)1e-7) /*有两个不等实根的情况*/ x1=(-bj+sqrt(disc)/(2*aj); x2=(-bj-sqrt(disc)/(2*aj); printf( has distinct real roots: %.2f and %.2fn,x1,x2); else /*有两个虚根的情况*/ r

7、eal=-bj/(2*aj); image=sqrt(-disc)/(2*aj); printf( has complex roots:n); printf(%.2f+%.2f in,real,image); printf(%.2f-%.2f in,real,image); Detective() /*找牌照*/ int i,a,b,c,d;long m; for(i=32;i=1;i-) x=(x+1)*2; printf(%ldn,x);void print_diamond(int line) int i,j,k,m,n,p,q,a,b; for(i=1;i=(49-line)/2;i+)

8、 /*输出(49-line)/2行的空格*/ printf(n); for(j=1;j=(line+1)/2;j+) for(m=1;m=(80-line)/2;m+) /*先输出(80-line)/2个空格*/ printf( ); for(a=1;a=(line-(2*j-1)/2;a+) /*行数j从1到中间一行输出(line-(2*j-1)/2个空格*/ printf( ); for(n=1;n=2*j-1;n+) /*中间行及上面每行输出2*j-1个*/ printf(*); printf(n); for(k=1;k=(line-1)/2;k+) /*同理输出中间行下面的钻石图案*/

9、 for(p=1;p=(80-line)/2;p+) printf( ); for(b=1;b=k;b+) printf( ); for(q=1;q=line-2*k;q+) printf(*); printf(n); Diamond() /*钻石*/ int line; scanf(%d,&line); print_diamond(line); /*调用print_diamond输出钻石图案*/Calculator() /*简单计算器*/ int a4,b4,c4,i,j,k; /*定义ab两个数组存放数*/ char ch4; /*定义c存放运算符*/ FILE *fp1,*fp2; fp

10、1=fopen(expres.txt,r); /*打开expres文件*/ if(fp1=NULL)/*判断打开成功*/ printf(Can not open file expresn); exit(1); for(i=0;i=3;i+) fscanf(fp1,%d%c%d,&ai,&chi,&bi);/*循环读入四道题*/ for(j=0;j=3;j+) switch(chj)/*判断运算符*/ case +:cj=aj+bj; break; case -:cj=aj-bj; break; case *:cj=aj*bj; break; case /:cj=aj/bj; break; fp2=fopen(result.txt,w);/*打开文件result*/ if(fp2=NULL)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号