欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c课程设计实践报告.docx

    • 资源ID:19710471       资源大小:36.43KB        全文页数:15页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c课程设计实践报告.docx

    c 课程设计实践报告 c+课程设计实践报告 班级:83121 姓名:张弛 学号:XX1000491 题目 一、题目描述: 已知银行整存整取存款不同期限的月息利率(采纳复利 方式,即利滚利)分别为 % 期限一年 % 期限二年 月息利率= % 期限三年 % 期限五年 % 期限八年 要求输入存钱的本金和期限(以整数年为单位) ,求到期时能从银行 得到的利息与本金的合计。 提示:可以用嵌套的 if-else 结构或 switch 结构实现,核心函数 pow(1+月利率,月份)。 请思索年份是 四、 六、七或八年以上的状况。 设计思路: (一)运用 switch 选择语句 对应年份 (二)明确核心函数 pow 是计算复利的(例如:x 的 n 次方 ) ;由于 是以年为计算期限的,而所给的利率是月利率,所以计算时 应当在年的基础上乘以 12; (三)复利计算就是一种幂运算,I=p*(1+i)n,本金和利率都是变 动的 (四)在除了 1、 2、 3、5 和 8 年之外的其他年份中,要留意“就低 不就高”的原则,尤其是在 8 年之后,也是套用期限八年的利率。 附源程序如下: #include #include void main() int years; float capital,sum; scanf("%f %d",&capital,&years); switch(years) case 1:sum=capital*pow(1+*,12);break; case case 2:sum=capital*pow(1+*,24);break; 3:sum=capital*pow(1+*,36);break; case 4:sum=capital*pow(1+*,48);break; case 5:sum=capital*pow(1+*,60);break; case case case 6:sum=capital*pow(1+*,72);break; 7:sum=capital*pow(1+*,84);break; 8:sum=capital*pow(1+*,96);break; default:sum=capital*pow(1+*,12*years); printf("%f",sum); 题目 二、题目描述: 简洁计算器。用 switch 语句编写一个程序计算表达式: data1 op data2 的值。其中 op 为运算符+、-、*、/。 设计思路: (一)明确计算器是怎样进行计算的; (二) 细微环节, 比如许多地方须要分号, 在遇到字符时, 我们应当用 , 而不是“” ; (三 Switch 语句主要用于多分支选择,此题有+、-、*、/,这就是 选择。运用 switch 每个 case 对应+ - * /符号 程序涉及到至 少三个量,运算符 op 和两个数字;先让用户输入两个数字和运算符, 两个数字的计算在后面的程序中用 swith 结构运行。 运 行 效 果 截 图 : 附源程序如下:#include int main() float data1,data2,c; char op; printf("请输入表达式中两个数字 data1 和 data2"); /打印 scanf("%f%c%f",&data1,&op,&data2); /输入 printf("请输入运算符+、-、*、/");/ 打印 switch(op) /switch ()case stick:break; 这个是个选择结构 假如 OP = stick 则执行这一句 假如没有 则执行 default 后面 的语句 case '+':c=data1+data2;break; case '-':c=data1-data2;break; case case '*':c=data1*data2;break; '/':c=data1/data2;break; default:printf("输入错误");break; printf("%f",c); return 0; 题目三 题目描述:编写程序,用二分法求方程 2x3-4x2+3x-6=0 在(-10,10) 之间的根。 提示: 用 do-while 语句实现。 二分法的计算步骤: (1) 打算 计算 f(x)在有根区间端点处的值 f(a),f(b) (2) 二分 计算 f(x)在区间中点(a+b)/2 处的值 f (3) 推断若 f=0,则即是根,计算过程结束。 否则,检测: A.若 f与 f(a)异号, 则根位于区间内, 这时以(a+b)/2 代替 b; B.若 f与 f(a)同号, 则根位于区间内, 这时以(a+b)/2 代替 a; 反复执行步骤 2 和 3,直到区间长度缩小到允许的误差范围之 内,此时中点(a+b)/2 即为所求的根 设计思路: (一)二分法是指在整个算法中,让计算值无限趋近于根的值,利用 数学学问可知,当了两个点的结果异号时,函数的根就在这两个数之 间,利用二分法可以无限的把根的范围缩小,直到可以确定为止; (二)do-while 是循环语句,先执行一次指定的循环体语句,然后 判别表达式, 当表达式的值为非零 (真) 时, 返回重新执行循环语句, 如此反复,直到表达式的值等于 0(假)为止才结束。 (三)Void main()是声明函数,并且是对主函数的声明。题目所 给的范围是(-10,10) ,因此在声明函数中定义一个 a 和 b 来代替区 间的范围,而用 c 来代指中间指也是最终的结果,在这个程序中 a、b、c 都是随着范围不断改变的变量。假如(-10,10)的范围过大, 就须要循环语句来缩小区间范围, 即 a=c 或 b=c。 当函数值在 (-10,10) 中随意一点取得 0 时,就正是我们所要的结果。循环条件是当区间 a 和 b 的函数值小于精度 。 运行效果截图: 附源程序如下: #include "" float f(float x) float y; y=2*x*x*x-4*x*x+3*x-6; return y; void main() float a=-10,b=10,c; doc=f(a+b)/2); if(c=0) break; if(c*f(a)>0) a=c; else b=c; while(f(b)*f(a) 题目四 题目描述:编写程序,给定一个整数 i,恳求出另一个整数 j,使 i 和 j 在用 8 位二进制表示时互为逆序。例如:给定 i=3 时,应得到 j=192(3 的二进制为:00000011,192 的二进制为 11000000) 。 提示: 十进制整数转换为二进制整数用“除 2 求余”法。 二进制整数转换为十进制整数用“按权相加”法。 设计思路: (一)二进制整数转化为十进制整数用“按权相加”法 (二)二十进制整数转化为二进制整数用“除 2 求余” ,用&转化。 (三)运算符:>是指右移一位,a 是指 b 向右移 a 位, 左移一位相当于乘 2 右移 1 位相当于除 2 (四)在交换时,用的是中间法 运行效果截图: 附源程序如下:#include "" void main() int i,j,s=1,a; printf("请输入一个整数 i:"); scanf("%d",&i); for(j=0;j printf("%d",(a>1) | (a>>3) | (a>>5) | (a>>7); 题目五 题目描述:编写程序,抓交通肇事犯。 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事务,但都没 有记住车号,只登记车号的一些特征。甲说:牌照的前两位数字是相 同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位 数学家,他说:四位的车号刚好是一个整数的平方。依据以上线索求 出车号。 提示: 根据题目的要求,造出一个前两位数相同、后两位数相同且相互 间又不同的整数,然后推断该整数是否是另一个整数的平方。 用穷举法解此题。穷举法是最简洁、最常见的一种程序设计方法, 它充分利用了计算机处理的高速特征。穷举法的关键是要确定穷 举的范围,既不能过分扩大穷举的范围,也不能过分缩小穷举的 范围,否则程序的运行效率会很低,或有可能遗漏正确的结果而 产生错误。 设计思路: (一)11 11 到 11 99 在 99 11 这样 穷举 推断是否一个 数的平方 则是 将这个数开方 取整 再取平方 是否还是原来的数 (二)此题须要满意三个条件:前两个数相同,后两个数相同; 前后两数分别不相同;这个数是一个整数的平方。须要每个条件都 满意,if 才为真。 (三)主要思路是穷举。穷举是指在适当的范围内举出一个数。 运 行 效 果 截 图 : 附源程序如下: #include void main() int a,b; for(a=32;a b=a*a; if(b/1000=b%1000/100 b%100!=(b/1000)*10+b%1000/100) printf("The license plate is:%d",b); && b%100/10=b%10 && 题目六 题 目 描 述 : 从 终 端 输 入 实 数 ex=1+x+x2/2!+x3/3!+?+xn/n!的值。 设计思路: 先输入一个 x 的值; 再设计一个子函数, 计算 1! , 2! , 3! ?n! 的值;之后用 sum 函数,和 pow 函数处理分子,用累加的方式进行分 子计算,并形成等式;最终输出结果。 x , 用 递 推 法 求 附源程序如下:#include "" int f(int x,int n) int i,m=0; for(i=0;i for(i=0,s=0;f(x,i) 题目七 题目描述:打印出以下的杨辉三角形(要求打印出 10 行) 。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ? ? ? 设计思路: (一)二维数组主要用于处理多行的问题,而且第一行在数组之中是 第 0 行。 (二)杨辉三角有一个明显的特点:每一行的最终一个数字与第一个 数是相同的,此外,下 (三)一行的其次个数是由上一行的第一个数和其次个数相加之和, 以此类推。 定义指针是为了让整个程序不那么困难。 运行效果截图: 附源程序如下: #include int main(void) int a,(*p)=a,i,j; for(i=0;i *(*(p+i)+0)=1; *(*(p+i)+i)=1; for(i=2;i 题目八 题目描述:找出一个二维数组的“鞍点” ,即该位置上的元素在该行 上最大,在该列上最小。 提示: 一个二维数组可能有鞍点也可能没有鞍点,若有鞍点,则只有一 个。 打算两组测试数据: (1) 二维数组有鞍点: 9 80 205 90 -60 210 40 96 1 89 -3 101 (2) 二维数组没有鞍点: 9 80 205 90 -60 210 40 1 89 196 -3 101 7 45 54 156 用 scanf 函数从键盘输入数组各元素的值,检查结果是否正确。如 果已指定了数组的行数和列数,可以在程序中对数组元素赋初值,而 不必用 scanf 函数。请同学们修改程序以实现之。 设计思路: (一) 先找出一行中值最大的元素,然后看它是不是该列中的最小值,由于 一个二维数组最多有一个鞍点,所以假如是则鞍点存在且它就是鞍 点,输出该鞍点;假如不是,则再找下一行的最 大数,以此类推。假如每一行的最大数都不是鞍点,则此数组无鞍点 (二) 在程序中,先令 a最大赋值给 maxi,在 for 循环的比较中,把 符合条件的行的最大值赋给 maxi,将每一次比较后的最大的列数赋 值给 maxj,从而找出 i 行最大的那个。 再假设那个数就是鞍点,将最大数和同列的数值相比,假如 maxj 不 是最小的,则不是鞍点,接着找。 (三)引入一个参数 flag=1,若不存在鞍点则 flag 为 0,若存在鞍 点则 flag 照旧为 1 运行效果截图: 附源程序如下:#include "" #define S 80 #define T 80 void main() int m,n,i,j,t,maxh,maxl,flag,a; printf("请输入二维数组的行数 m 和列数 n:"); scanf("%d %d",&m,&n); printf("请输入二维数组的各个元素:"); for(i=0;ia) t=a;maxh=i;maxl=j; for(i=0;i a=%d",maxh,maxl,a); 题目九 题目描述:某班期终考试科目为高数 MT、英语 EN 和物理 PH,有 30 个人参与考试。为评定奖学金,要求统计并输出一个表格,表格内容 包括学好、各科分属、总分和平均分,并标出 3 门课均在 90 分以上 者(该栏标记输出为 Y,否则为 N) ,表格形式如下: NO MT EN PH SUM V >90 1 2 3 97 87 92 276 92 92 91 90 273 91 90 81 82 253 84 .N Y N #include "" void main() 设计思路:由于是对 30 个学生的数据进行输入与统计,所以建立二 维数组, 依据各位置的条件来定义其内容, 第 8 个数据是字符型数据, 所以另设一数组进行存储,最终在将数据整合输出。 附源程序如下:#include "" void main() int i,j,sum,flag,a; printf("请输入 30 个考生的三科成果:"); for(i=0;i90) flag=1; else flag=0; a=sum; a=sum/3; if(flag=1) a='Y' else a='N' printf("NO MT EN PH SUM V >90 "); for(i=0;i 题目十 题目描述下面是一个 5*5 阶的螺旋方阵,试编程打印出此形式的 n*n (n 设计思路:定义一个 n*n 维数组存放该方阵,m 为该方阵的圈数,一个大循环中嵌套了 四个小循环,每一圈为一个大循环,第一个小循环按依次写出第一行的数,其次个小循环按 依次写出最终一列的数, 第三个小循环按依次写出最终一行的数, 第四个小循环按依次写出 第一列的数,再进行其次次大循环,循环完毕后再进行循环输出数组中的 n*n 个数,该螺旋 方阵就出来了。 附源程序如下: #include "" void main() int i, j, k = 0, m, n,a; printf("请输入方阵行列数 n(n k+; a=k; for (j=i+1;j=i;j-) k+; a =k; for (j=n-i-2;j>=i+1;j-) k+; a=k; for (i=0;i printf("%5d", a); printf(""); 附: 实习总结与心得体会 经过 C 语言实习,让我加深了对 C 语言的了解,而不只是单单 的在课本中学到的那些理论,平常乏味的课程,通过自己动手亲自编 写,变的生动好玩,而在自己动手的过程中,出现的问题许多,比理 论要难的多,当一个程序写完以后,常常会有许多错误而没法解决。 不过,通过几天的实习,渐渐积攒了一些阅历,有些错误可以很快就 看出来。 这次实习有很大的收获,让我对 C 语言有了更深的相识,平常 在课堂上学到的东西可以自己动手编写,将其转化成一些好用的技 能。假如是一个程序写完一处错误也没有,会有种成就感,于是爱好 就来了,爱好来了,自然学的东西也就多了,能把理论变成实际的技 能,让我对 C 语言有了深厚的爱好和更深层的相识。 C 语言是一个有序的学习, 学了最基本的替换, 然后扩展到循环, 嵌套, 条理很清晰, 不是一个零散的学问, 事实上全部的课程都如此, 不过通过实习我也知道了自己的不足,存在的许多问题。比如自己写 的写的小程序出了问题,不会解决了就叫老师帮忙,但是会养成一种 依靠的心理,遇到问题了个想到的是求助而不是自己独立解决,所以 以后要多多熬炼自己的信念和增加自己的实力, 争取做到老师不在身 边的时候也可以完成一些简洁的程序编写与错误解除。 还有自己的基础学问不扎实, 遇到的问题, 没有很好的逻辑思维, 亲自编写一个生疏的程序的时候会有种无法下手的感觉, 找不到突破 口。通过实习,渐渐理清了依次,对于简洁的程序和一些相对比较繁 琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基 础学问驾驭了,然后有条不紊的分析,一步一步理解,C 语言还是很 有意思的课程。 自己亲自动手编写程序让我增加了对 C 语言程序开发环境的了 解,在上课的时候老师就讲,学习 C 语言最重要的是学习 C 语言的 逻辑思维,不管以后从事什么行业,学习 C 语言都对自己的职业很 有帮助,假如是从事编程工程工作的话,就更有帮助了,即使以后的 编程工作可能不用 C 语言,但是拥有扎实的 C 语言基础是对工作很 有用的。 当时在初步接触 C 语言的时候,看着一堆“奇形怪状”的符号, 觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态! 感谢学校支配这次实习和老师的耐性讲解,让我学到了许多知 识,在实习过程中,同学之间的相互探讨,老师的谆谆教导,最终让 我们达到了举一反三的效果,在学学问的同时,也增加了同学老师之 间的感情。希望以后还会有更多类似的实习课程,在有限的高校时间 内学到更多的好用技能,为以后的生活和工作打下一个良好的基础。 C+课程设计 c+课程设计总结 C+课程设计试验报告 C+课程设计实训报告 C+课程设计报告矩阵乘法计算 c 课程设计实践报告 C+课程设计(教务管理系统) C+画图软件课程设计试验报告 C语言课程设计实践报告 C+课程设计电话簿管理 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第15页 共15页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页第 15 页 共 15 页

    注意事项

    本文(c课程设计实践报告.docx)为本站会员(l***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开