C语言程序设计报告

上传人:Fi****mo 文档编号:74366827 上传时间:2022-04-13 格式:DOC 页数:47 大小:1.53MB
收藏 版权申诉 举报 下载
C语言程序设计报告_第1页
第1页 / 共47页
C语言程序设计报告_第2页
第2页 / 共47页
C语言程序设计报告_第3页
第3页 / 共47页
资源描述:

《C语言程序设计报告》由会员分享,可在线阅读,更多相关《C语言程序设计报告(47页珍藏版)》请在装配图网上搜索。

1、信息工程系课程设计报告书所属课程名称:C 语言程序设计专业班级 : 150311学生姓名:曾传凤学号: 15031102长春工业大学人文信息学院2016年9月9日1课程设计成绩评定表项目得分平时表现及设计完成情况(占 40%)设计报告(占 30%)答辩情况(占 30%)成绩评定及等级:分数优: 90100 分;良: 80-89分;中: 70-79分;等级及 格 : 60-69分;不及格: 60 分以下。指导教师姓名及职称:年月日11第一部分完成题目1、 简单的数学计算。编写程序,计算任意输入的3 个数的和的平均值。(1) 截屏:(2) 源代码:/1.简单的数学计算。编写程序,计算任意输入的3

2、个数的和的平均值。#include stdio.hvoid main()int a=0,b=0,c=0,s=0;float v;printf(三个数 );scanf(%d%d%d,&a,&b,&c);printf(三个数的和为, 三个数的和的平均值为);s=a+b+c;v=s/3;printf(三个数的和为%d,三个数的和的平均值为%f,s,v);2. 题目:编写程序。 a 为 100, b 为 50,若 ab 成立将 a 赋予给 c,否则将 b 赋予给 c。同时,若 ab)c=a;d=b*b*b;第 1 页elsec=b;d=a;printf(a=%d,b=%d,c=%d,d=%d,a,b,

3、c,d);3. 题目:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用A 表示, 60-89 分之间的用 B 表示, 60 分以下的用C 表示。(1) 截屏:(2) 源代码:#include stdio.hvoid main()int a;printf(请输入学生成绩:n );scanf(%d,&a);if(a=90)printf(An);else if(a60&a0)x1=(-b+sqrt(m)/(2*a);x2=(-b-sqrt(m)/(2*a);printf(方程有两个解,x1=%f, x2=%fn,x1,x2);else if(m=0)x1=x2=(-b+sqrt(m)/(2

4、*a);printf(方程有唯一解x=%fn,x1);elseprintf(方程无解 n);elseprintf(方程不成立 n);5 题目:输入任意一个四位数字,分别将个位,十位,百位,千位上的数字输出出来,并求所有位数的和。(1) 截屏:第 3 页(2) 源代码#include stdio.hvoid main()int a,b;int x1,x2,x3,x4;printf(请输入四个数:n);scanf(%d,&a);x1=a%10;x4=a/1000;a=a/10;x2=a%10;a=a/10;x3=a%10;b=x1+x2+x3+x4;printf(该四位数个位%d,十位 %d,百位

5、 %d,千位 %dn,x1,x2,x3,x4);printf(该四位数和 :%dn,b);6 题目:从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出(1) 截屏( 2)源代码#includestdio.hvoid main()int x,a,b;printf(请输入工资: );scanf(%d,&x);if(x1200&x2000&x=3500)第 4 页a=3;elsea=4;switch(a)case 1:printf(不收税 n);break;case 2:b=(x-1200)*0.05;printf(收

