“C程序设计I”实验指导书.docx
《“C程序设计I”实验指导书.docx》由会员分享,可在线阅读,更多相关《“C程序设计I”实验指导书.docx(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C程序设计I实验指导书信息工程学院计算机系C程序设计实验要求2实验简单程序设计21010测试验证结果21011温度转换21012计算书费31013时间相加3实验二分支结构程序设计41020函数值计算41021颠倒整数51022整数排序51023自整除数61024 选作题:Fibonacci Again6实验三循环结构程序设计71030整数的立方和71031求累加和71032与7无关的数81033选作题:细菌繁殖8实验四数组应用91040杨辉三角形91041矩阵乘法321042学生成绩管理351043选作题:大整数乘法43实验五 函数应用451050各类型变量在函数调用过程中的变化461051最
2、大公约数和最小公倍数471052进制转换541053字符串替换561054 排序591055选作题:数制转换61实验六 综合应用641060同一天生日641061忽略大小写比较字符串701062不吉利日期721063统计字符数741064 选作题:Digital Roots77附录19、Visual C+调试环境的使用19二、TC环境下的使用84三、实验报告要求90四、C程序设计常见错误及解决方案84C程序设计实验要求课程实验是c程序设计课程的一个重要的实践环节,要求每个同学按以下要 求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格 式写出程序的运行结果,上机时调试程序并
3、验证结果的正确性,若与运行结果不 符,则要分析原因,上机时间由课内和课外上机两部分,以下时间为课内上机时 间。实验简单程序设计目的及要求:1 .熟练掌握c开发环境的窗口、菜单命令及相应的命令,并掌握在开发环境下 如何编辑、编译、连接、运行一个C程序,以及如何保存和修改C语言的源程序。2 .通过运行个简单的C程序过程,逐步了解C程序的基本结构及特点。3 .掌握C语言的基本数据类型,熟悉它们的使用方法及定义方式,了解各类 型数据输出时所用的格式转换符,熟悉各种运算符和表达式的使用特点。4 .熟练掌握C中赋值运算的使用。1010测试验证结果习题4. 51011温度转换第三题:Description华
4、氏温度和摄氏温度的转换公式为:C = 5/9 * ( F - 32 )其中:F为华氏温度C摄氏温度Input一个整数表示华氏温度。Output输出一行。该行包含个浮点数C,表示转换的摄氏温度。精确到小数点后两 位。Sample Input93Sample Output33. 89答案:#includevoid main()int f;float c;scanf &f);c=(5/9. 0)*(f-32);printf (*%0. 2fn, c);getchar ();1012计算书费Description下面是个图书的单价表:计算概论28. 9元/本数据结构与算法32. 7元/本数字逻辑45.
5、 6元/本C+程序设计教程Y8兀/本人工智能35元/本计算机体系结构86. 2元/本编译原理27. 8元/本操作系统43元/本计算机网络56元/本JAVA程序设计65元/本给定每种图书购买的数量,编程计算应付的总费用。Input输入每行包含组10个整数(大于等于,小于等于100),分别表示购买的 计算概论、数据结构与算法、数字逻辑、C+程序设计教程、人工智能、计算机体系结构、编 译原理、操作系统、计算机网络、JAVA程序设计的数量(以本为单位)。每两个整数用一个空格 分开。Output输出一行。该行包含个浮点数f,表示应付的总费用。精确到小数点后两位。可用printf (“先2fn, sum)
6、来输出sum的值,并精确到小数点后两位。Sample Input1 5 8 10 5 1 1 2 3 4Sample Output2140. 201013时间相加Description用整数表示时间,如:1050表示10点50分,2010表示20点10分。现输入 两个时间,求两个时间的和。例:2030 + 850 = 520 不是 28801055 + 850 = 1945 不是 1905Input两行数据,每行个整数。Output输出相加后的时间整数。Sample Input2030850Sample Output520答案:#include stdio.hvoid main()(int a
7、,b,bl,b2,a 1 ,a2,sl,s2,sum;scanf(%d,&a);scanf(%d,&b);al=a/100;a2=a-al* 100;bl=b/100;b2=b-bl*100;if(a2+b2=60)(s2=a2+b2-60;if(al+bl+l=24)sl=al+bl+l-24;elsesl=al+bl+l;)else(s2=a2+b2;if(al+bl=24)sl=a 1+b 1-24;elsesl=al+bl;sum=sl* 100+s2;printf(%03dn,sum); getchar();答案:#include stdio.h#include conio.h vo
8、id main()(int a,b;scanf(%d,&a);scanf(%d,&b);int h=0;int c=a% 100+b% 100;int inc=0;if(c=60)c=c-60;inc=l;printf(%03d,(a/100+b/100+inc)%24)*100+c);getch();实验二分支结构程序设计目的及要求:1 .掌握C程序设计的基本语句表达方式及基本语句结构的方法。2 .掌握C语言中输入、输出函数的基本功能。3 .掌握顺序和分支结构程序设计的方法。4 .能独立编写顺序及分支结构的C程序。1020函数值计算第四题:Description有一个函数y = x( x =
9、 10 )写程序,输入x值,计算y值。Input个整数XoOutput输出函数值y。Sample Input20Sample Output49答案:#include stdio.hvoid main()(int x,y;scanf(%d,&x);if(xl)y=x;else if(x=l) y=2*x-l;elsey=3*x-l 1;printf(%dn,y);getchar();1021颠倒整数第五题 Description给定一个最多4位的正整数,将其颠倒过来输出。例如:输入123,则输出321。Input个小于!0000的正整数。Output颠倒后整数。Sample Input1234S
10、ample Output4321答案:#include stdio.hvoid main()int x;scanf(%d,&x);printf(%d,x%10);x=x/10;)getchar();)答案:#include stdio.h#include stdlib.hint main()(int x,y;scanf(%d,&x);if(x10)y=x;else if(x100)y=(x%10)*10+x/10;else if(x1000)y=(x%10)* 100+(x/10)% 10)*10+x/l 00;else if(x10000)y=(x% 10)*1000+(x/10)% 10)
11、*100+(x/100)% 10)*10+x/1000;printf(%d,y);return 0;)1022整数排序第六题 Description对给定的4个整数进行排序,将由小到大的顺序输出。Input一行中有4个整数,整数之间用空格分隔。Output按升序输出,各整数之间用个空格分隔。Sample Input25 314 18 27Sample Output18 25 27 314答案:#include stdio.h #include stdlib.hint main()int i,j,a4,t;for(i=0;i4;i+)scanf(%d,&ai);t=aO;for(i=0;i3;i
12、+)for(j=0;ja|j+l)t=aj;aj=a|j+l;aj+l=t;)for(i=0;i0)m+=t%10;t=t/10;)if(m!=O&n%m=O) printf(truen);elseprintf(falsen);getchar();)答案:#include stdio.h#include stdlib.hint main()(int m=0,n,t; scanf(%d,&n);t=n;while(t0)(m+=t%10;if(n%m=O)printf(TRUE);elseprintf(FALSE);return 0;1024 选作题:Fibonacci AgainProblem
13、 DescriptionThere are another kind of Fibonacci numbers: F(0) = 7, F(l) = 11, F(n) = F(n-l) + F(n-2) (n=2).InputInput an integer n. (n 1,000,000).OutputPrint the word yes if 3 divide evenly into F(n).Print the word no if not.Sample Input5Sample OutputnoSample Input2Sample OutputYes答案:ttinclude “stdi
14、o. h#include “stdlib. hint main()iint n, a=7, b=ll, c;scanf (刎,&n);if (n=0) b=7;else if (n=l) b=ll;elsefor(int i=2;i=n;i+)c=b;b=(a+b)%3;a=c;if(b%3=0)printf(yes);elseprintf(no);return 0;)答案:#include stdio. hint Fibonacci(int n);void main ()int fn, n;scanf(%d, &n);fn=Fibonacci (n);if(fn%3=0)printf (ye
15、sn);elseprintf(non);getchar ();int Fibonacci(int n)if (n-0) return 7;else if (n-1) return 11;else return Fibonacci (n-l)+Fibonacci(n-2);)答案三:#include “stdio. h#include “stdlib. hlong F(int n);int main()int n;long f=0;scanf (%d, &n);if(n=0) f=7;else if(n=l) f=ll;else f=F(n);if(f%3=0)printf(yes);elsep
16、rintf(no);return 0;)long F(int n)int a=7, b=ll;long tmp=0;for (int i=2;i =n;i+)(tmp - a+b;a = b;b = tmp;return tmp;实验三循环结构程序设计目的及要求:1 .熟练掌握循环语句中for语句、while语句和do while语句使用方法。2 .掌握编写循环结构程序的方法。1030整数的立方和第二题 Description给定一个正整数k(lk10),求1到k的立方和m。即m=l+2*2*2+.+k*k*k。Input输入只有一行,该行包含一个正整数k。Output输出只有一行,该行包含1
17、到k的立方和。Sample Input5Sample Output225答案:ttinclude “stdio. hvoid main()int sum=0, n;scanf(%d, &n);for(int i=0;i=n;i+)sum+=i*i*i;printf(%dn, sum);getchar ();)1031求累加和Description有一分数序列:2 , 3 , 5 , 8 , 13 , 21 1 235813求出该序列的前n项之和。Input输入只有一行,该行包含一个正整数n(n200)。Output序列前n项之和(保留两位小数)。Sample Input2Sample Outp
18、ut3. 50答案:#include stdio.h void main()int n;float sum=0,a=2,b=l,t;scanf(%d,&n);for(int i=0;in;i+)sum+=a/b;t=a;a=a+b;b=t;printf(%.2fn,sum);getchar();1032与7无关的数Description个正整数,如果它能被7整除,或者它的十进制表示中某位数字为7,则称其 为与7相关的数。现求所有小于等于n(nGOO)的与7无关的正整数的平方和.Input输入为一行,正整数n, (n100)oOutput输出小于等于n的与7无关的正整数的平方和Sample In
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实验 指导书
限制150内