03实验三 顺序结构程序设计_答案
实验三 选择结构程序设计答案

实验三 选择结构程序设计1. 求分段函数的值。
2226,035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其它 用if 语句实现,分别输出 5.0, 3.0,1.0,2.0,2.5,3.0,5.0x =--时的y 值。
x=input('x=?'); if x<0&x~=-3 y=x^2+x-6;elseif x>=0&x<5&x~=2&x~=3 y=x^2-5*x+6; elsey=x^2-x-1; end y2. 输入一个百分制成绩,要求输出成等级A 、B 、C 、D 、E 。
其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)分别用if 语句和switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
x=input('x=?'); if x>100|x<0disp('Error input'); break;endif x>=90&x<=100disp('A')elseif x>=80&x<=89 disp('B')elseif x>=70&x<=79 disp('C')elseif x>=60&x<=69 disp('D')elsedisp('E')endx=input('x=?');if x>100|x<0disp('Error input');break;endswitch fix(x/10)case {9,10}disp('A')case {8}disp('B')case {7}disp('C')case {6}disp('D')otherwisedisp('E') end3. 硅谷公司员工的工资计算方法如下:(1)工作时间超过120小时者,超过部分加发15%。
C语言程序设计练习指导书实验答案

(2)以下程序输入圆的半径,求圆面积。请将程序中的5处语法错误和逻辑错误改正。
#include "stdio.h"
void main()
{ int r;
float s;
printf("Enter r:");
scanf("%d", &r);
s=3.14159*r*r;
}
}
(2)已知鸡兔共有30只,脚共有90个,下面程序的功能计算并输出鸡兔各有多少只,请改正程序中的错误。
#include "stdio.h"
void main()
{ int x,y;
for(x=1;x<=30;x++)
{ y=30-x ;
if(2*x+4*y==90)printf("%d,%d\n",x,y) ;
0 x<0
y= x 0<=x<10
10 10<=x<20
-0.5x+20 20<=x<40
#include "stdio.h"
void main()
{ int a=1,b=2,c=3;
float d=4,e;
e=a/((b+c)*d);
printf("%f\n",e);
}
3.2 顺序结构程序设计
1、改错题
(1)以下程序计算并输出长方形面积和体积,请改正程序中的错误。
printf("s=%f\n",s);
}
2、填空题
实验3 顺序结构程序设计(参考答案)

实验三顺序结构程序设计(参考答案)[实验任务一]:程序分析实例3-1:assignment.c参考答案程序分析实例3-2:参考答案程序分析实例3-3:参考答案问题1:scan0.c参考答案#include <stdio.h>void main(){char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}程序运行时输入数据的格式为:12 34↙问题2:scan1.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c%c%d", &a, &b, &c);printf("%-2c%-2c%d\n", a, b, c);}问题3:scan2.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c,%c,%d", &a, &b, &c);printf("%c,%c,%d\n", a, b, c);}问题4:scan3.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c,%c,%d", &a, &b, &c);printf("\'%c\',\'%c\',%d\n", a, b, c);}问题5:scan4.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c%*c%c%*c%d", &a, &b, &c);printf("\'%c\',\'%c\',%d\n", a, b, c);}程序改错实例3-1:correct1.c参考答案程序改错实例3-2:correct2.c参考答案程序改错实例3-3:sin.c参考答案程序改错实例3-3:macro.c参考答案[实验任务四]:编程练习3-1:area.c参考答案编程练习3-2:change.c参考答案编程练习3-3:swap.c参考答案编程练习3-4:interchange.c参考答案编程练习3-5:print.c参考答案。
C语言实验报告 实验三 参考答案

实验三循环结构程序设计(参考答案)1、设计程序sy3-1.c,计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。
例如输入n 的值为20时,输出0.583333。
算法分析:穷举1~n(含n)之间的每一个整数,能否被5或者9整除。
如果能,则把它的倒数累加到累加器里去。
因为能被5整除的自然数,应该至少从5才可能,所以循环控制变量i可以5开始。
参考答案:#include<stdio.h>void main(){int n,i;double s=0; //累加器要赋初值为0,结果为小数,所以定义为实数类型printf("请输入n的值:");scanf("%d",&n);for(i=5;i<=n;i++) //穷举小于等于n的自然数if(i%5==0||i%9==0)s=s+1.0/i;// 因为i是整数类型,所以1/i的值为0printf("s=%f\n",s);}运行结果:2、设计程序sy3-2.c,计算并输出给定整数n的所有因子(不包括1与自身)之和。
例如,输入n的值是856时,应输出763。
算法分析:因子,就是能整除n的值。
所以从2到n-1穷举每个数是不是它的因子,是就累加到s中。
参考答案:#include<stdio.h>void main(){int s=0,n,i;printf("请输入n:");scanf("%d",&n);for(i=2;i<n;i++) //穷举所有可能为因子的整数if(n%i==0) //因子即是能整除n的数s=s+i;printf("%d的所有因子之和是:%d\n",n,s);}运行结果:3、设计程序sy3-3.c,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。
顺序结构程序设计_答案

• import java.util.Scanner; • public class NewChar{ • public static void main(String[]args){ • Scanner input=new Scanner(System.in); • System.out.println("请输入一个字母:"); • char num1=input.next().charAt(0); • if(num1>=97){ • System.out.println("输入的字母为小写字母:"+num1); • char num2=(char)(num1-32); • System.out.println("其对应的大写字母:"+num2); • }else{ • System.out.println("输入的字母为大写字母:"+num1); • char num2=(char)(num1+32); • System.out.println("其对应的小写字母:"+num2); • } • } • }
顺序结构程序设计
Nick Sun 2016年08月24日
1、已知三角形的底边为20,高为10,求其面积。
• public class Task1{ • public static void main(String[]args){ • double l=20,h=10; • double area=h*l*0.5; • System.out.println("三角形的面积="+area); • } • }
实验三顺序图参考答案

顺序图、协作图设计实验三【实验目的】1.理解顺序图和协作图的概念及作用;掌握顺序图与协作图的基本图形,了解它们各自的组2.成元素、特定作用和适用场合;3.重点掌握顺序图的画法及其中元素所代表的意义。
【实验性质】设计性实验。
【实验要求】1.学习根据指定的用例描述绘制顺序图和协作图的方法;2.学习使用绘制顺序图和协作图;掌握顺序图和协作图的相互转换方法。
3 .【实验内容】以网上选课系统中的 (选课)用例为例,设计和实现顺序图、协作图。
、【实验步骤】1.假设学生已经成功登录系统,分析选课的事件流。
a)学生进入选课主界面b)学生点击选课c)系统显示所有课程信息d)学生选择课程e)系统验证课程是否可选A1:课程不可选f ) 系统提示课程选择成功,提示学生交费g) 用例结束。
A1:课程不可选a)系统提示课程不可选以及原因b)学生重新选课c)重新验证直至成功d)转选课事件流第 f )步。
顺序图描述的是对象与对象的交互,创建顺序图的步骤如下: 1 ) 寻找对象。
2)寻找角色。
3)将消息加进图中。
首先,查找 (选课)用例的对象,从事件流冲发现涉及一下对象:1 ) 界面。
2)课程于业务层的操作,也应该有对象进行处理。
对 ) 3.4)事件流中涉及的角色有:学生、数据库。
2.分析对象、角色之间交互的消息。
本用例主要有以下交互:1 )学生通过界面发送选课命令。
2)界面向控制对象请求课程信息。
3)控制对象向数据库发送查询数据消息4)控制对象暂存数据库的查询结果5)界面对象从控制对象中取得所有的课程信息6)在界面上显示所有的课程信息7)界面对象发送命令要求控制对象删除课程信息8)学生选择课程9)界面对象要求学生输入学号10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程11)控制对象从数据库查询关联信息。
12)控制对象判断是否可以选课13)如果可以选课,则向数据库中添加关联信息。
14)向界面对象返回信息。
3.根据以上分析,绘制出用例的顺序图,并转换成对应的协作图。
实验三顺序结构程序设置