6、税 %dn,b);break;case 3:b=(x-2000)*0.08;printf(收税 %dn,b);break;case 4:b=(x-3500)*0.2;printf(收税 %dn,b);break;7 题目:假定征税的办法如下: 收入在 1200 元以下(含 1200 元)的不征税; 收入在 1200 元以上 2000 元以下者,超过 1200 元的部分按 5%的税率收税;收入在 2000 元以上 3500 元以下者,超出 2000 元部分按 8%的税率收税;收入在 3500 元以上者, 3500 以上部分按 20%的税率收税,试编写按收入计算税费的程序(要求使用 switch

7、语句编写程序)。( 1) 截屏:( 2) 源代码:#includestdio.h void main()int x,a,b;printf( 请输入工资: ); scanf(%d,&x); if(x1200&x2000&x=b)max=a;min=b;elsemax=b;min=a;if(max=c)if(min=c)zhon=min;min=c;else第 6 页zhon=c;elsezhon=max;max=c;printf(所输入数按从小到大排列为%d%d=0)printf(绝对值为 %dn,a);elsea=-a;printf(绝对值为 %dn,a);10 题目:输入一个任意数字,将这个

8、数字的绝对值输出出来。( 1)截屏:( 3) 源代码:#includestdio.h第 7 页void main()int a,b;int x;printf(请输入被除数和除数:n);scanf(%d%d,&a,&b);if(b!=0)x=a/b;printf(商为 :%dn,x);elseprintf(除数不能为0n);11 题目:编程实现:任意输入某年某月某日,判断这一天是这一年的第几天。程序分析:以3 月 5 日为例,应该先把前两个月的加起来,然后再加上5 天即本年的第几天,特殊情况,闰年且输入月份大于3 时需考虑多加一天。( 1)截屏:( 2) 源代码:#includestdio.h

9、void main()int n,y,r;int sum;printf(请输入年份: n);scanf(%d,&n);printf(请输入月份: n);scanf(%d,&y);printf(请输入第几天:n);scanf(%d,&r);if(n%4=0)&(n%100!=0)|(n%400=0)switch(y)第 8 页case 1:sum=r;break;case 2:sum=31+r;break;case 3:sum=60+r;break;case 4:sum=91+r;break;case 5:sum=r+121;break;case 6:sum=152+r;break;case 7

10、:sum=182+r;break;case 8:sum=213+r;break;case 9:sum=244+r;break;case 10:sum=274+r;break;case 11:sum=305+r;break;case 12:sum=355+r;break;elseswitch(y)case 1:sum=r;break;case 2:sum=31+r;break;case 3:sum=59+r;break;case 4:sum=90+r;break;case 5:sum=r+120;break;case 6:sum=151+r;break;case 7:sum=181+r;brea

11、k;case 8:sum=212+r;第 9 页break;case 9:sum=243+r;break;case 10:sum=273+r;break;case 11:sum=304+r;break;case 12:sum=354+r;break;printf(这是 %d年的第 %d天 n,n,sum);12 题目: 用整数 112 一次表示1 月12 月,由键盘输入一个月份数,输出对应的季节英文名称( 12 月 2 月为冬季; 3 月 5 月为春季; 6 月 8 月为夏季; 9 月 11 月为秋季) ,要求用 if 嵌套实现 。( 1) 截屏:( 2) 源代码:#includestdio.

12、hvoid main()int year;printf(请任意输入一个月份:n);scanf(%d,&year);if(year=3&year=6&year=8&year=11)printf(FALL);elseprintf(WINTER);13 题目: . 模拟银行提款机程序。首先要求用户输入密码,如果输入密码超过三次则退出程序。如果在三次以内,可以选择用户的操作,操作1. 查询余额;2. 存款操作;3. 取款操作;4. 转账汇款;5. 退出(1)截屏:第 10( 2)源代码:#includestdio.h void main()int n=0;int mima;/密码int c=0;/操作

13、int ck,qk,zz,hl;/存款,取款,转帐,汇款int ye=1000;/余额while(n=b)max=a;min=b;elsemax=b;min=a;for(n=min;n=max;n+)sum=n+sum;第 12printf(%d,%d之间所有数的和为:%dn,a,b,sum);15 题目:打印出一个直角三角形( 1) 截屏:( 2)源代码:#includestdio.hvoid main()int s,n,m;printf(请任意输入三角形的直角边长:n);scanf(%d,&s);for(n=0;ns;n+)for(m=0;m=n;m+)printf( * );printf

