武汉理工大学c语言实验及答案_第1页
武汉理工大学c语言实验及答案_第2页
武汉理工大学c语言实验及答案_第3页
武汉理工大学c语言实验及答案_第4页
武汉理工大学c语言实验及答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实验二 选择结构的程序设计1编程计算下面的分段函数。 4x-8 -1x0 y= 3x2+10x-1 0x1 8x3-3x2+2x-1 1x2 (1)事先编好程序和流程图。要求用if语句结构实现,注意数据类型和输入提示语句。#include <stdio.h>main ( ) float x,y; printf ("input x:n"); scanf ("%f",&x); if (x>=-1&&x<2) if (x>=-1&&x<0) y=4*x-8;

2、else if (x>=0&&x<1) y=3*x*x+10*x-1; else y=8*x*x*x-3*x*x+2*x-1; printf("y=%10.2f",y); else printf ("DATA ERROR!");(2)将程序运行六遍,分别从键盘上输入-1,-0.5,0,0.5,1,1.5这六个数,记录下运行结果并核对结果的正确性。键盘的输入分析结果运行结果调试说明键盘输入-1键盘输入-0.5键盘输入0键盘输入0.5键盘输入1键盘输入1.5(3)再将程序运行二遍,分别从键盘上输入-3.5和2二个数,记录下运行结果

3、并核对结果的正确性。键盘的输入观察到的运行结果程序的错误之处和调试说明键盘输入-3.5键盘输入 2修改程序,使之能正确处理任何数据。当输入数据大于等于2或小于-1时,通知用户“Data Error”,程序结束。键盘的输入运行结果程序的错误之处和调试说明键盘输入-1.5键盘输入-1键盘输入0键盘输入1键盘输入2键盘输入2.54水果店有苹果,一级5.50元/kg,二级4.20元/kg,三级3.00元 /kg,四级2.50/kg,输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾客的钱数。(1)事先编好程序,分别用if语句和用switch语句结构实现,要求程序能正确处理

4、任何数据。当输入苹果的等级、数量以及顾客的付款数不合要求时,通知用户“Data Error”,程序结束。注意苹果等级、数量以及顾客付款数数据的类型和输入数据的提示语句。(2)将程序运行六遍,分别从键盘上输入六组数,记录运行步骤、过程和结果,并核对结果的正确性。键盘的输入预期结果运行结果调试说明输入1,3.5,20输入2,2.0,10输入3,3.5,11输入4,2.5,6.25输入5,3,7输入2,3.5,-10#include <stdio.h>main( ) float weight,money,paid; int rank; printf ("input rank,

5、weight, money: n"); scanf ("%d", &rank); printf ("input weight:n"); scanf ("%f",&weight); printf ("input money:n"); scanf ("%f",&money); switch (rank) case 1: paid=5.5*weight; break; case 2: paid=4.2*weight; break; case 3: paid=3.0*w

6、eight; break; case 4: paid=2.5*weight; break; default: paid=0; if (weight<=0|money<=0|paid<=0|(money-paid)<0) printf("DATA ERROR!"); else printf ("the rank is %d!", rank); printf ("the weight is %10.1f!", weight); printf ("paid %10.2f yuan", paid);

7、 printf ("the change is %10.2f yuan", money-paid); 实验三 循环结构的程序设计1编程序计算1!+2!+3!+4!+5!(1) 分别用单层循环和双层循环编写此程序,作出流程图。单层循环#include <stdio.h>main() int sum=0,p=1; int n,i; printf("please input n:n"); scanf("%d",&n); printf("n is %dn",n); for(i=1;i<=n;i+)

8、 p=p*i; sum = sum + p; printf("The result is %d:n",sum);双层循环:#include <stdio.h>main() int sum=0,p; int n,i,j; printf("please input n:n"); scanf("%d",&n); printf("n is %dn",n); for(i=1;i<=n;i+) for(j=1,p=1;j<=i;j+) p=p*j; sum = sum + p; printf(&

9、quot;The result is %d:n",sum);(2) 分析两种编程的差别。单层循环效率更高,计算量小。(3) 若计算,运行程序观察程序结果是否正确,若有错误如何修改。不正确,数据越界,将int sum=0,p=1;改为long sum=0,p=1;printf("The result is %d:n",sum);改为printf("The result is %ld:n",sum);(4) 若计算,运行程序观察程序结果是否正确,若有错误如何修改。不正确,数据越界,将int sum=0,p=1;改为unsigned long sum

10、=0,p=1;printf("The result is %d:n",sum);改为printf("The result is %ld:n",sum);2编写程序并上机调试 电视大奖赛有20名评委给选手评分。评分规则是:去掉1个最高分,去掉1个最低分,其余18名评委的平均分选手的得分。设计评分程序。#include <stdio.h>#define NUM 20main() int smin=0,smax=0,score; float sum=0; printf("please input player's score:n"); scanf("%d",&score); smax=smin=score; for(i=1;i<NUM;i+) scanf("%d",&score);

温馨提示

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

评论

0/150

提交评论