实验二结构化程序设计题目及答案

合集下载

C语言程序设计实验指导书参考答案_第二版

C语言程序设计实验指导书参考答案_第二版
数的整除由键盘输入个整数逐个判断它们能否被27整除能的输出yes不能的输出no注意输出时一个判断结果占一行5个数的判断共占5第一组自测数据键盘输入271757732554正确输出yesyesyes第二组自测数据键盘输入271757732554正确输出yesyesyes提示整除即除得余数为0参考程序
C 语言程序设计 上机实验指导与习题(第二版) 参考答案(仅供教师内部参考)来自华南农业大学目 录
上机实验 ................................................................................................................................................................... 1 实验 1 C 语言程序初步 .................................................................................................................................... 1 一、实验目的............................................................................................................................................ 1 二、实验内容............................................................................................................................................ 1 实验 2 基本数据类型、运算和表达式 ........................................................................................................... 2 一、实验目的............................................................................................................................................ 2 二、实验内容............................................................................................................................................ 2 实验 3 基本输入与输出 ................................................................................................................................... 4 一、实验目的............................................................................................................................................ 4 二、实验内容............................................................................................................................................ 4 实验 4 选择结构程序设计 ............................................................................................................................... 3 一、实验目的............................................................................................................................................ 3 二、实验内容............................................................................................................................................ 3 实验 5 循环结构程序设计(一) ................................................................................................................... 8 一、实验目的............................................................................................................................................ 8 二、实验内容............................................................................................................................................ 8 实验 6 循环结构程序设计(二) ................................................................................................................. 14 一、实验目的.......................................................................................................................................... 14 二、实验内容.......................................................................................................................................... 14 实验 7 数组..................................................................................................................................................... 17 一、实验目的.......................................................................................................................................... 17 二、实验内容.......................................................................................................................................... 17 实验 8 字符数组的应用 ................................................................................................................................. 21 一、实验目的.......................................................................................................................................... 21 二、实验内容.......................................................................................................................................... 21 实验 9 函数的基本应用 ................................................................................................................................. 24 一、实验目的.......................................................................................................................................... 24 二、实验内容.......................................................................................................................................... 24 实验 10 指针与结构体 ................................................................................................................................... 26 一、实验目的.......................................................................................................................................... 26 二、实验内容.......................................................................................................................................... 26 *实验 11 链表 ................................................................................................................................................ 29 一、实验目的.......................................................................................................................................... 29 二、实验内容.......................................................................................................................................... 29 *实验 12 文件............................................................................................................................................... 32 一、实验目的.......................................................................................................................................... 32 二、实验内容.......................................................................................................................................... 32

C语言程序设计结构习题与答案

C语言程序设计结构习题与答案

C语言程序设计结构习题与答案1. 介绍C语言是一种广泛应用于系统软件和应用软件开发的高级程序设计语言。

C语言程序设计结构是指程序的组织形式和编写规范。

在学习C 语言时,我们需要通过练习习题来提升自己的编程能力。

本文将介绍一些C语言程序设计结构习题,并给出相应的答案。

2. 基本语法习题2.1 输出Hello, World!要求:编写一个程序,在屏幕上输出"Hello, World!"。

答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2.2 输入输出整数要求:编写一个程序,从键盘输入一个整数,然后将其加1后输出。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("加1后的值为:%d\n", num + 1);return 0;}```3. 控制结构习题3.1 判断奇偶数要求:编写一个程序,判断一个输入的整数是奇数还是偶数,并输出相应的结果。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("输入的整数为偶数\n");} else {printf("输入的整数为奇数\n");}return 0;}```3.2 计算阶乘要求:编写一个程序,计算输入的正整数的阶乘并输出。

答案:```c#include <stdio.h>int main() {int num, factorial = 1, i;printf("请输入一个正整数:");scanf("%d", &num);for (i = 1; i <= num; i++) {factorial *= i;}printf("%d的阶乘为:%d\n", num, factorial);return 0;}```4. 数组与函数习题4.1 求数组元素和要求:编写一个程序,计算一个整型数组中所有元素的和并输出结果。

程序设计的实验报告答案

程序设计的实验报告答案

程序设计的实验报告答案程序设计的实验报告答案引言:在计算机科学与技术领域,程序设计是一项重要的技能。

通过实验,我们可以学习和掌握不同编程语言的基本概念和技术,提高我们的编程能力。

本文将从实验的角度,探讨程序设计的一些关键问题和解决方案。

实验一:变量和数据类型在程序设计中,变量和数据类型是最基本的概念。

