文档库 最新最全的文档下载
当前位置:文档库 › 实验2-循环结构程序设计

实验2-循环结构程序设计

实验2-循环结构程序设计
实验2-循环结构程序设计

实验2 循环结构程序设计

一、实验目的

1.学习循环语句for、while和do-while语句的使用方法。

2.学习用循环语句实现各种算法,例如穷举法、迭代法等。

3.进一步熟悉C语言集成环境的使用方法

二、实验内容

1.用while循环实现数据统计问题。:从键盘输入一批任意数量的整数,统

计其中不大于100的非负数数值的个数。

2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问

题。调试数据仍参照上面给出的几种情况设计使用。

3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。

4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值。

三、实验指导

1.用while循环实现数据统计问题。

?编程分析

由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法:

(1).使用一个负数作为数据输入结束标志。

(2).输入一个数据后通过进行询问的方式决定是否继续输入下一个数

据。

?参考程序

参考程序一

/* 使用负数作为数据输入结束标志的程序 */

#include "stdio.h"

void main()

{

int m,counter=0;

while(1)

{

printf("请输入一个整数:");

scanf("%d",&m);

if(m<0)

break;

if(m<=100)

counter++;

printf("\n");

}

printf("符合要求的整数个数为: %d\n",counter);

}

参考程序二

/* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include

int main()

{

int m,counter=0;

char ask;

while(1)

{

printf("请输入一个整数:");

scanf("%d",&m);

getchar();

if(m>=0&&m<=100)

counter++;

printf("继续输入下一个数据?(Y/N)");

ask=getchar();

getchar();

if(ask!='y'&&ask!='Y')

break;

printf("\n");

}

printf("符合要求的整数个数为: %d\n",counter);

}

程序调试

这里只对“参考程序一”的调试数据进行设计。该程序输入数据时,应考虑多种数据组合,对每一组数据察看并分析结果。例如:

(1).输入的一组数据之间全部以空格分隔,只有最后一个数为负数,以

回车键结束。如:

16 35 7 –-10

(2).输入的一组数据之间全部以空格分隔,在负数之后又有正数数据,

最后一个数不为负数,以回车键结束。如:

16 35 7 –-10 96 17

(3).输入的一组数据之间全部以空格分隔,输入数据中有多个负数,以

回车键结束。如:

16 35 7 –-10 96 17 –-87 7

(4).输入的数据中有大于100的整数。如:

16 35 7 –10 96 117 –87 267 66

(5).数据之间既用空格分隔,也用回车键分隔。如:

76 35 376 22 717

96 67

96 17 –87 719 66 98 2 -16 31

(6).每输入一个数据后均按回车键。

(7).输入的第一个数据即为负数。

(8).在输入的数据中使用数值很大的整数。如:

17 66778 98765 17 899 -109 87

?在上面的“参考程序一”中,使用了常数“1”作为循环控制的条件,

这是常用的循环控制方式。请修改上面的程序,不使用常数循环条件,仍然使用while语句实现数据统计问题。

2.编写并调试程序,使用do-while循环控制语句实现数据统计问题。

?参考程序

/* 使用负数作为数据输入结束标志的程序 */

#include

int main()

{

int m,counter=0;

do

{

printf("请输入一个整数:");

scanf("%d",&m);

if(m<0)

break;

if(m<=100)

counter++;

printf("\n");

}while(1);

printf("符合要求的整数个数为: %d\n",counter);

return 0;

}

?调试指导

调试数据仍参照上面给出的几种情况设计使用。

3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。

?参考程序

/* 用for循环控制语句实现的数据统计问题程序 */

#include

int main()

{

int m,counter;

for(counter=0;1;)

{

printf("请输入一个整数:");

scanf("%d",&m);

if(m<0)

break;

if(m<=100)

counter++;

printf("\n");

}

printf("符合要求的整数个数为: %d\n",counter);

return 0;

}

注意:

for循环控制语句的一般格式通常有三个表达式,本参考程序中使用的for循环控制语句在格式上只有两个表达式。请读者注意学习这种用法。

?请修改程序,使用完整格式的for循环控制语句实现上面的数据统计问

题。

4.阶乘累加问题。

?编程分析

(1).本实验内容是求解阶乘问题。

(2).求n!用一个循环即可实现。

(3).求1+2!+3!+…+n!的值,需要在求n!程序之外增加一个外重循

环。

?参考程序

/* 求1+2!+3!+…+n!程序 */

#include

int main()