14、(n);16 题目:打印出一个 九九乘法表 ( 1)截屏:( 2)源代码:#includestdio.hvoid main()int n,m,x;第 13for(n=1;n=9;n+)for(m=1;m=n;m+)x=n*m;printf( %d*%d=%d ,n,m,x);printf(n);17 题目:输出1-100 之间的所有素数(1)截屏( 2) 源代码#includestdio.h void main()int n,m,x;int flag=0;int s=0;for(n=1;n=100;n+)flag=1;for(m=2;mn;m+)x=n%m;if(x=0)flag=0;brea

15、k;if(flag=1)s+;printf( %d ,n);if(s%5=0)第 14printf(n);printf(n);18 题目:模拟银行操作的流程( 1) 截屏( 2)源代码#includestdio.hvoid main()int n=0;int mima;/密码int c=0;/操作int ck,qk,zz,hl;/存款,取款,转帐,汇款int ye=1000;/余额while(n0)z+;else if(n=0)l+;elsef+;printf(正数有个 %d,负数有个 %d,零有个 %d。 n,z,f,l);20 题目:编写程序,计算1-100 之间的所有偶数和。(1)截屏(

16、 2)源代码#includestdio.hvoid main()int n;int sum=0;for(n=1;n=100;n+)if(n%2=0)sum=sum+n;printf(1到 100 之间所有偶数的和为%dn,sum);21 题目 . 用 for循环语句编写计算n! 的程序(1)截屏( 2)源代码#includestdio.hvoid main()int x;int n;int s=1;第 17printf(请输入要计算的值:n);scanf(%d,&x);for(n=1;n=x;n+)s=s*n;printf(%d的阶乘为 :%dn,x,s);21 题目百钱百鸡问题:设公鸡每只

17、5 元,母鸡每只 3 元,小鸡每元 3 只,现用 100 元钱买 100 只鸡,编写程序,算出可以各买多少只鸡。(1)截屏( 2) 源代码#includestdio.hvoid main()int x,y,z;for(x=1;x=20;x+)for(y=1;y=33;y+)z=100-x-y;if(x+y+z=100)&(5*x+3*y+z/3=100)&(z%3=0)printf(可以买公鸡 %d只,母鸡%d 只,小鸡 %d 只n,x,y,z);22 题目古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数

18、为多少?(1)截屏( 2) 源代码#includestdio.h int fun(int n)if(n=1|n=2)第 18return 1;elsereturn fun(n-1)+fun(n-2);void main()int num;int x;int n;printf(请输入需要查看的月份:n);scanf(%d,&n);num=fun(n);printf(第 %d月有兔子 %d对 n,n,num);return 0;23 题目打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为153=1 的三次方 5 的三次方

19、3 的三次方。(1)截屏( 2) 源代码#includestdio.h void main()int n;int a,b,c;printf(水仙花数有 :n);for(n=100;n=999;n+)a=n/100;b=(n-a*100)/10;c=(n-a*100)%10;if(a*a*a+b*b*b+c*c*c=n)printf( %d ,n);第 1924 题目 4. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1 2 3. 编程找出 1000 以内的所有完数。(1)截屏( 2)源代码#includestdio.hvoid main()int n;int sum=0;in

20、t m;for(n=2;n1000;n+)sum=0;for(m=1;mn;m+)if(n%m=0)sum=sum+m;if(sum=n)printf( %d ,n);25 题目编写两个函数,求任意输入两个整数的最大公约数和最小公倍数。( 1) 截屏( 2) 源代码#includestdio.h int gy(int a,int b)int n;int x;for(n=1;n=b)max=a;min=b;elsemax=b;min=a;x=gy(max,min);gb(max,min,x);26 题目用递归的方法,计算正整数的阶乘n!。(1)截屏第 21( 2)源代码#includestdio

21、.hint jc(int x)if(x=1)return x=1;elsereturnx=x*jc(x-1);void main()int x;int a;printf(请任意输入一个正整数:n);scanf(%d,&x);a=jc(x);printf(%d的阶乘为 %dn,x,a);27 题目有 5 个人坐在一起,问第五个人多少岁?他说比第4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?(1)截屏( 2) 源代码#includestdio.hint ye