在实验一中,我们需要学习如何声明和使用变量,以及不同的数据类型。

例如,整数、浮点数、字符和字符串等。

对于不同的数据类型,我们需要了解它们的特点和使用方法,以便正确地进行计算和处理。

实验二:控制结构控制结构是程序设计中用于控制程序流程和执行顺序的重要工具。

在实验二中,我们将学习条件语句、循环语句和分支语句等控制结构的使用方法。

通过掌握这些知识,我们可以根据不同的条件和需求,灵活地控制程序的执行路径,实现复杂的逻辑和功能。

实验三:函数和模块化在实际的程序开发中,模块化是一种重要的设计原则。

通过将程序分解为不同的函数模块,可以提高代码的可读性、可维护性和重用性。

在实验三中,我们将学习如何定义和调用函数,以及如何使用参数和返回值传递数据。

通过合理地设计和使用函数,我们可以将程序分解为多个独立的功能模块,提高程序的效率和可靠性。

实验四:数组和数据结构数组是一种常用的数据结构,用于存储和处理大量的数据。

在实验四中,我们将学习如何声明和使用数组,以及如何进行数组的遍历和操作。

此外,我们还将介绍一些常见的数据结构,如栈、队列和链表等。

通过掌握这些知识,我们可以更好地处理和组织数据,实现更复杂的算法和功能。

实验五:文件操作和异常处理在实际的程序开发中,文件操作和异常处理是不可或缺的技能。

在实验五中,我们将学习如何打开、读取和写入文件,以及如何处理文件操作中可能出现的异常。

通过合理地处理异常,我们可以提高程序的健壮性和可靠性,避免程序崩溃或数据丢失的情况。

实验六:面向对象编程面向对象编程是一种常用的编程范式,通过将数据和操作封装在对象中,实现代码的模块化和重用。

C语言程序设计实例教程第2版习题答案作者李红第5章循环结构程序设计.doc

C语言程序设计实例教程第2版习题答案作者李红第5章循环结构程序设计.doc

5.5课后习题5.5.1项目练习一. 练习目的1.进一步练习循环结构程序设计2.进一步练习循坏恢套结构程序设计3・进一步提高综合编程和调试程序的能力二. 练习内容1.打印输出所有的水仙花数(所谓水仙花数,是指一个三位数,其各位数字立方和等于该数木身)。

#include "stdio.h"main(){int m,x,y,z;for(m=100;m<1000;m++){x=m/100;y=m%100/10;z=m%10;if(m==x*x*x+y*y*y+z*z*z)printf("%d是水仙花数\nb;}getch();}2.求fibonacci 数列:1, 1, 2, 3, 5, 8,••-的前40 项,即fi=l (n=l)f2=l (n=2)f3=2 (n=3)• • •fn=fn-l+fn-2 ( n>=3 )#include "stdio.h11main(){int i;float m=0,n=l;for(i=l;i<41;i++){m+二n;nprintf(H%9.0f n,m);if(i%5==0)printf(l,\n H);getch();}3・求整数1〜100的累加值 > 但要求跳过所有个位为3的数oinclude "stdio.h"main(){int s=0;for(int i=l;i<=100;i 卄){if (i/10==3)conti nue;elses=s+i;}printf('%d 舄s);getch();}4.打印输出100至200之间的全部索数。

#include "'stdio.h"main(){int i,j;for(i=100;i<=200;i++){for(j=2;j<i;j++){if(i%j==O)break;}if(i”j)printf(” %d\n'7i);}getch();}5.试编程,找出「99之间的全部同构数。

C语言程序设计教程(第二版)张敏霞 参考答案

C语言程序设计教程(第二版)张敏霞 参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 (3)1-1 填空题 (3)1-2 思考题 (3)1-3 编程题 (3)习题2 (4)2-1 单选题 (4)2-2 思考题 (4)习题3 (5)3-1 选择题 (5)3-2 填空题 (5)3-3 编程题 (5)习题4 (7)4-1单选题 (7)4-2填空题 (7)4-3 编程题 (7)习题5 (10)5-1单选题 (10)5-2填空题 (10)5-3 编程题 (10)习题6 (13)6-1单选题 (13)6-2填空题 (13)6-3 编程题 (13)习题7 (15)7-1单选题 (15)7-2填空题 (15)7-3 编程题 (15)习题8 (16)8-1单选题 (16)8-2填空题 (16)8-3 编程题 (16)习题9 (18)9-1单选题 (18)9-2填空题 (18)9-3 编程题 (18)习题10 (22)10-1单选题 (22)10-2填空题 (22)10-3 编程题 (22)习题11 (24)11-1单选题 (24)11-2填空题 (24)习题12 (25)12-1单选题 (25)12-2 填空题 (25)实验篇 (26)实验1 熟悉Visual C++6.0可视化集成开发环境 (26)实验2 顺序结构程序设计 (26)实验3 选择结构程序设计 (26)实验4 循环结构程序设计 (26)实验5 函数 (28)实验6 数组 (32)实验7 指针 (33)实验8 结构体和共用体 (35)实验9 文件 (36)实验10 综合编程 (36)模拟试卷(一)参考答案 (37)模拟试卷(二)参考答案 (38)习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