{

long int s=1,t;

int i,j,n;

printf("n=");

scanf("%d",&n);

for(i=2;i<=n;i++)

{

for(t=1,j=1;j<=i;j++)

t*=j;

s+=t;

}

printf("s=%ld\n",s);

return 0;

}

?程序调试

(1).输入一个不大的正整数,分析程序执行结果。

(2).输入一个零或者负数,分析程序执行结果。

(3).输入一个很大的正整数,分析程序执行结果。

(4).当程序结果不符合要求时,修改程序,直到对任何输入数据都能输

正确的执行结果,或者给出一个明确的提示信息。例如,当输入数据非法时,给出一个恰当的提示信息。

四、预习题(选择题)

1、下面程序段

int k=2;

while (k=0) {printf(“%d”,k);k--;}

则下面描述中正确的是

A.while循环执行10次

B.循环是无限循环

C.循环题语句一次也不执行

D.循环体语句执行一次

2、以下程序段的循环次数是

for (i=2; i==0; ) printf(“%d” , i--) ;

A.无限次

B.0次

C.1次

D.2次

3、下面程序的输出结果是

#include"stdafx.h"

int _tmain(int argc, _TCHAR* argv[])

{

char c='A';

int k=0;

do {

switch (c++) {

case'A' : k++ ; break ;

case'B' : k-- ;

case'C' : k+=2 ; break ;

case'D' : k%=2 ; continue ;

case'E' : k*=10 ; break ;

default : k/=3 ;

}

k++;

} while (c<'G') ;

printf ("k=%d",k) ;

return 0;

}

A.k=3

B.k=4

C.k=2

D.k=0

4、下面程序的输出结果是

int _tmain(int argc, _TCHAR* argv[]) {

int x=9;

for (; x>0; x--) {

if (x%3==0) {

printf(“%d”,--x);

continue ;

}

}

return 0;

}

A.741

B.852

C.963

D.875421

5、下述程序段的运行结果是

int _tmain(int argc, _TCHAR* argv[]){ int a=1,b=2, c=3, t;

while (a

t=a;

a=b;

b=t;

c--;

}

printf("%d,%d,%d",a,b,c);

return 0;

}

A.1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

6、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。

main ( )

{ int m=0,n=0;

char c;

while ((【】) ! ’\n’)

{

if (c>=’A’ && c<=’Z’) m++;

if (c>=’a’ && c<=’z’) n++;

}

}

A.c=getchar( )

B.getchar( )

C.c==getchar( )

D.scanf(“%c”,&c)

7、下述语句执行后,变量k的值是

int k=1;

while (k++<10);

A.10

B.11

C.9

D.无限循环,值不定

8、下面程序的输出结果是

int _tmain(int argc, _TCHAR* argv[]) {

int k=0,m=0,i,j;

for (i=0; i<2; i++) {

for (j=0; j<3; j++)

k++ ;

k-=j ;

}

m = i+j ;

printf("k=%d,m=%d",k,m) ;

return 0;

}

A.k=0,m=3

B.k=0,m=5

C.k=1,m=3

D.k=1,m=5

9、下面for循环语句

int i,k;

for (i=0, k=-1; k=1; i++, k++)

printf(“***”);

A.判断循环结束的条件非法

B.是无限循环

C.只循环一次

D.一次也不循环

10、执行语句for (i=1;i++<4;) ; 后变量i的值是

A. 3

B. 4

C. 5

D.不定

实验2-循环结构程序设计

实验2 循环结构程序设计 一、实验目的 1.学习循环语句for、while和do-while语句的使用方法。 2.学习用循环语句实现各种算法,例如穷举法、迭代法等。 3.进一步熟悉C语言集成环境的使用方法 二、实验内容 1.用while循环实现数据统计问题。:从键盘输入一批任意数量的整数,统 计其中不大于100的非负数数值的个数。 2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问 题。调试数据仍参照上面给出的几种情况设计使用。 3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。 4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值。 三、实验指导 1.用while循环实现数据统计问题。 ?编程分析 由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法: (1).使用一个负数作为数据输入结束标志。 (2).输入一个数据后通过进行询问的方式决定是否继续输入下一个数 据。 ?参考程序 参考程序一 /* 使用负数作为数据输入结束标志的程序 */ #include "stdio.h" void main()

