(完整版)c语言课程设计设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言课程设计报告

姓名:

学号:

年月

目录:

●程序功能简介

●题目分析

●函数的调用关系图及主要算法●源程序及注释

●测试流程

●心得感想

程序一:简单数学问题

一、程序功能简介:

实现多个简单数学问题的求解。

二、题目分析

完成与菜单项对应的功能设计

1、void FindNum( ); /*用穷举法找到被咬掉的数字*/

2、void FindRoot( ); /*求解方程ax2+bx+c=0的根*/

3、void Detective( ); /*根据线索用穷举法找出牌照号码*/

4、void Monkey( ); /*根据天数循环求出第一天所摘桃子数*/

5、void Diamond( ); /*调用函数Print_Diamond( )输出line行的钻石图案*/

6、void Calculator( ); /*实现两个整数简单的加减乘除四则运算*/

三、函数的调用关系图:

四、源程序及注释:

#include

#include

#include

#include

int menu_select();

void main() /*主函数*/

{

for(;;)

{

switch(menu_select())

{case 1:

FindNum();

system("pause");

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 c;

do{

system("cls");

printf("1.FindNum\n");

printf("2.FindRoot\n");

printf("3.Detective\n");

printf("4.Monkey\n");

printf("5.Diamond\n");

printf("6.Calculator\n");

printf("0.Goodbye!\n");

c=getchar();

}while(c<'0'||c>'6');

return(c-'0');

}

FindNum() /*找数字*/

{

int i;

for(i=1;i<=9;i++) /*穷举*/

if((30+i)*6237==(10*i+3)*3564)

printf("%d\n",i);

}

FindRoot() /*找方程的根*/

{

float a[10],b[10],c[10],disc,x1,x2,real,image; /*定义abc三个数组存放方程的系数*/

int i,k,j;

for(i=0;i<10;i++) /*循环输入方程的三个系数*/

{

printf("please input three real numbers:\n");

scanf("%f%f%f",&a[i],&b[i],&c[i]);

printf("press '1' to continue\npress '2' to calculate\n");

scanf("%d",&k);

if (k==2) break; /*判断是否继续输入*/

}

for(j=0;j<=i;j++)

{

printf("The equation %d",j+1);

if (fabs(a[j])<=1e-7) /*a=0的情况*/

printf(" is not quadratic, solution is %.2f\n",-c[j]/b[j]);

else

{

disc=b[j]*b[j]-4*a[j]*c[j];

if (fabs(disc)<=1e-7) /*有两个相等的实根的情况*/ printf(" is not quadratic,solution is: %.2f\n",-b[j]/(2*a[j])); else if (disc>1e-7) /*有两个不等实根的情况*/

{

x1=(-b[j]+sqrt(disc))/(2*a[j]);

x2=(-b[j]-sqrt(disc))/(2*a[j]);

printf(" has distinct real roots: %.2f and %.2f\n",x1,x2); }

else /*有两个虚根的情况*/

相关文档
最新文档