实验3 顺序结构程序设计(含答案)

实验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、(基础题)改错题:以下程序有多处错误,若按下列截图所示格式输入、输出数据,请在程序的相应位置上改正错误。

二级C++语言程序设计模拟试题及答案解析(17)

二级C++语言程序设计模拟试题及答案解析(17)

二级C++语言程序设计模拟试题及答案解析(17)(1/40)单项选择题第1题下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除下一题(2/40)单项选择题第2题下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确上一题下一题(3/40)单项选择题第3题某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7上一题下一题(4/40)单项选择题第4题软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统上一题下一题(5/40)单项选择题第5题结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOTO跳转C.选择(分支)结构D.重复(循环)结构上一题下一题(6/40)单项选择题第6题下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具上一题下一题(7/40)单项选择题第7题负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言上一题下一题(8/40)单项选择题第8题一个教师叮讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系上一题下一题(9/40)单项选择题第9题有三个关系R、S和T如下:图片则由关系R和S得到关系T的操作是( )。

C语言程序设计学习指导与实践教程习题和实验解答(第2章)2

C语言程序设计学习指导与实践教程习题和实验解答(第2章)2

C语言程序设计学习指导与实践教程——第2章习题和实验解答2.1 C语言概述1.【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。

或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

有穷性:一个算法应包含有限的操作步骤而不能是无限的。

确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。

有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。

对于程序设计人员,必须会设计算法,并根据算法写出程序。

可以用自然语言、流程图、伪代码和计算机语言表示算法。

3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。

ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。

4.用传统流程图表达如下:5. 计算机硬件系统的组成:计算机硬件系统主要由运算器、控制器、存储器、输入设备和输出设备构成,运算器和控制器合称为中央处理器(CPU),输入设备和输出设备统称为外部设备。

6.计算机网络常用的传输介质:分为有线介质和无线介质;有线介质包括光纤、同轴电缆和双绞线;无线介质包括红外信号、微波等。

2.2 数据类型与表达式1.【习题解答】一、选择题1.D2.B3.A4.B5.A6.B7.D8.D9.C二、填空题1.整型、实型、字符型、枚举类型2.3.5000003.逗号运算符4.三,自右向左5.1,06.32767三、编程题1.已知球的半径为1.5cm,计算球的体积。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言实验二题目及答案
第一次课(2学时):
必作实验:
1.编写程序,输入一个正整数,计算并显示该整数的各位数字之和,例如,整型数1987
的各位数字之和是1+9+8+7,等于25。

2.编写一个程序,找出被2,3,5整除时余数均为1的最小的10个自然数。

选作实验:
3. 编写一个程序,它打印出个位数是6、且能被3整除的所有三位正整数及其个数。

要求一行打印8个数据。

4. 求N内的勾股数(A2+B2=C2)A、B、C。

参考答案:
1、答:
#include <stdio.h>
void main( )
{
int i,sum;
int k;
printf("\nEnter a integer:");
scanf("%d",&i);
sum=0;
while(i!=0)
{
k=i%10; /*取数字的最后一位*/
sum=sum+k; /*累加到计数器中*/
i=i/10; /*去掉数字的最后一位*/
}
printf("sum is %d\n",sum);
}
2、答:
程序如下:
#include <stdio.h>
void main ( )
{
int i=1;
int count=0;
printf ("\n能被2,3,5整除时余数为1的最小10个自然数是:\n");
while (count<=10)
{
if ((i%2==1)&&(i%3==1)&&(i%5==1))
{
count++;
printf ("%d\n",i);
}
i++;
}
}
3、【解】题目中要求打印的是三位数,且个位数必须是6。

因此可以for循环,它的循环控制变量从106开始,直到996为止,增量为10(因此要保证个位数是6)。

由于还要打印这种数据的总个数,因此需要设置一个用于计数的变量,比如是count。

发现一个这样的数,它就加1。

为了满足一行打印8个数据要求,可以利用计数器count,让这样的数一个个地打印下去。