22、ar(int a)int n;第 22for(n=0;n4;n+)a=a+2;printf(第五个人的年龄是%dn,a);void main()int a;printf(请输入第一个人的年龄:n);scanf(%d,&a);year(a);28 题目有一分数序列: 2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13. 求出这个数列的前 20 项之和。(1) 截屏( 2) 源代码#includestdio.h void sum()float b=1; int n;float sum=0; float a=1; float c; for(n=1;n=20;n+)c=a;a=a

23、+b;b=c;sum=sum+(b/a);printf(%fn,sum);void main()sum();第 2329 题目设计一个判断素数的函数,编写程序验证函数的功能(1)截屏( 2) 源代码#includestdio.hint sushu(int a)int n;int flag;if(a!=1&a!=2)for(n=2;na;n+)flag=0;if(a%n=0)flag=0;break;elseflag=1;if(flag=1)printf(%d是素数 n,a);elseprintf(%d不是素数 n,a);elseprintf(%d是素数 n,a);27. 题目:第 24调用自定

24、义函数的形式编程。要求求出 s=n!+m!+k! 。其中 m, n,k 的值有键盘输入,并且他们的值必须大于 0.( 1)截屏:( 2)源代码:#includestdio.hint jc(int a)int x=1;int n;for(n=1;n0)printf(方程有两个不同的实数根:);lg(a,b,x);else if(x=0)第 26printf(方程只有一个根:);yg(a,b,x);elseprintf(方程无解! n);elseprintf(方程不成立!n);29. 题目:编写程序,用冒泡法对任意输入的10 个整数排序。( 1)截屏:( 2)源代码:#includestdio.h

25、void main()int a10;int n,m;int z;for(n=0;n10;n+)printf(请输入第 %d个数 :n,n+1);scanf(%d,&an);for(n=0;n10;n+)第 27for(m=n+1;m=am)z=an;an=am;am=z;printf(从小到大排列为n);for(n=0;n10;n+)printf( %d ,an);30. 题目:设计一个判断素数的函数,编写程序验证函数的功能( 1)截屏:( 2)源代码:#includestdio.hint sushu(int a)int n;int flag;if(a!=1&a!=2)for(n=2;na;

26、n+)flag=0;if(a%n=0)flag=0;break;elseflag=1;第 28if(flag=1)printf(%d是素数 n,a);elseprintf(%d不是素数 n,a);elseprintf(%d是素数 n,a);void main()int a;printf(请输入你要判断的数:n);scanf(%d,&a);sushu(a);第 29( 2)源代码:#includestdio.hvoid main()int a45;int m,n;int sum=0;float x;for(n=0;n4;n+)for(m=0;m5;m+)printf(请输入 a%d%d=,n,m

27、);scanf(%d,&anm);printf(n);for(n=0;n4;n+)for(m=0;m5;m+)sum=sum+anm;第 3031 题目:调用自定义函数的形式编程。要求求出 s=n!+m!+k! 。其中 m, n,k 的值有键盘输入,并且他们的值必须大于 0.( 1)截屏:( 2)源代码:#includestdio.hint jc(int a)int x=1;int n;for(n=1;n=a;n+)x=x*n;return x;void main()int n,m,k;int a,b,c;int s;printf(请输入第1 个数: n=n);scanf(%d,&n);printf(请输入第2 个数: m=n);scanf(%d,&m);printf(请输入第3 个数: k=n);scanf(%d,&k);a=jc(n);b=jc(m);c=jc(k);s=a+b+c;printf(s=%d!+%d!+%d!=%dn,n,m,k,s);32 题目:编写一个程序, 用于求解一元二次方程的实数根。 要求求解的过程由函数实现 , 如果不能组成一元二次方程 , 给出提示 , 如果方程没有实数根也给出提示 . 并且分别用 2 个函数实现判别式大于 0( 有两个第 31不同的实数根), 等于零 ( 有两个相同的实数根) 时的运

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!