实验四 循环结构程序的设计

合集下载

实验4 程序设计(4学时)

实验4 程序设计(4学时)

实验4 程序设计(4学时)目的与要求1.掌握VFP程序设计特点,程序文件的建立、修改和运行方法;2.掌握环境设置语句的含义和基本输入输出命令的使用;3.掌握VFP的顺序、选择和循环结构的设计方法;4.掌握程序设计过程中参数传值和传引用的传递规则;5.掌握子程序、过程和自定义函数的建立,以及调用与返回规则;6.掌握内存变量的作用域属性及对参数传递的影响。

实验内容一、实验准备1.参照“附录一”,熟悉VFP 6.0 程序文件的建立、修改和运行方法;2.将ftp上实验指导书文件夹中“实验项目5、6用表”文件夹下的学生表(student.dbf)、成绩表(score.dbf)、课程表(course.dbf)以及备注文件“student.fpt”四个文件,拷贝到C:\Program Files\Microsoft VisualStudio\Vfp98目录下,然后完成实验。

示例与程序中用到的三个表结构如下,各位同学可以参照这些结构还原这三个数据表之间的相互关联。

二、顺序结构程序设计1.VFP的顺序程序设计方法。

2.完成如下程序设计:(1)物体长度可以用公制或者英制单位表示,已知公制长度单位为毫米(mm),英制单位长度为英寸(inch),其转换公式为1 inch = 25.4 mm,编写程序将输入的英制长度转换为公制后输出。

(2)从键盘输入圆锥体的半径(r)和高度(h),计算其体积并输出,体积计算公式为v = π * r * r * h / 3。

(3)求方程ax2 + bx + c = 0的根,a, b, c的值从键盘输入(假设输入的a, b,c值满足b2– 4ac ≥ 0,不考虑虚根的情况)。

(4)由键盘输入学生名,将“student表”中该学生的奖学金增加100元,并显示该学生修改后的奖学金。

(5)分析下面程序的输出结果。

USE studentINDEX ON 姓名TAG nameidxACCEPT "请输入要查找的学生姓名" TO 姓名SEEK M -> 姓名DISPLAY三、选择结构程序设计1.VFP的选择程序设计方法。

实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

《高级语言程序设计》实验报告实验序号:2 实验项目:数据类型、运算符和表达式09机制2 学号232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间 3.15一、实验目的及要求1.掌握C基本数据类型的基本概念、基本属性。

2.学会如何书写一个整型、字符型、实型常量。

3.掌握C算术运算符的基本概念、基本属性、运算规则。

二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。

三、实验内容与步骤1.输入下列源程序,进行修改、编译、连接和运行。

程序:main ( ){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}运行结果是:两行结果的不同是由什么引起的:程序定义了输出的类型,第一个输出字符型,另一个输出整型。

2.输入并运行下面的程序:#include<stdio.h>void main(){char c1,c2,c3;c1=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);}观察以下不同输入时的输出,分析不同输出的原因。

(↙表示回车)(1)123↙(2)12↙(3)1↙2↙运行结果是:分析运行结果:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。

实验四 循环结构程序设计