Label5和Label6 Caption + 和 -
直线 Line1和Line2 Borderstyle 1-solid 实线
按钮
Command1 Caption 出题
Command2 Caption +
Command3 Caption -
(2)添加5个标签:鼠标单击工具箱中的标签控件 ,并在窗体上画出一个标签,如此连续5次,名称分别设置为Label1~Label5,适当调整它们的大小和位置。
(3)设置属性:按表3-2设置各对象的属性。
表3-2属性设置
对象类型 对象名称 属性 属性值 备 注
窗体 Form1 Caption 计算书价程序 窗体标题栏上显示的内容
3-3 设计一个出题程序:
要求:(1) 程序界面如图3-3所示。
(2) 先输入两个数,指定产生操作数的范围,比如输入数a,b后,单击“出题”钮,产生任意两个[a,b]之间的随机整数,单击“计算”钮,计算结果,但用户不能修改计算结果。
(3) 单击“清空“按钮后,文本框中的内容被清除,焦点定位在文本框中。
(6)运行程序:打开菜单“运行/启动”命令;或按F5键;或单击工具栏上的“启动”按钮 ,结果如图3-1(b)所示。
注意:(a) 大到工程、窗体,小到按钮、标签等,若对其进行命名(设置Name的值),建议采取顾名思义的原则。
(b) 注意窗体布局设计的整体效果。
参考:
3-2 设计一个计算图书总价的应用程序
BorderStyle 0 标签无边框
按钮 Command1 Caption 计算(&C) 按钮上显示的文字
Font 宋体、常规、四号
实验三、VB 顺序结构程序设计

