哈工大C语言DNA实验报告 下载本文

内容发布更新时间 : 2024/5/18 9:04:08星期一 下面是文章的全部内容请认真阅读。

哈尔滨工业大学(威海)软件学院

C程序设计 实验报告

编号: 姓名 任课教师 实验地点 院系 软件学院 学号 指导教师 于水 实验时间 1、国王应该给大臣多少麦子;2用英文字母组成一个菱形;3、输实验名称 出一段DNA序列对应的mRNA及转录出的蛋白质。 同 组 人 无 预习报告(对实验主要内容的认识) 得分 1. 如果循环次数已知,用for;如果循环次数未知,用while如果循环体至少要执行一次,用do-whil。 2. break与continue的作用是跳转;continue负责结束本次循环,回到循环条件处;break负责退出本循环(本语句块)。 3. 一个工程中绝对不允许出现死循环。 实验内容(问题,思路,程序,结果) 得分 主要说明面对的问题是什么现象(输入,输出或者编译器提示等),通过这样的现象,能够得到什么已知条件。 由此,通过自己的设计方案,设计并实现满足实验需求的程序或者文档。在实验报告中,对于问题的分析和设计是重点内容。 一、 实验1(国王应该给大臣多少麦子) 本实验要求用两种方法计算国王应该给大臣多少麦子:直接计算累加的通项和利用前项计算后项。 1、 直接计算累加的通项:利用数学公式计算出累加通项为Sn=a1*(1-qn)/(1-q)程序如下: do{ sum=sum+a; a = a*2; i++; }while(i<=15); printf(\ break; 2、 利用前项计算后项: for(i=0;i<16;i++) { a=a*2; } sum = a - 1; printf(\ break; 3、 把两个程序合并在一起的完整的程序: #include #include int main() { int i,a,sum,way; sum = 0; i = 0; a = 1; printf(\你想用第几种方法(请输入1或2):\\n\ scanf(\ switch(way) { case 1: do{ sum=sum+a; a = a*2; i++; }while(i<=15); printf(\ break; case 2: for(i=0;i<16;i++) { a=a*2; } sum = a - 1; printf(\ break; default: printf(\请重新输入\\n\ } return 0; } 4、 运行结果如下: 二、 实验2(用英文字母组成一个菱形) 1、思路:(1)首先能够输出英文字母,用putchar语句,可以用Asc码来实现: for(k=0;k<=i;k++) putchar('A'+k); (2)用四块三角形组成一个菱形:注意怎样输出空格(用一段循环语句来实现)。 利用循环次数的不同来实现上下两块三角形的出现。 (3)还有提醒用户输入的数字应该在1—26。 2、具体程序如下: #include int main() { int n=0,i,j,k; printf(\ printf(\欢迎来到美丽的图形世界**********\\n\ printf(\ printf(\请输入一个数:\ scanf(\ if(n>0&&n<=26) { for(i=0;i0;k--)