如果count %8= =0,就打印一个回车换行。

具体程序如下:
#inc lud e <std io.h>
void ma in( )
{
int cou nt=0,j;
for(j=106;j<=996;j+=10)
{
if(j%3!=0)
cont inu e;
else
{
coun t++;
prin tf("%d\t",j);
if(c oun t%8==0)
prin tf("\n");
}
}
prin tf("\n The co unt is %d\n",co unt);
}
运行此程序,输出结果如下图所示。

4、【解析】
(1)分析题意,建立数据模型,设计算法。

该问题可用枚举法实现,直接用C语言描述:
scanf (“%d”,&n); /* 输入n */
for (A=1;A<n-1;A++) /* 生成A值*/
for (B=A+1;B<n;B++) /*生成C值*/
{
C=(int)sqrt (A*A+B*B); /*计算C值*/
if ((C<=n)&&(A*A+B*B==C*C)) /* 输出勾股数*/
{
printf (“[%5d”“%5d”%5d] “,A,B,C);
count + +;
if (count%3= =0) printf (“\n”);
}
}
(2) 编程。

#include <stdio.h>
#include <math.h>
void main( )
{
int n,A,B,C,count=0;
printf("输入一个正整数:");
scanf ("%d",&n);
for (A=1;A<n-1;A++)
for (B=A+1;B<n;B++)
{
C=(int)sqrt(A*A+B*B);
if ((C<=n)&&(A*A+B*B==C*C))
{
printf ("[%5d %5d %5d]",A,B,C);
count++;
if (count%3==0)printf ("\n");
}
}
printf ("\n");
}
(3)程序运行示例
输入一个正整数:40
[ 3 4 5 ] [ 5 12 13 ] [ 6 8 10 ] [ 7 24 25 ] [ 8 15 17 ] [ 9 12 15 ] [ 10 24 26 ] [ 12 16 20 ] [ 12 35 37 ] [ 15 20 25 ] [ 15 36 39 ] [ 16 30 34 ] [ 18 24 30 ] [ 20 21 29 ] [ 21 28 35 ] [ 24 32 40 ]
第二次课(2学时):
必作实验:
1.编写程序。

功能是找出1至99之间的全部同构数。

所谓同构数是这样的一组数:它出现在平方数的右边。

(例如:5是25右边的数,25是625右边的数,5和25都是同构数。

)2.写程序。

打印出100以内个位数为6,并且能被3整除的所有数。

选作实验:
3. 找出1~999之内的能被3整除、且至少有一位数字为5的整数,以每行15个整数形式输出。

4. 编写一个程序,求一个四位数,它的十位上的数字是1,个位上的数字为2,且这个数能被7、8、9整除。

参考答案:
1、答案:
#include <stdio.h>
void main()
{
int i;
for(i=1;i<=9;i++)
if(i * i % 10 == i) printf("%3d是同构数\n", i );
for(i=10;i<100;i++)
if( i * i % 100 == i) printf("%3d是同构数\n", i );
}
2、答案;
#include <stdio.h>
void main()
{
int m,n;
for (m=0;m<=9;m++)
{
n=m*10+6;
if(n%3!=0) continue;
printf("%d\n",n);
}
}
3、【解析】
(1)分析题意,建立数据模型,设计算法。

(2)编程。

#include <stdio.h>
void main ( )
{
int n,found1,found2,count=0,t;
for (n=1;n<=999;n++)
{
found1=0;found2=0;
if (n%3==0)found1=1; /*判别n能否被3整除*/
t=n; /*判别n是否含有数字5*/
while (found1 && t!=0 && !found2)
{
if (t%10==5)found2=1;
t/=10;
}
if (found1 &&found2) /* 输出满足条件的n和计数*/
{
printf ("%4d",n);
count++;
if(count%15==0) printf ("\n"); /*控制换行*/
}
}
printf ("\n");
}
(3)程序运行示例:
15 45 51 54 57 75 105 135 150 153 156 159 165 195 225
252 255 258 285 315 345 351 354 357 375 405 435 450 453 456 459 465 495 501 504 507 510 513 516 519 522 525 528 531 534 537 540 543 546 549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 615 645 651 654 657 675 705 735 750 753 756 759 765 795 825 852 855 858 885 915 945 951 954 957 975
4、答案:
#include <stdio.h>
void main()
{
int n,a,b;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
{
n=1000*a+100*b+10+2;
if(n%7==0&&n%8==0&&n%9==0)
printf("n=%d\n", n);
}
}。

相关文档
最新文档