{ int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0) break; if(m<=100) counter++; printf("\n"); } printf("符合要求的整数个数为: %d\n",counter); } 参考程序二 /* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include int main() { int m,counter=0; char ask; while(1) { printf("请输入一个整数:"); scanf("%d",&m); getchar(); if(m>=0&&m<=100) counter++; printf("继续输入下一个数据?(Y/N)"); ask=getchar();

建筑结构概念设计及案例

建筑结构概念设计及案例 书名:建筑结构概念设计及案例 出版社:清华大学出版社 作者:罗福午 出版日期:2003-12-01 简介: 本书提出建筑结构概念设计的概念、原则和思路,并介绍相关案例。“概念”部分说明结构概念设计的地位和作用、基本思路、基本做法以及设计中常用到的结构概念。“案例”部分则介绍了国内外的著名案例。 目录: 前言 第1章建筑结构概念设计概述 1.1 建筑结构的作用 1.2 结构概念设计的概念 1.3 概念设计在建设过程中的地位 1.4 建筑结构的基本构件类型 1.4.1 基本构件的类型 1.4.2 各种构件之间的区别与联系 1.5 建筑结构的几个基本概念 1.5.1 荷载和作用 1.5.2 结构失效和材料,结构受力和荷载

1.5.3 结构的可靠度和设计方法 1.5.4 结构的三个基本分体系 1.5.5 关于地基的基本概念 1.5.6 梁、板设计中的几个基本概念 1.5.7 梁、拱和索 1.5.8 梁柱框架 1.5.9 平面桁架(含空腹桁架)和空间架1.5.10 从对比中认识壳体结构 1.5.11 折板结构和幕结构 1.5.12 帐篷、索和充气结构 1.5.13 结构受力、变形的相对性 1.5.14 结构构件的弯曲变形示意图 1.5.15 预应力和预应力结构 1.5.16 结构抗震设计的基本概念 1.5.17 从总体概念上考虑结构设计 1.5.18 对标准、规范、规程应有的知识1.6 结构概念设计的原则 第2章托罗哈结构概念设计作品案例2.1 关于E.托罗哈的评价 2.2 运动场旁有轨电车站 2.3 圆形手术教室 2.4 阿尔捷希拉集贸市场

c语言实验报告4 循环结构程序设计

《C程序设计》课程实验报告 学院:班级:姓名:学号: 实验设备:计算机1台实验日期:2011年3月1日 实验项目名称循环结构程序设计 实验目的 掌握使用三种循环语句实现循环结构的方法。 实验要求:能用while~ do~while for 三种循环语句实现循环结构,编写简单的程序,掌握这三种循环语句。 实验内容(包括步骤):1.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半另一个,以后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。问第一天共摘了多少桃子。 要求:分别用三种语句编写程序。 2.编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如:13=1;23=3+5;33=7+9+11;43=13+15+17+19。 要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止。 3.编写程序,求1-3+5-7+…-99+101的值。 4.编写程序,求e的值。e ≈ 1+1/1!+1/2!+1/3!+1/4!+…+1/n! (1)用for循环,计算前50项。 (2)用while循环,要求直至最后一项的值小于10-6。 5.编写程序,输出从公元1600年至2000年所有闰年的年号。每输出5个年号换一行。判断公元年是否为闰年的条件是:

(1)公元年数如能被4整除,而不能被100整除,则是闰年。 (2)公元年数如能被400整除也是闰年。 6.编写程序,打印以下图形: * *** ***** ******* ***** *** * 7.输入一行字符,统计输入的字符中字母‘a’出现的次数(包括大小写)。 8.我国1991年有11.6亿人口,要求根据人口平均年增长率,计算从1991年算起经过多少年后我国的人口增加到15亿。 9.有一个四位数F=BBAA,前二位数相同,后二位数相同,此数又是某个自然数T的平方,求此数。 10.分解一个正整数的所有质因数 调试与结果测试:部分程序出现错误经过调整后调试正常,达到题目要求的结果,运行正常。

循环结构程序设计代码

实验五代码: 基础能力落实: 1)编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define 或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句 #include int main(void) { const int minperhour = 60; int minutes, hours, mins; printf("Enter the number of minutes to convert: "); scanf("%d", &minutes); while (minutes > 0 ) { hours = minutes / minperhour; mins = minutes % minperhour; printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins); printf("Enter next minutes value (0 to quit): "); scanf("%d", &minutes); } printf("Bye\n"); return 0; } 2)编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。 #include int main( void ) { int lower, upper, index; int square, cube; printf("Enter starting integer: "); scanf("%d", &lower);

包装结构设计实验

《包装结构设计》课程实验教学大纲 1、实验课程名称:包装结构设计 2、实验课程名称(英文):Packaging Structure Design 3、课程代码:120037 4、实验课程性质:非独立设课 5、学时:4 6、学分: 7、适用专业:包装工程 8、先修或同修课程:包装CAD、包装材料学、包装电脑装璜、包装工艺 9、开设单位:工程技术学院 10、制定实验教学大纲的依据: 东北林业大学本科专业人才培养计划 11、本实验课在培养实验能力中的地位及作用: 该课程实验是设计性实验,通过实验可以充分发挥学生的主观能动性及创新性,学生对自己设计的产品进行分析评价体验设计的合理性、表现性,为以后的课程学习及工作打下基础。符合增强“素质教育”的要求,为培养具有创新能力的人才奠定了基础。 12、应达到的实验能力标准: 在实验教学过程中,培养学生动手能力及设计创新能力。要求学生掌握典型包装容器的设计步骤及方法,了解包装容器常见类型、使用材料及成型工艺,重点掌握纸包装容器设计的方法及制造过程。 13、实验内容: (1)折叠纸盒设计与制作 应用纸盒的设计理论和方法进行折叠纸盒的设计和制作实践,通过实际操作加深对包装纸盒结构设计方法的理解,熟练包装纸盒结构设计与制作方面的工艺方法。并通过纸盒的设计熟练掌握TULIC系列公式的应用方法及要点。 (2)瓦楞纸箱设计与制作 应用瓦楞纸箱的设计理论和方法进行纸箱的设计与制作实践,通过设计制作加深对瓦楞纸箱容器的设计及制造方法的理解,获得瓦楞纸箱结构设计与制造方面的知识。 14、实验成绩考核办法 根据学生预习情况、实验操作情况、实验报告的质量、考试成绩和设计研究性实验成绩综合评定,最终成绩分级为:优、良、中、及、不及格。 15、实验教材、参考资料: [1]宋宝峰,宋翼生主编.包装容器结构设计与制造.北京:印刷工业出版社,2001 [2]孙诚,王德忠主编.包装结构设计.北京:中国轻工业出版社,2003 [3]萧多皆主编.纸盒包装设计指南.沈阳:辽宁美术出版社,2003 [5]黄虹主编.塑料成型加工与模具.北京:化学工业出版社,2003

实验四分支和循环程序设计实验(精)

实验四分支和循环程序设计实验 一、实验要求和目的 1.熟悉汇编语言程序设计结构; 2.熟悉汇编语言分支程序基本指令的使用方法; 3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法; 4.了解汇编语言循环程序设计的基本流程; 5.熟悉汇编语言循环基本指令的使用方法; 6.掌握利用汇编语言的循环指令完成循环程序设计方法。 二、软硬件环境 1、硬件环境:计算机系统 windows; 2、软件环境:装有 MASM、DEBUG、LINK、等应用程序。 三、实验涉及的主要知识 在实际应用中,经常根据一些条件来选择一条分支执行。汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号相减而导致的结果来进行。 1.无条件转移指令 JMP 无条件转移指令 JMP是使程序无条件转移至目标处,又分为段内转移、段间转移。 2.条件转移指令 JXX 条件转移指令可分为三大类: 1).简单条件转移指令指令。根据单个标志位的状态判断转移条件。标志位指令转移条件意义 CF JC CF=1 有进位/借位 JNC CF=0 无进位/借位 ZF JE/JZ ZF=1 相等/等于 0 JNE/JNZ ZF=0 不相等/不等于 0 SF JS SF=1 是负数 JNS SF=0 是正数 OF JO OF=1 有溢出 JNO OF=0 无溢出 PF

JP/JPE PF=1 有偶数个 1 JNP/JPO PF=0 有奇数个 1 2).无符号数条件转移指令。 假设在条件转移指令前使用比较指令,比较两个无符号数A,B,指令进行的的操作是 A-B,其转移指令如下: 指令转移条件意义 JA/JNBE CF=0 AND ZF=0 A>B JAE/JNB CF=0 OR ZF=1 A>=B JB/JNAE CF=1 AND ZF=0 AB JGE/JNL SF=OF OR ZF=1 A>=B JL/JNGE SF OF AND ZF=0 A

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

循环结构程序设计练习题

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是()。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 2、以下关于for语句的说法不正确的是()。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是()。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、已知 int t=0; while(t=1){...} 则以下叙述正确的是()。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 5、设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 6、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。for(i=0, j=10; i<=j; i++, j- -) k=i+j; A.6 B.9 C.10 D.11 7、C语言中,break; 语句可以用于循环语句和( )语句中。 A.if B.switch C.for D.while 8、for(i=0; i<=15; i++) printf("%d", i ); 循环结束后,i 的值为()。 A.14 B.15 C.16 D.17 9、与语句“while(!x)”等价的语句是()。 A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1) 10、下述程序段中,while循环执行次数是()。 int k=0;

循环结构程序设计实验报告

嘉应学院计算机学院 实验报告 课程名称程序设计基础实验名称实验地点 指导老师实验时间提交时间 班级姓名座号 一、实验目的和要求 (1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)进一步学习调试程序。 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错, 及时改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”, 根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果 是否正确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容:编译以下题目的程序并调试运行。 (1)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 编写程序如下: #include int main() { char c; int letters=0,space=0,digit=0,other=0; printf("请输入一行字符:\n"); while((c=getchar())!='\n')

实验5_循环结构程序设计2题目及解答

4.3 循环结构程序设计2 【注意事项: (1)题中页码均为《C语言程序设计教程》中的页码 (2)题后为原程序文件名 (3)仅提交名为【*.c】的源程序文件,可一起提交,也可逐题提交 调试程序中常见问题及处理方法: (1)出现死循环时:关闭运行窗口即可。 】 1、按照下面的流程图书程序,用for语句实现。 【提示:参见p97—例4.23 ,并按照下面的左流程图书写007张三511.c,右流程图书写007张三512.c 程序运行结果: s=2550 】 2、用for语句编程,求300~500之间的水仙花数(如135:153=13+53+33)。(007张三52.c) 【程序运行结果: 300~500之间的全部水仙花数如下:??370??371??407 】 3、判断输入的数是否为素数。【提示:素数是只能被1和其自身和整除的数,】(007张三53.c) 【提示:参见p114—例4.36 程序运行时:程序运行结果: 请输入一个正整数:25?25不是素数 请输入一个正整数:12?125不是素数 请输入一个正整数:13?13是素数 】 4、判断输入的一个不超过32767的正整数是几位数。(007张三54.c)【提示:按照右侧的N-S图编程 运行时:运行结果: 请输入一个正整数(1~32767): 135?135是3位数请输入一个正整数(1~32767): 1356?1356是4位数请输入一个正整数(1~32767): 28906?28906是5位数】

附加题: 1、求出100~200间的所有素数。(007张三5附加1.c )。 【 运行结果: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 】 2、根据以下公式求π值(直到最后一项小于10 –6 为止)(007张三5附加2.c ) 【 运行结果: pi=3.141590 】 3、百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?(007张三5附加3.c ) 【提示:在编程之前,需先根据题意列出方程, 如: 设鸡翁x 只,鸡母y 只,鸡雏z 只 则有下列方程: x+y+z=100 和 5x+3y+z/3=100 因为2个方程,3个未知数,故为不定方程,需用穷举法解题。 运行结果: x=0??? y=25??z=75?? x=4??? y=18??z=78?? x=8??? y=11??z=81?? x=12?? y=4???z=84?? 】 参考解答: 1、~2、略 3、 #include void main( ) { int x, I, k; printf(“请输入一个正整数:”); scanf("%d", &x); k=x/2; while ( i <=k ) { if( x%i ==0 ) break; } if ( i>k ) { printf(“%d is \n”, x); } ??????+???+??+?++=9 4 73523173523152313112π

《包装结构设计》实验指导书

《包装结构设计》课程实验指导书 张新昌、王利强、孙昊 江南大学机械工程学院包装工程系 2016.3

“包装结构设计”课程是包装工程专业的主干和核心课程之一。按教学大纲要求,本课程主要围绕不同材料的包装容器结构进行讨论,包括纸包装容器(折叠纸盒、粘贴纸盒、瓦楞纸箱)、塑料包装容器(注射、压制容器、中空吹塑容器和其他)、玻璃包装容器、金属包装容器等内容。通过本课程的学习,要求学生掌握典型包装容器的设计步骤和方法,了解包装容器常见结构类型、所使用材料、成型工艺,同时,结合本学期的相关教学与实践环节(产品包装创新实践及包装设计大赛等,在实践中有所创新。 根据“包装结构设计”卓越课程建设安排,本课程安排了 3 组课内外制作实践的内容,每次所需课时约 4学时(课内/课外各2学时),设计过程由学生在课外进行。 一、纸盒设计与制作 1. 实验目的 学习了各种纸盒的基本结构和基本设计方法后,还须进行纸盒的设计与制作实践。通过实际作业才能加深对包装纸盒结构的理解,获得包装纸盒设计制作方面的工艺知识。 要求设计者经过认真构思,设计和制作实样,并听取用户意见做进一步修改。 2. 实验要求 要求学生通过实践,制作出合格而有销售魅力的纸包装设计。应该做到: ①适合于内装物的形态和规格; ②其结构足以承受内装物品重量,确保在流通中不破裂,不散落; ③结构形式新颖别致,富有创新性;兼有制作方便打开方便的优点; ④符合对本包装的特别要求(指装箱、分组、流通、携带、销售和使用等)。 确认设计制作的实样符合以上基本要求后,进入生产过程(打样或制作)。 3. 设计选题 表1列出较常见的8种包装盒设计课题,题目的具体内容及要求说明均列于表中,学生可根据要求选择1-2种进行设计制作。 表1 包装纸盒设计选题

C语言循环结构程序设计实验报告

甘肃政法学院 本科生实验报告 ( 五) 姓名:赵明翔 学院:公安技术学院 专业:安全防范工程 班级: 2015级安全防范工程班 实验课程名称:程序设计 实验日期:2016年月日 开课时间:2015学年第二学期

(2)输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字李方和等于该数本身。例如,153是水仙花数,因为153=12+53+33程序如下: #include int main() { int i,j,k,n; printf("paicissus numbers are"); for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf("%d",n); } printf("\n"); return 0; } 运行结果: (3)猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又

多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下了1个桃子了。求第一天共摘了多少桃子。 程序如下: #include int main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2; x2=x1; day--; } printf("total=%d\n",x1); return 0; } 运行结果: (4)①用牛顿迭代法求方程0634223=-+-x x x 在1.5附近的根. #include #include int main() {double x1,x0,f,f1; x1=1.5; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1;

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include<> main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include<> main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

循环程序设计实验

循环程序设计实验 实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 实验预习要求 复习比较指令、条件转移指令和循环指令。 复习循环程序的结构、循环控制方法等知识。 读懂“实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。 根据“实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。 从“实验习题”中任选一道题目,编写源程序,以便上机调试。 实验内容 计算1+2+……n=,其中n通过键盘输入。要求在屏幕上提供如下信息: Please input a number(1627): ;出现此信息后通过键盘输入一个小于628的无符号整数 1+2+…..n=sum;其中n为用户输入的数,sum为所求的累加和 程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示的范围)。编程指导 键盘输入的十进制数如 368在计算机中是以 33H,36H,38H形式存 放的,如何将它们转换 为一个二进制数0B,以 便对累加循环的循环次 数进行控制是本程序首 先要解决的问题。将键 盘输入的十进制数转换为二进制数的程序清单如下: DATA SEGMENT INF1 DB "Please input a number (0-65535):$" IBUF DB 7,0,6 DUP() DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DATA START: MOV A X, DATA MOV DS, AX MOV DX, OFFSET INF1 MOV AH, 09H INT 21H MOV DX, OFFSET IBUF ;键入一个十进制数(<65535) MOV AH, 0AH INT 21H MOV CL, IBUF+1 ;十进制数的位数送CX MOV CH, 0 MOV SI, OFFSET IBUF+2 ;指向输入的第一个字符(最高位)

循环程序设计实验

2.4 循环程序设计实验 2.4.1 实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 2.4.2 实验预习要求 1、复习比较指令、条件转移指令和循环指令。 2、复习循环程序的结构、循环控制方法等知识。 3、读懂“2.4.3 实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。 4、根据“2.4.3 实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。 5、从“2.4.4 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.4.3 实验内容 计算1+2+……n=?,其中n通过键盘输入。要求在屏幕上提供如下信息: Please input a number(1 627): ;出现此信息后通过键盘输入一个小于628的无符号整数 1+2+…..n=sum;其中n为用户输入的数,sum为所求的累加和 程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示 的范围)。 1、编程指导 (1)键盘输入的十进 制数如368在计 算机中是以 33H,36H,38H 形式存放的,如 何将它们转换为 一个二进制数 101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题。将键盘输入的十进制数转换为二进制数的程序清单如下: DA TA SEGMENT INF1 DB "Please input a number (0-65535):$" IBUF DB 7,0,6 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS: CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV DX, OFFSET INF1 MOV AH, 09H INT 21H MOV DX, OFFSET IBUF ;键入一个十进制数(<65535) MOV AH, 0AH INT 21H MOV CL, IBUF+1 ;十进制数的位数送CX MOV CH, 0

循环结构程序设计:三种循环语句

一、循环结构(Iteration Structure)的概述 1.目的 为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。 2.类型 (1)当型循环结构 (2)直到型循环结构 二、循环语句 1.while语句 ①功能:实现当型循环结构。 ②形式 while(表达式){ 循环体 } ③特点:先判断后执行。 ④举例:(累加和问题)编程计算整数1~100的和。 int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 while( i <= 100){ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 } 2.do-while语句 ①功能:实现直到型循环结构。 ②形式 do{ 循环体

}while(表达式); //注意最后的分号 ③特点:先执行后判断。 ④举例:修改上例。 /*利用do-while语句编程实现整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 do{ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 }while(i<=100);//注意最后的分号 3.for语句 ①功能:实现当型循环结构。 ②形式 for(表达式1;表达式2;表达式3){ 循环体 } ③特点:先判断后执行;使用频率最高。 ④举例:修改上例。 /*使用for语句编程计算整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 for( i = 1 ; i <=100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值 sum = sum + i ; //循环变量累加到sum中 } 4.几种循环语句的比较 ①由于while语句和for语句均实现当型循环结构,两者是完全等价的。 for(表达式1;表达式2;表达式3){

包装结构设计课程设计

《包装结构设计》课程设计说明书三星手机包装设计 学生姓名: 学号: 班级: 指导教师: 完成时间:

1 包装材料的选用原则 (1)对等性原则在选择包装材料时,首先应区分被包装物的品性,即把它们分为高、中、低三档。对于高档产品,如仪器、仪表等,本身价格较高,为确保安全流通,就应选用性能优良的包装材料。对于出口商品包装、化妆品包装,虽都不是高档商品,但为了满足消费者的心理要求,往往也需要采用高档包装材料。对于中档产品,除考虑美观外,还要多考虑经济性,其包装材料应与之对等。对于低档产品,一般是指人们消费量最大的一类,则应实惠,着眼于降低包装成本、方便使用,以经济性为第一考虑原则,可选用低档包装规格和包装材料。 (2)适应性原则包装材料是用来包装产品的,产品必须通过流通才能到达消费者手中,而各种产品的流通条件并不相同,包装材料的选用应与流通条件相适应。流通条件包括气候、运输方式、流通对象与流通周期等。气候条件是指包装材料应适应流通区域的温度、湿度、温差等。对于气候条件恶劣的环境,包装材料的选用更需倍加注意。运输方式包括人力、汽车、火车、船舶、飞机等。它们对包装材料的性能要求不尽相同,如温湿度、振动条件大不相同,因此包装材料必须适应各种运输方式的不同要求。 (3)协调性原则包装材料应与该包装所承担的功能相协调。产品的包装一般分个包装、中包装和外包装,它们对产品在流通中的作用各不相同。个包装也称小包装,它直接与商品接触,主要是保护商品的质量,多用软包装材料,如塑料薄膜、纸张、铝箔等。中包装是指将单个商品或个包装组成一个小的整体,它需满足装潢与缓冲双重功能,主要采用纸板、加工纸等半硬性材料,并适应于印刷和装潢等。外包装也称大包装,是集中包装于一体的容器,主要是保护商品在流通中的安全,便于装卸、运输,其包装材料首先应具备足够的强度,并兼顾其他的功能,多采用瓦楞纸板、木板和胶合板等硬性包装材料。 (4)美学性原则产品的包装是否符合美学,在很大程度上决定一个产品的命运。从包装材料的选用来说,主要是考虑材料的颜色、透明度、挺度、种类等。颜色不同,效果大不一样。当然所用颜色还要符合销售对象的传统习惯。材料透明度好,使人一目了然,心情舒畅。挺度好,给人以美观大方之感,陈列效果好。材料种类不同,其美感差异甚大,如用玻璃纸和蜡纸包装糖果,其效果就大不一样。 2 纸包装的适应性分析 纸类包装材料具有环保、再循环使用、节约成本等特点,随着整个国际市场对包装物环保性要求的日益提高,纸类包装材料是首选包装材料,纸类包装材料除了环保还有另外一个特点,就是可以快速通过商检关口达到快速物流节约成本的目的。现在就来了解纸包装材料的优点和用作食品包装的包装材料的性能。纸和纸板吸收和粘结油墨的能力较强,印刷性能好,因此,在包装上常用作印刷表面。纸和纸板的印刷性能主要决定于表面平滑度、施胶皮、弹性及粘结力等。在纸的加工过程中,尤其是化学法制浆,通常会残留一定的化学物质(如硫酸盐法制浆过程残留的碱液及盐类),因此必须根据包装内容物来正确合理选择各种纸和纸板。纸和纸板属于多孔性纤维材料,对水分、气体、光线、油脂等具有一定程度的渗透性,且其阻隔性受温湿度的影响较大。单一纸类包装材料一般不能用于包装水分、油脂含量较高及阻隔性要求高的食品,但可以通过适当的表面加工来满足其阻隔性能的要求。纸和纸板具有一定的强度、挺度和机械适应性,

建筑结构概念设计案例分析

题: 工程概况: 某教学楼位于8度烈度区,设计基本地震加速度为0.2g ;场地为II 类;总层数为10层,底层一层层高5.5m ,二层5m ,其他层为4.1m ,总高为5.5+5+8*4.1=43.3m ;整个结构为现浇,本题中不考虑风荷载作用;楼面荷载计算中,雪载、使用荷载取50%,永久荷载取100%。 (三)、绘出框架平面柱网布置 第二步、初步选定梁柱截面尺寸及材料强度等级 一、 初估梁柱截面尺寸 (1)框架梁截面尺寸: 梁高h=(1/10~1/18)l=(1/10~1/18)×7200=400~720取600mm 梁宽b=(1/2~1/3)h=(1/2~1/3)×600=200~300取300mm>200mm (2)框架柱截面尺寸:600×600 为了减少构件类型,简化施工,多层房屋中柱截面沿房屋高度不宜改变。 在计算中,还应注意框架柱的截面尺寸应符合规范对剪压比(0/c c c c h b f V )、剪跨比(c Vh M /=λ)、轴压比(c c c N h b f N /=μ)限值的要求,如不满足应随时调整截面尺寸,保

证柱的延性。抗震设计中柱截面尺寸主要受柱轴压比限值的控制,如以ω表示柱轴压比的限值,则柱截面尺寸可用如下经验公式粗略确定: ?ω3 2 10)1.0(?-= =c f GnF a A 式中;A ——柱横截面面积,m 2,取方形时边长为a ; n ——验算截面以上楼层层数; F ——验算柱的负荷面积,可根据柱网尺寸确定,m 2; f c ——混凝土轴心抗压强度设计值; ω——框架柱最大轴压比限值,一级框架取0.7,二级框架取0.8,三级框架取0.9。 φ——地震及中、边柱的相关调整系数,7度中间柱取1、边柱取1.1,8度中间柱取1.1、边柱取1.2; G ——结构单位面积的重量(竖向荷载),根据经验估算钢筋混凝土高层建筑约为12~18kN /m 2。 A= 18x9x54x17.4/52x1.1 =0.32m 2 14.3x(0.8-0.1)x103 故0.6X0.6的柱子符合 二、 材料强度等级 1、 混凝土的强度等级:梁、柱和节点选用C30,其他各类构件选用C25。 2、 钢筋的强度等级:纵向钢筋采用II 、III 级变形钢筋,箍筋采用I 级钢筋。 三、 确定计算简图、选取计算单元 1、 画出水平计算简图,标注框架编号(横向为1、 2、3-----,纵向为A 、B 、C---)、框 架梁编号(材料、截面和跨度相同的编同一号),确定梁的计算跨度。

微机原理与汇编语言_实验3_循环程序设计实验汇总

微机原理与汇编语言 实验报告 姓名x x x学号xxxxxx 专业班级计科x班 课程名称微机原理与汇编语言实验日期2014.10.22 实验名称循环程序设计实验成绩 一、实验目的 1、掌握循环程序的设计方法。 2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。 二、实验内容 1、实验原理 (1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题 (2)累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数 2、实验步骤 (1)流程图 (2)实验源码 .model small .stack ;定义堆栈段 .data ;定义数据段 inf1 db "Please input a number(1-627):$" inf2 db 0ah, 0dh, "1+2+......+$" ibuf db 7, 0, 6 dup(0) obuf db 6 dup(0) .code start: mov ax, @data mov ds, ax mov dx, offset inf1 ;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax 中 mov ah, 09h int 21h mov dx, offset ibuf mov ah, 0Ah int 21h mov cl, ibuf+1 mov ch, 0 mov si, offset ibuf+2 mov ax, 0 loop1: mov dx, 10 mul dx and byte ptr [si], 0Fh add al, [si] 从键盘输入一个十进制数,并将其转换为二进制数,存放在AX中 开始 结束 素、、 (CX)-1=0 累加循环次数送CX(MOV CX,AX)AX清0(AX中存放累加和) BX送1(BX存放每次循环累加的数,每循环一次,BX值加1) ADD AX,BX INC BX 累加和(在AX中)转换为十进制数并 显示 Y N

相关文档 最新文档