实验三、顺序结构程序设计【实验目的】1、了解顺序结构的结构特点2、掌握顺序结构程序设计方法3、掌握基本的输入、输出语句的使用【实验内容】MsgBox语句格式:MsgBox msg[,type][,title][,helpfile,context]InputBox函数格式:InputBox[$](prompt[,title][,default][,xpos,ypos][,helpfile,context])1. 编写程序,将摄氏温度转换为华氏温度。
两者间的关系是:F=32+ 1.8C其中 F 是华氏温度,C 是摄氏温度(用INPUTBOX 函数输入摄氏温度,用MSGBOX 语句输出华氏温度)。
2. 小王有存款A 元(用textbox 输入),年利率P (用textbox 输入),存储时间为T 年(用INPUTBOX 函数输入)。
试编程求本利合计(提示:最后的总金额S=A*(1+P)^T)【上机参考练习题】1.(基本设计题)Print方法练习:编写打印下面图案的程序提示:1、若用户在Form_load() 事件中编写显示图形的过程,必须将form窗体的Autoredraw属性修改为True,否则没有办法显示。
2、★只需要切换到中文输入状态,然后鼠标指向软键盘按右键选择“特殊字符”,就可以输入★,Tab(n) 的功能是在指定的位置显示输出信息。
Spc(n)的功能是在Print的输出中跳过N个空格。
2.(基本设计题)用Textbox 控件输入半径,计算圆的周长和面积。
进一步要求,为了保证程序的运行正确,对输入的半径的要进行合法性检查,若发现有非法的数据输入,利用msgbox 显示出错信息。
提示:主要是MsgBox 函数的应用,它用于向用户发布提示信息,要求用户做出必要的反应。
其格式: MsgBox(msg[,type][,title][,helpfile,context])3.(基本设计题)用inputbox 输入三角形三条边的长度a,b,c ,计算并显示出三角形的面积。
实验3 顺序结构程序设计(含答案)

实验3 顺序结构程序设计一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、熟悉赋值、整数相处、取余运算符的使用,能根据需要构建相应的表达式;3、通过样例加深对printf()常用格式控制符功能的理解,掌握printf()函数的使用;4、掌握scanf()函数的使用,能正确输入数据;5、掌握顺序结构程序设计的方法。
二、实验内容1、(基础题)运行下列程序,体会printf()中“格式控制符”的用法,并回答相关问题:#include<stdio.h>int main(){int k=1234;double f=12345.0123456789;printf("%8d\n",k);printf("%08d\n",k);printf("%15.4f\n",f);printf("%e\n",f);printf("%.4e\n",f);return0;}问题:已知int k=2569;double f=12345.0123456789;根据上面的代码,在原有printf 语句的基础上修改数据输出格式,使得程序运行结果如下图所示。
程序代码:#include <stdio.h>int main( ){int k=2569;double f=12345.0123456789;printf ("%6d\n",k);printf ("%06d\n",k);printf ("%.4f\n",f);printf ("%.2f\n",f);printf ("%.4e\n",f);printf ("%.2e\n",f);return 0;}2、(基础题)改错题:以下程序有多处错误,若按下列截图所示格式输入、输出数据,请在程序的相应位置上改正错误。
实验3顺序结构程序设计(含解析)