实验四  循环结构程序设计
/* 求最大公约数算法1 */
#include "stdio.h"
void main( )
{
}
2.从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。设n为m和n中较小的数,则如下程序段可实现:
for(k=1; k<=n; k++) if(m%k==0 && n%k==0) x=k;
}
2.字符常量’0’与数值常量0是不同的。
(六)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的横线上填入适当的内容,将程序补充完整并运行。
/* c4-6.c */
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
六、思考题
(一)求两个正整数x和y的最大公约数,请填空。
/* 求最大公约数程序 */
#include "stdio.h"
void main( )
{ int x,y,t,i;
printf("请输入两个数:");
scanf("%d,%d",&x,&y); /*注意scanf语句中间用“,”隔开*/
if(x > y){t = x; x = y; y = t;}
程序的基本结构如下:
/* c4-9.c */
/* 按条件求数列和 */
#include "stdio.h"
void main( )
{定义变量;
变量赋初值;

电大专科c++实验四循环结构程序设计

电大专科c++实验四循环结构程序设计
2.掌握使用do-while循环语句编写应用程序及其编写技巧.
3.掌握使用for循环语句编写应用程序及其编写技巧.
4.掌握使用break语句及循环语句编写应用程序及其编写技巧.
5.掌握使用continue语句及循环语句编写应用程序及其编写技巧
二、实验要求
能够编写一些有实际应用意义的循环结构的程序
三、实验内容(要求:针对实验案例的每项工作,撰写完成实验的步骤)
#include
Void mian()
{ int x,y,z,num,num1;
For(x=1;x<101;x++)
For(z=1;z<101;z++)
{ num=x+y+z;
Num1=5*x+3*y+z/3.0;
If(num==100&& num1==100)
Cout<<"公鸡="<<X<<",母鸡="<<Y<<",鸡雏="<<Z<<"ENDL;
1.用近似公式∏/4≈1-1/3+1/5-1/7+1/9-1/11+…,计算∏的近似值,要求最后一项小于10-6即可.#include# Nhomakorabeanclude
Void maid()
{ float n,t,pi;int s;
T=1.0;pi=0.0;n=1.0;s=1;
While(favs(t)>=1e-6)
{ pi+=t;
n+=2;
s=-s;
t=s/n;
}

实验报告4

实验报告4

实验四:循环结构程序设计班级:学生姓名:学号:一、实验目的1、理解循环的概念2、理解并掌握循环结构相关语句的含义、格式及使用3、学会循环的应用及控制,包括:①掌握使用循环输入多个数据的方法②掌握在多个数据中有选择地输出数据的方法③掌握在多个数据中对某种数据进行计数的方法④掌握求多个数据中最大值、最小值的方法⑤掌握使用break、continue语句终止循环4、掌握循环的嵌套二、知识要点1、循环变量、循环条件、循环体的概念2、三种循环语句的一般格式、执行过程3、理解选择结构与循环结构中“条件表达式”之不同含义4、二重循环的执行过程三、实验预习(要求做实验前完成)1、循环变量的主要用途是:2、用循环求多个数的和之前,先要把和的初始值赋为:3、用循环求多个数的乘积之前,先要把乘积的初始值赋为:4、字符变量能否作为循环变量?5、循环过程中,如果循环条件成立,但需要结束循环,可采用什么办法?6、什么叫循环的嵌套?四、实验内容(要求提供:①算法描述或流程图②源程序)1. 编程,利用循环计算以下表达式的值:(5+52)*(4+42)*(3+32)*(2+22)*(1+12)*(1/2+1/3+1/4+1/5)(for循环)include <stdio.h>#include <stdlib.h>int main(){int a;double sum=1,sum1=0;for(a=1;a<=5;a++)sum=sum*(a+a*a);printf("结果为%lf\n",sum);for(a=2;a<=5;a++)sum1=sum1+(1.0/a);printf("%lf\n",sum1);printf("结果为%lf\n",sum*sum1);return 0;}2. 编程,从键盘输入若干个整数,当输入0时,输入停止。

实验结论循环结构程序设计

实验结论循环结构程序设计

实验结论循环结构程序设计一、引言二、实验目的三、实验原理1.循环结构的概念2.循环结构的分类3.循环结构程序设计的基本原则四、实验步骤1.确定循环次数和循环条件2.选择合适的循环结构语句3.编写循环体语句五、实验结果分析六、结论与讨论引言:编程是计算机科学中非常重要的一部分,而程序设计中常用到的循环结构也是非常重要的一种控制流程方式。

本文将介绍如何进行循环结构程序设计,并给出相应实验结果及分析。

实验目的:通过本次实验,我们将学会如何使用不同类型的循环结构来控制程序流程,并能够编写简单而有效的程序。

实验原理:1. 循环结构的概念:在程序运行过程中,为了重复执行某些操作或者根据特定条件反复执行某些操作,需要使用到循环结构。

2. 循环结构的分类:常见的有while循环、do-while循环和for循环。

3. 循环结构程序设计基本原则:确定好需要重复执行多少次或在什么情况下需要重复执行,选择合适的循环结构语句,编写循环体语句。

实验步骤:1. 确定循环次数和循环条件:在程序设计之前,需要明确需要重复执行多少次或在什么情况下需要重复执行。

2. 选择合适的循环结构语句:根据确定好的循环次数和循环条件,选择while、do-while或for等不同类型的循环结构语句。

3. 编写循环体语句:在循环结构中,需要编写具体的操作语句来实现所需功能。

实验结果分析:通过本次实验,我们可以发现,在程序设计中使用不同类型的循环结构可以有效地控制程序流程,并且能够编写出简单而有效的程序。

同时,在实际应用中也需要根据具体需求来选择合适的循环结构类型以及确定好相应的循环次数和条件。

结论与讨论:通过本次实验,我们深入了解了循环结构程序设计,并掌握了相应技能。

在今后的学习和工作中,我们将继续深入研究相关知识,并且不断提高自己在编程方面的能力。

matlab实验4_循环结构程序设计_参考解答

matlab实验4_循环结构程序设计_参考解答

高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
clear all; close all; clc; y=0; n=1; while y<3
y=y+1/(2*n-1); n=n+1; end n=n-1; y=y-1/(2*n-1) n=n-1
运行结果:
y= 2.9944
x1=a/(b+x0); y=abs(x1-x0); x0=x1;
MATLAB 语言
3
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
n=n+1; end x1 r1=(-b+sqrt(b^2+4*a))/2 r2=(-b-sqrt(b^2+4*a))/2
clear all; close all; clc; prime=[]; for n=2:49
x=n*(n+1)-1; signx=0; for k=2:sqrt(x)
MATLAB 语言
5
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
根据
π2 6
=1 12
+
1 22
+1 32
+"+
1 n2
,求 π 的近似值。当
n
分别取
100、1000、10000
时,
结果是多少?
要求:分别用循环结构和向量运算(使用 sum 函数)来实现。 答:程序设计:
(1) 循环结构

C语言实验学生版(最新版)

C语言实验学生版(最新版)

实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。

2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。

3、初步了解C语言程序的特点。

4、掌握C语言的数据类型。

三、实验内容:1、计算两个数x和y的和。

(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。

(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。

(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。

(实验教材P21)5、输入并运行以下程序,分析运行结果。

(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。

2、掌握C语言的常用运算符及表达式。

3、掌握单分支if语句的使用方法。

4、掌握双分支if-else语句的使用方法。

三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。

(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。

(实验教材P27)3、判断箱子是正方体还是长方体。

(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf("%d",&num) ;
do
{k=____________ ;
num/=10;
}while(num) ;
printf("\n%d\n",k) ;
}
(四)求两个正整数[m,n]之间所有既不能被3整除也不能被7整除的整数之和。请填空。
/* 按条件求数列和 */
#include "stdio.h"
{ int a,b,c,i;
a=0,c=0;/* 变量赋初值 */
for(i=0;i<=100;i+=2)
{ a+=i;/* 变量a存放偶数的和 */
_______________;
c+=b;/* 变量c存放奇数的和 */
}
printf("Sum ofEvens is %d\n",a);
printf("Sum ofOdds is %d\n",c-101);
注意:根据题目,考虑所定义的各个变量应该为何种类型。程序结构如下:
/* c4-1.c */
/* 求1!+2!+3!+……+20!*/
#include "stdio.h"
voidmain()
{ 定义变量i作为循环控制变量;
定义变量p和sum分别存放各个整数的阶乘和阶乘之和;
变量p和sum赋初值;
for(i=1; i<=20; i++ )
void main( )
{ int num,k;
_______________;/* k赋初值 */
printf("\Please enter a number:") ;
scanf("%d",&num) ;
do
{k=_______________;/*取最低位并累加*/
num/=10;/*去掉最低位*/
printf("Sum is : %ld \n",s );
}
(十)下面程序的功能是:计算正整数num的各位上的数字之和。例如,若输入:252,则输出应该是:9;若输入:202,则输出应该是:4。请将程序补充完整。
/* c4-10.c */
/* 求整数各位数字和 */
#include "stdio.h"
}
(三)下面程序的功能是:计算正整数num的各位上的数字之和。例如,若输入:252,则输出应该是:9;若输入:202,则输出应该是:4。请将程序补充完整。
/* 计算整数各位数字和 */
#include "stdio.h"
void main( )
{ int num,k;
k=0;
printf("请输入一个整数:") ;
编程中可使用如下的循环结构:
while((c=getchar())!=’\n’))
{ if(……) ……;
else if(……) ……;
……;
else ……;
}
/* c4-5.c */
/* 统计字符串中指定字符的个数 */
#include "stdio.h"
void main( )
{
}
注意:
1.while( (c=getch能省略,想一想为什么?
for(_______________)
{if( x%i==0 && y%i==0 )
break;
}
printf("最大公约数是: %d\n",i);
}
(二)计算1到100之间的奇数之和及偶数之和。请填空。
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
k即为最大公约数。
/* c4-2.c */
/* 求最大公约数算法1 */
#include "stdio.h"
void main( )
{
}
2.从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。设n为m和n中较小的数,则如下程序段可实现:
void main( )
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (_______________)
{ if (x>amax) amax=x;
if (_______________) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
void main( )
{int m,n,i,t;
long int s=0;
scanf("%d,%d",&m,&n);
if( m>n )
{ t=m; m=n; n=t;}
for (_______________)
if ( i%3!=0 && i%7!=0 )
s += i;
printf("Sum is :%ld\n",s );
/* c4-7.c */
/* 打印出所有的“水仙花数” */
#include "stdio.h"
void main( )
{ 定义4个整型变量;
for(j=100;j<=999;j++)
{ a=j/100; /*分离出百位数*/
b=j/10-a*10; /*分离出十位数*/
c=___________; /*分离出个位数*/
六、思考题
(一)求两个正整数x和y的最大公约数,请填空。
/* 求最大公约数程序 */
#include "stdio.h"
void main( )
{ int x,y,t,i;
printf("请输入两个数:");
scanf("%d,%d",&x,&y); /*注意scanf语句中间用“,”隔开*/
if(x > y){t = x; x = y; y = t;}
if(j==a*a*a+b*b*b+c*c*c)
输出j ;
}
printf("\n");
}
(八)以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请将程序补充完整。
/* c4-8.c */
/* 求最大值最小值程序 */
#include "stdio.h"
程序的基本结构如下:
/* c4-9.c */
/* 按条件求数列和 */
#include "stdio.h"
void main( )
{定义变量;
变量赋初值;
输入m,n的值;
if( m>n )
m和n交换;
for (_______________)
if ( i%3!=0 && i%7!=0 )
变量s累加求和;
b=m%n;
while(b!=0)
{ m=n; n=b; b=m%n;}
printf("%d\n",n);
/* c4-4.c */
/*求最大公约数算法3 */
#include "stdio.h"
void main( )
{
}
类似地,求最小公倍数的方法也可以从m和n中较大的数开始向上找,或者从m*n向下找,请自己考虑程序的设计方法。
}
(七)编程打印出所有的“水仙花数”,所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。如153=13+33+53。
编程提示:
定义一个变量作为循环变量,再定义3个变量分别存放三位数的每位数字,在循环体中将一个三位数拆分成个位、十位、百位后判断循环变量的值是否为水仙花数,如果是则输出,否则不输出。程序的基本结构为:
}
(九)求两个正整数[m,n]之间所有既不能被3整除也不能被7整除的整数之和。
编程提示:定义两个变量m,n和t,再定义一个循环变量和结果变量s,从键盘输入m和n的值,判断两个变量的值,如果m>n,则交换两个变量。然后用循环依次判断m和n之间的每一个数,在循环体中通过条件语句来判断这个数是否既不能被3整除也不能被7整除,如果满足条件,累加求和,如果不满足,则继续循环。
}while(num) ;
printf("\n%d\n",k) ;
}
五、实验注意事项
(一)while,do-while,for语句中应有使循环趋向于结束的语句,否则就可能构成死循环。
(二)while,do-while语句什么情况下的运行结果是相同的,什么情况下运行结果不同。
(三)注意在循环结构程序设计中,正确使用{}构成复合语句。
2.字符常量’0’与数值常量0是不同的。
(六)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的横线上填入适当的内容,将程序补充完整并运行。
/* c4-6.c */
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
相关文档
最新文档