实验三数据类型和顺序结构程序设计(4学时)[实验任务一]:通过调试、分析程序运行结果,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;掌握各种运算符尤其是复合赋值运算符和除法及求余运算符。
程序分析实例3-1:输入、运行下面的程序,并分析、验证运行结果。
并以文件名assignment.c最终保存在实验3文件夹里:(需要存盘)【分析】程序运行结果为:在此基础上,做以下改动:(1)将程序第9~14行改为:a=61; b=62;c1=a; c2=b;f=3157.890121; g=0.123456789;d=f; e=g;p=a=m=50000; q=b=n=-60000;运行程序,分析结果。
【分析】修改后程序运行结果为:(2)在(1)的基础上将printf语句改为:printf("a=%d,b=%d,c1=%c,c2=%c,d=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);printf("f=%f,g=%f,m=%d\n",f,g,m);printf("n=%d\n”,n);printf(“p=%d,q=%d\n",p,q);运行程序。
(3)将p, q改用%o格式符输出。
注意是字母o而不是数字0。
(4)改用scanf函数输入数据而不用赋值语句,scanf函数如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据入下:61, 62, a, b, 3.56,-6.87, 3,157.890121, 0.123456789, 50000,-60000, 40000(说明:lf,ld格式符分别用于输入double型和long型数据)分析运行结果。
顺序结构、选择结构和循环结构的程序设计典型例题分析与解答

顺序结构、选择结构和循环结构的程序设计典型例题分析与解答1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。
【答案】多分支2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。
次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。
只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。
【答案】直到型3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。
【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。
系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。
【答案】#include"stdio.h"或#include<stdio.h>4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( )①'A'/②A/③x=A/ ④x=A,y=12/12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符,在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。
实验三 顺序结构程序设计实验

实验三顺序结构程序设计实验一、实验目的1.掌握顺序结构程序的基本设计方法;2.掌握数据传送指令和算术运算指令的用法;3.掌握逻辑操作指令和移位操作指令的用法;4.掌握状态标志位操作指令的用法;5.掌握简单的I/O功能调用。
二、实验要求1.熟练掌握DEBUG中的各命令的使用方法;2.学会利用系统功能调用,来实现键盘输入字符、显示字符的方法;3.学会十进制数字与其对应的ASCII码相互转换的方法;4.学会十六进制数字与其对应的ASCII码相互转换的方法;5.学会利用查表的方法实现代码的转换。
三、实验举例【例3.3】 编写程序,完成两个十六进制数的加法运算,要求:从键盘输入被加数和加数,将计算结果保存在RAL内存单元的同时在屏幕上显示。
【解题思路】利用INT 21H的1号功能从键盘上输入一个被加数和加数,将两个数之和的ASCII保存在内存单元和DL寄存器中,然后利用INT 21H的2号功能将其输出到屏幕上。
【步骤一】启动EDIT编辑器,编辑源程序。
程序清单如下:DSEG SEGMENTRAL DB ?DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXMOV AH,01H ;输入第一个数INT 21HSUB ` AL,30HMOV BL,ALMOV DL,‘+’ ;显示“+”号MOV AH,02HINT 21HMOV AH,01H ;输入第二个数INT 21HSUB AL,30HADD BL,ALMOV RAL,BL ;结果存入RAL单元CMP BL,09HJB AD30ADD BL,07HAD30: ADD BL,30HMOV DL,‘=’ ;显示“=”号MOV AH,02HINT 21HMOV DL,BL ;显示结果MOV AH,02HINT 21HMOV AH,4CHINT 21HCSEG ENDSEND START源程序输入完毕,以EXAM3.ASM为文件名存入磁盘,进行下一步操作。
c程序设计教程与实验课后答案

c程序设计教程与实验课后答案【篇一:c程序设计教程与实验第10章习题参考答案】题1.二进制文本2.rewind()3.字节流式4.”abc.dat” “rb”5.06.将文件位置指针从文本末尾处向文件头的方向移动10个字节7.将文件file1.txt的内容输出到屏幕8.将f1的字符保存到f2中9.rfetc(fp)num++10.fopen(“file.dat”,”wb”)dt,1,9,fp三、程序分析题1. 242.复制f1到f23.1.14.1177995. 65a 66b 67c 68d 69e 70f 71g 72h 75k 76l 77m 78n 79o 80p 81q 82r 85u 86v 87w 88x 89y 90z四、编程题1.#includestdio.h#includestdlib.hint main(){char file[10],file1[10],ch;file *in,*out;scanf(%s,file);scanf(%s,file1);if((in=fopen(file,r))==null){printf(cant open file\n);exit(0);}if((out=fopen(file1,w))==null) 73i 74j 83s 84t {printf(cant open file1\n);exit(0);}while(!feof(in)){ch=fgetc(in);fputc(ch,out);putchar(ch);}fclose(in);fclose(out);return 0;}2.#include stdio.h#includestring.h#include errno.hint main(void){file *fp;char ch;if (null == (fp = fopen(g3, r))){printf(fopen g3 error: %s\n, strerror(errno)); return 0;}while ((ch = fgetc(fp))!=eof){printf(%c, ch); }fclose(fp);printf(\n);return 0;}3.#includestdio.hvoid main(){file *fp; /*定义一个文件指针*/int i;double a[10];if((fp=fopen(data.txt,wb+))==null){printf(file can not open,press any key to exit!\n); getch(); /*从键盘上任意输入一字符,结束程序*/exit(1);}for(i=0;i10;i++)scanf(%lf,a[i]);for(i=0;i10;i++)fwrite(a+i,sizeof(double),1,fp);printf(\n);rewind(fp);fread(a,sizeof(double),10,fp);for(i=0;i10;i++)printf(%f\n,a[i]);printf(\n);fclose(fp);}4.#includestdio.hvoid main(){file *fp;int a[80],i,j;int a,b,c;a=b=c=0;if(fp=fopen(g4.dat,r))==null)printf(读取失败\n);for(i=0;i80;i++){fscanf(fp,%d,a[i]);if(fp==eof)break;}for(j=0;j=i;j++){if(a[i]0) a++;if(a[i]0) b++;if(a[i]==0) c++;}printf(正=%d,负=%d,零=%d\n,a,b,c);5.#includestdio.hstruct student{char num[10];char name[8];int score[2];float ave;} stu[3];void main(){int i,j,sum;file *fp;for(i=0;i3;i++){printf(\ninput score of student %d:\n,i+1);printf(no.:);scanf(%s,stu[i].num);printf(name:);scanf(%s,stu[i].name);sum=0;for(j=0;j2;j++){printf(score %d:,j+1);scanf(%d,stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/2.0;}fp=fopen(stud,w);for(i=0;i3;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1) printf(file write error\n);fclose(fp);fp=fopen(stud,r);for(i=0;i3;i++){fread(stu[i],sizeof(struct student),1,fp);printf(\n%s,%s,%d,%d,%d,%6.2f\n,stu[i].num,stu[i].name,stu[i]. score[0], stu[i].score[1],stu[i].score[2],stu[i].ave);}}【篇二:c语言程序设计实训教程习题和实验解答】ss=txt>2.1 c语言概述【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。
C语言习题:顺序 选择 循环

2.3.2 经典例题分析
1.下列程序运行后输出的结果是
。
#include <stdio.h> void main() {
int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息:
2.下列程序运行后输出的结果是
。
#include <stdio.h> void main()
{
int a=732;
printf(“%d\n”,a);
printf(“%2d\n”,a);
printf(“%10d\n”,a);
printf(“%-10d\n”,a);
}
分析:d 格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,
于 10 列,所以左端补 7 个空格。printf(“%-10d\n”,a); 结果占 10 列,“-”表示把数值放到左端,
732 占 3 列小于 10 列,所以右端补 7 个空格。
答案: 732
732 □□□□□□□732
/*□表示空格*/
732□□□□□□□
3.已知 char a=‘\103’;则语句 printf(“%3d”,a);执行后的输出结果为(□表示空格)
3.345670e+03 3345.67 3345.7 □□3345.670 /*(□表示空格)*/ 3345.670□□
5.下列程序运行后结果是
。
#include <stdio.h>
void main()
{
char x=0x227f;
实验三 参考答案

实验三参考答案实验三参考答案实验三循环结构程序设计(参考答案)1、设计程序sy3-1.c,建议列印小学九九乘法表中。
算法分析:根据九九乘法表可知,该表共有9行,第i行有i个表达式,而且表达式中的操作数和行、列数相关,因此可以用嵌套的双重循环来实现,外循环控制行数(循环变量从1到9),内循环控制每行的表达式个数(循环变量从1变到i)。
参考答案:#includevoidmain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf(\printf(\}}运行结果:2、设计程序sy3-2.c,建议编程排序x,其中x和n均由键盘输入2。
算法分析:要计算x的n次方,即是n次x相乘,其中x可以是整型或实型,而n必须是整型;另外要考虑结果的类型,若x和n比较大,一般的int型容易产生溢出。
参考答案:#includevoidmain(){inti,n;floatx,p=1;/*累乘器要赋初值1*/printf(\scanf(\/*以逗号隔开输出的未知数据x和n的值*/for(i=1;i<=n;i++)p=p*x;printf(\}n运转结果:3、设计程序sy3-3.c,已知祖父年龄70岁,长孙20岁,次孙15岁,幼孙5岁,问要过多少年,三个孙子的年龄之和同祖父的年龄相等,试用单重循环结构编程实现。
算法分析:这个程序可以用穷举法去同时实现,1年、2年、3年……,每提一年都推论三个孙子的年龄之和与否同祖父的年龄成正比,若成正比则不作了,这个时候孔布龙的年数为我们须要的结果。
参考答案:#includevoidmain(){inti,a,b,c,d;a=20;b=15;c=5;d=70;i=1;while(a+i+b+i+c+i!=d+i)i++;printf(\}运转结果:4、设计程序sy3-4.c,有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。
实验3 顺序结构程序设计

实验3 顺序结构程序设计一、实验目的:1、熟悉赋值、整数相处、取余运算符的使用,能根据需要构建相应的表达式;2、通过样例加深对printf()常用格式控制符功能的理解,掌握printf()函数的使用;3、掌握scanf()函数的使用,能正确输入数据;4、掌握顺序结构程序设计的方法,掌握两变量交换数据的方法。
二、实验内容1、(基础题)运行下列程序,体会printf()中“格式控制符”的用法,并回答相关问题:#include<stdio.h>int main( ){int k=1234;double f=12345.0123456789;printf ("%d\n",k);printf ("%f\n",k);printf ("%15.4f\n",f);printf ("%e\n",f);printf ("%15e\n",f);printf ("%15.4e\n",f);return 0;}问题:已知int k=2569;double f=12345.0123456789;根据上面的代码,在原有printf语句的基础上修改数据输出格式,使得程序运行结果如下图所示。
2、(基础题)分析、运行下列程序,要让各变量得到对应的值:a=3, b=7, x=8.5,y=71.82, c1=’A’, c2=’a’。
问键盘上该如何输入?(说明:若是数值型数据,遇空格、回车、tab键或非法字符时结束)#include<stdio.h>int main( ){int a, b;float x, y;char c1,c2;scanf("a=%d,b=%d",&a,&b);scanf("%f%f",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d, b=%d\n",a,b);printf("x=%f, y=%f\n",x,y);printf("c1=%c,c2=%c\n\n",c1,c2);return 0;}3、(基础题)改错题:以下程序有多处错误,若按下列截图所示格式输入、输出数据,请在程序的相应位置上改正错误。
第3章顺序结构程序设计练习题及答案

第3章顺序一、单选题:1.己知int k,m=1;执行语句k=-m++;后k的值是( A)。
(提示:负号与自加运算符同级,结合方向从右向左)A)-1 B) 0 C)1 D)22.若变量a, b已正确定义,且a,b均已正确赋值,下列选项中合法的语句是( B)A) a=b B)++a; C) a+=b++=1; D)a=int(b); (提示:a=b 只是表达式非语句; b++是个表达式)3.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。
A)5 B)20 C)40 D)无答案4.若有定义和语句:int s,p;s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C)A)9 B)8 C)7 D)65.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C)。
A) 12 B)11 C)10 D)无答案6.若有定义:float a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。
A)6.0 B)6 C)0.0 D)无答案7.以下程序段的输出结果是( C )。
(提示:a当约束过严时,约束失效。
按自由格式输出。
)int a=1234;printf("%2d\n",a);A)12 B)34 C)1234 D)提示出错,无结果8.下列程序段的输出结果是(C)。
int a=1234;float b=123.456;double c=12345.54321;printf("%2d,%3.2f,%4.1f",a,b,c);A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.59.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。
实验3 顺序结构程序设计

实验3 顺序结构程序设计一、实验目的1.掌握scanf()、printf()以及其他常用输入、输出函数的使用。
2.掌握格式控制符的使用。
3.掌握顺序结构程序设计的方法。
二、实验内容1.改错题(1)下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。
公式为:C=5(F?32),9输出取2位小数。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy3_1.c 保存。
#include#include main()main() {{ float c,f;floatc,f; printf(\请输入一个华氏温度:\\n\;printf(\请输入一个华氏温度:\\n\scanf(\,f);scanf(\c=(5/9)*(f-32);c=(5.0/9)*(f-32); printf(\摄氏温度为:%5.2f\\n\;printf(\摄氏温度为:%5.2f\\n\} (2)下列程序的功能为:按下列公式计算并输出x的值。
其中a和b的值由键盘输入。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy3_2.c保存。
x?2ab 2(a?b)#include #includemain() main(){ inta,b; {inta,b;float x; float x;scanf(\scanf(\x=2.0*a*b/((a+b)*(a+b)); x=2ab/(a+b)(a+b);printf(\ printf(\} }(3)下列程序的功能为:从键盘输入一个小写字母,要求改用大写字母输出。
请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_3.c保存。
#include main() {char c1,c2;c1=getchar; c1=getchar();/* 从键盘输入一个小写字母 */printf(\ /* 输出该小写字母及其ASCII码值 */ c2=c1+26; c2=c1-32;/* 转换为大写字母 */printf(\ /* 输出大写字母及其ASCII码值 */ }2.程序填空题(1)下列程序的功能为:按给定格式输入数据,按要求格式输出结果。
实验三顺序结构程序设计及运算符(答案)

实验三顺序结构程序设计及运算符(答案)实验三顺序结构程序设计及运算符【实验⽬的】:1.掌握C语⾔中使⽤的⼀种语句----赋值语句的使⽤;2.掌握C语⾔中数据的输⼊/输出⽅法,常⽤输⼊(getchar、getch、scanf)/输出函数(putchare、printf)的使⽤;3.掌握顺序结构程序设计⽅法【实验时数】:2学时【实验内容】:⼀、新建⽂件夹⾸先在各⾃计算机K盘的对应⽂件夹中新建⼀个⽂件夹,⽂件夹的名字为“班级+学号的后两位+姓名”,如⾷品1081班、学号后两位是02的、姓名为“张三”的同学,则其对应的⽂件夹名字是:⾷品108102张三(注意中间不要加任何空格)。
然后在刚才建好的⽂件夹⾥⾯再建⽴⼀个⽂件夹,⽂件夹为“第4次”。
以下实验内容的运⾏结果需保存在所建的“第4次”⽂件夹内,并按题⽬的要求完成。
希望同学们在做以下实验之前,先认真分析程序的运⾏结果,后再上机验证。
⼆、实验内容:[程序⼀]:运⾏以下程序,通过键盘输⼊1234后按回车,分析程序的运⾏结果。
#include "stdio.h"void main( ){char c1,c2;c1= getchar();c2= getchar();putchar(c1);putchar('\n');putchar(c2);printf("\n%c %c",c1,c2);}[程序⼆]:输⼊三⾓形的边长,求⾯积area。
要求:三⾓形的边长a、b、c要求通过键盘输⼊,要求有相应的提⽰信息。
原程序以“area.c”保存在“第4次”⽂件夹内。
提⽰:这是⼀个海伦公式,同学们根据这个公式编程⽰三⾓形的⾯积。
其中我们⽤到了⼀个新的函数:求平⽅根函数(sqrt())这⾥要求在程序的开头⽤⼀个包含头⽂件 include “math.h”#include "math.h"void main(){float a,b,c,s,area; /*a、b、c为三⾓形的三边,area为⾯积*/printf("input a、b、c:");scanf("%f%f%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三⾓形⾯积area=%f",area);}[程序三]:设园半径r=1.5,园柱⾼h=3,求园周长、园⾯积、球表⾯积、球体积、园柱体积。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北工业大学实验报告
课程名称:C语言程序设计实验内容实验三顺序结构程序设计
学院:工程技术学院专业班级:
姓名:学号:教师:成绩:
一、实验目的
1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。
2、掌握输入、输出函数的格式及格式符的使用。
掌握文件包含预处理命令的使用方法。
3、掌握数据的输入、存储、输出之间的关系。
4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。
二、预习作业
1、程序填空题:试在括号中填入正确的答案,并上机验证程序的正确性。
(1) 输入大写字符A,则输出为( )。
(文件名:ex3_1.c)
(#include <stdio.h>)
main( )
{
( char ch,chr; )
chr=(ch= getchar( ))<‟Z‟+1 ? ch+32 : ch - 32;
putchar(ch+2);
printf(“%d,%c\n”,ch,chr);
}
(2) 已知变量a = 80000,b = 60000,输出二数据之和c与二数之差d。
(文件名:ex3_2.c)
#include <stdio.h>
main( )
{ ( long int) a =80000 , b = 60000, c, d;
( c) = ( a - b ,a + b );
( d) = (a + b,a - b);
printf(“%ld ,%ld\n”, c, d);
}
2、程序改错并上机调试运行
(1)更改下列程序中的位运算符和逻辑运算符,能使变量d、e输出的结果为零。
(文件名:ex3_3.c)
#include <stdio.h>
main( )
{ int a = 8, b = 2,c = 3,d,e;
/********** found **********/
d = (a % c & ^ a % c);
e = a / c - b || && c + + ;
printf (“%d, %d\n”, d, e);
}
(2) 查找改程序中的错误,并修改正确。
(文件名:ex3_4.c)
#include <stdio.h>
main( )
{ int a = 4, b = 6, c= 3;
/********** found **********/
a = a +
b = b +
c ;
b = a < b ?a :b <
c ?b :c
printf(“%d,%d\n”, a, b);
}
3、读程序写结果并上机验证其正确性
(1) 变量 a,b,c,d如下,将变量a以各种格式输出并输出表达式c+a,d – 32的值。
(文件名:ex3_5.c)
#include <stdio.h>
main( ) 结果为:(-1,4294967295,37777777777,ffffffff )
{ int a = - 1 , b = 2 ; C,B
char c = …D‟,d = …b‟;
b = b + c;//???
printf (“%d, %u,%o,%x \n ”,a,a,a,a );
printf (“%c,%c \n ”,c + a, d - 32);
}
(2) 运行程序后输入”a空格b空格c回车”后,输出结果是(a ,b )。
(文件
名:ex3_6.c)
#include <stdio.h>
main( )
{ int ch1,ch2,ch3;
ch1=getchar( ); ch2=getchar( ) ;ch3=getchar( );
putchar(ch1);
printf(“%c,%c \n”,ch2,ch3 ) );
}
4、编程题
(1) 给变量abc输入一个3位数,请编程分离出这个数的百位、十位、个位,分
别赋给变量a、b、c,输出a,b,c的值。
(文件名:ex3_7.c)---分离百、十、个位#include <stdio.h>
void main()
{
int num;
int c,b,a; /*分别代表个位,十位,百位*/
printf("请输入一个三位整数(100-999):");
scanf("%d",&num);
//if (num>999|| num<100)
//{printf("输入错误!按任意键退出程序。
");
// getch(); exit();
//}
printf("每位数字为:");
a =num/100;
b=(num-a*100)/10;
c=num%10;
printf("百位=% d,十位= %d,个位=%d\n",a,b,c);
}
(2) 输入一个年份,试编程分析是否是闰年。
(文件名:ex3_8.c)
#include <stdio.h> //
void main()
{
int year, leap;
printf("please enter a year:");
scanf("%d",&year);
if (year%4==0) //( ( year%4==0 && year%100!=0) || (year%400==0))
{if (year%100==0)
{if (year%400==0)
leap=1;
else leap=0;}
else
leap=1;}
else
leap=0;
if (leap)
printf("%d is ",year);
else
printf("%d is not ",year);
printf("a leap year.\n");
}
三、调试过程:(要求:1、分别调试验证预习作业的正确性。
2、详细记录调试过程,记录下出现的错误,提示信息。
3、记录解决错误的方法,目前还没有解决的问题。
4、记录每个程序的运行结果,思索一下是否有其他的解题方法。
)
四、分析与总结
1、分析实验结果,判断结果的合理性及产生的原因。
2、总结实验所验证的知识点。
3、写出实验后的学习体会。