C++程序设计实验-1-7 - 完整
- 格式:doc
- 大小:73.50 KB
- 文档页数:17
C++程序设计实验实验报告要求红色为实验报告必包括内容502:ftp://192.168.200.210实验一熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-1,输入并运行。
二、参照例1-2,用结构化方法编程实现:1、根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)2、P43编程题1,2,31.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标x和纵坐标y,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11 正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。
实验二进一步熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-2,输入并运行。
二、参照例1-2,用面向对象方法编程实现:根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用它来计算。
(1学分=18学时)提示:1、定义一个类,类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员函数包括:设置每学年学费、专业总学分、课程学分; 显示每学年学费、专业总学分、课程学分; 计算上某课程的总花费; 计算上某课程的每学时花费; 计算上某课程的每分钟的花费;2、说明1个或几个对象,计算并输出相应各结果。
三、P39习题1: 1.1-1.4根据需要编程上机检验其中的部分题目。
实验三1.输入某学生成绩,若成绩在85分以上输出“very good ”,若成绩在60分到85分之间输出“good ”,若成绩低于60分输出“no good ”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-----=59069607970898010090(不合格)(合格)(中等)(良好)(优秀)(级别)E D C B A grade5.编程序模拟剪刀、石头和纸游戏。
C语言实验报告实验1—1:hello world程序:源代码:#include〈stdio.h>main(){printf(”hello world!\n”);system(”pause");}实验1—2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#include<stdio。
h〉main(){int i,j,k,sum;scanf("%d%d%d",&i,&j,&k);sum=i+j+k;printf("sum=%d",sum);system(”pause”);实验1—3:在屏幕上输出如下图形:ABBBCCCCC源代码:#include<stdio。
h〉main(){printf(” A\n”);printf(" BBB\n”);printf(” CCCCC\n");system(”pause");}实验2—1:计算由键盘输入的任何两个双精度数据的平均值源代码:#include〈stdio.h〉main(){double a,b;scanf("%lf%lf”,&a,&b);printf("%。
1lf\n”,(a+b)/2);system(”pause”);}实验2—2:写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算源代码:#include<stdio.h〉main(){float a,b,c,d,e,f,g,x;scanf("%f%f%f%f%f%f%f”,&a,&b,&c,&d,&e,&f,&g);x=a + b *(c - d )/ e *f - g;printf(”x=%f”,x);system("pause");}实验2-3:编写一个C语言程序,测试下列各表达式:i,ji + 1 , j + 1i++ , j++++i ,++ji+++++j源代码:#include<stdio。
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/2 10.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
计算机软件基础实验指导书计算中心辽宁工业大学2008年12月目录实验一熟悉C语言编程环境 (1)实验二基本数据处理 (8)实验三计算分段函数 (11)实验四指定次数的循环 (15)实验五分支结构程序设计 (18)实验六循环结构程序设计(一) (24)实验七循环结构程序设计(二) (29)实验八循环结构程序设计(三) (34)实验九循环结构程序设计(四) (39)实验十函数程序设计(一) (43)实验十一函数程序设计(二) (50)实验十二一维数组程序设计 (57)实验十三二维数组程序设计 (63)实验十四字符数组程序设计 (70)实验十五指针程序设计 (76)实验十六结构程序设计 (87)实验十七文件 (93)实验一熟悉C语言编程环境【实验目的】1、熟悉C语言编程环境,掌握C程序在Visual C++ 6.0环境下的编辑、编译、连接和运行。
2、能够编写简单的C程序。
3、掌握程序的调试方法,能够找出并改正程序中的语法错误。
【实验内容】一、在Visual C++ 6.0编程环境下的操作步骤用一个示例详细介绍C语言源程序在Visual C++ 6.0编程环境下,操作的整个过程。
【示例】在屏幕上显示你的学号、姓名和专业源程序:/*在屏幕上显示你的学号、姓名及专业*/#include "stdio.h"void main(){printf("\t08001020\t张楠\t车辆工程\n");}操作步骤:(1)启动VC++。
执行“开始”“程序”“Microsoft Visual Svtudio 6.0”“Microsoft Visual C++ 6.0”命令,进入VC++编程环境(如图1-1所示)。
图1-1 VC++窗口(2)新建文件。
执行“文件”“新建”命令,单击“文件”选项卡(如图1-2所示),选列表中的“C++ Source File”,在“文件”文本框中输入2-1.c,在“C目录”文本框确定存放位置,然后单击确定。
《C++程序设计》实验实验一简单C++程序设计实验二类和对象程序设计实验三运算符重载程序设计实验四模板程序设计实验五继承与派生类程序设计实验六多态与虚函数程序设计实验七文件应用综合程序设计一、实验目的1.熟悉Visual C++ 6.0开发环境,掌握编辑、编译、连接和运行C++程序的方法。
2.掌握C++程序的输入和输出方法。
3.掌握C++程序的特点、基本结构和语法规则。
二、实验要求1.实验前做好充分准备,包括复习第一章、第二章、第三章所学内容,事先预习好本次实验内容。
2.实验时记录实验结果,按要求完成各题。
3.实验结束后,给出实验总结与分析并及时给出本次实验的实验报告。
三、实验内容1.从键盘上输入三个整数,输出其中的最小数。
参见P35/2.5, 2.62.设计一个计算器程序,实现加、减、乘、除运算。
参见P42/2.103.从键盘上输入一个正整数n,用递归方法编程输出n!的值。
编程实现输出1!+2!+3!………+n!的值。
参见P88/3.12 P43/2.114.中国古代数学史上著名的"百鸡问题":鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。
百钱买百鸡,问鸡翁、母、雏各几何?将百鸡问题计算结果存入file1.txt文件中;并从file1.txt文件中读出数据在显示器上输出。
参见P55/2.20 P63/2.25---2.265.用函数重载方法分别输出两个整数、两个实数和三个整数之和。
P94/3.16一、实验目的1.掌握C++中类的定义、成员函数的定义方法。
2.掌握C++中类的对象的定义和使用方法。
3.掌握C++中类的构造函数、析构函数、复制构造函数的应用。
二、实验要求1.实验前做好充分准备,包括复习第四章所学内容,事先预习好本次实验内容。
2.实验时记录实验结果,按要求完成各题。
3.实验结束后,给出实验总结与分析并及时给出本次实验的实验报告。
三、实验内容1.设计并测试一个矩形类(Rectangle),属性为矩形的左下与右上角的坐标,矩形水平放置。
实验手册使用及要求实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该表达完整性、标准性、正确性、有效性。
现将实验报告撰写的有关内容说明如下:1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。
2、实验完毕后填写通过后的源程序和对实验的总结。
3、通过后的源程序可以手写也可以打印粘贴。
实验工程一览表实验一熟悉C语言编程环境实验目的:1.熟悉C语言编程环境〔VC++、Cfree、Turboc等〕2.了解C程序的根本框架3.理解程序调试的思想,能找出并改正C程序中的错误实验内容:1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序1.2 编程例如在屏幕上显示一个短句“Programming in C is fun!〞〔教师例如,学生模仿并创新,如输出汉字、特除字符等。
学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、翻开〕1.3 编程在屏幕上显示如下网格。
+---+---+| | || | |+---+---+调试例如改正以下程序中的错误,在屏幕上显示“Welcome to You !〞。
〔掌握找错、改错的方法〕源程序:# include <stdio.h>int mian(void){printf(Welcome to You! \n")getchar();return 0;}注:需要修改的语句直接在程序上标注并修改实验总结:实验二用C语言编写简单程序实验目的:1.掌握算术表达式和赋值表达式的使用2.掌握根本输出函数的使用3.能够自己编程实现简单的数据处理4. 熟练掌握简单if语句使用5. 熟练掌握for语句的使用6. 掌握简单C程序的查错方法、单步调试实验内容:2.1 调试以下程序,求华氏温度对应的摄氏温度。
计算公式为:C=5*(f-32)/9#include <stdoi.h>int main(void){int celsius; fahr;scanf("%d ",fahr);celsius = 5 * (fahr - 32) / 9;printf("fahr = d, celsius = %d\n", fahr, celsius);return 0;}注:需要修改的语句直接在程序上标注并修改2.2编写程序计算定期存款本利之和:设银行定期存款的年利率rate为2.25%,并存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。
常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。
2. 掌握C程序的编辑、调试及运行。
二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:2项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。
程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
二、预习内容:教材《C语言程序设计教程》第2章。
三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。
C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。
《C语言程序设计实验》实验报告实验目的:通过完成实验,加深对C语言程序设计的理解,掌握C语言中常用的编程技巧和方法,提高编程能力。
实验内容:本次实验包括以下三个实验题目:1.编写一个C程序,实现输入5个整数,然后按照从小到大的顺序输出这5个整数。
2.编写一个C程序,实现输入一个整数n,计算并输出从1到n的所有自然数的阶乘。
3.编写一个C程序,实现输入一个整数n,计算并输出n的前n项斐波那契数列。
实验步骤:1.第一个实验题目的完成步骤:1.1.定义一个长度为5的整型数组,用于存储输入的5个整数。
1.2. 使用for循环语句输入5个整数,并将其存储到数组中。
1.3.使用冒泡排序算法对数组进行排序。
1.4. 使用for循环语句输出排序后的数组。
2.第二个实验题目的完成步骤:2.1.定义一个变量n,用于存储输入的整数。
2.2. 使用for循环语句计算并输出从1到n的阶乘。
3.第三个实验题目的完成步骤:3.1.定义一个整型数组,用于存储斐波那契数列。
3.2.输入一个整数n,用于确定斐波那契数列的长度。
3.3. 使用for循环语句计算并输出前n项斐波那契数列。
实验结果:经过实验,我成功完成了以上三个实验题目,分别实现了输入5个整数按照从小到大排序输出、计算n的阶乘以及输出n的前n项斐波那契数列的功能。
实验总结:通过本次实验,我巩固了C语言的基础知识,掌握了数组、循环和排序算法等编程技巧。
在实验中,我发现了程序设计中的一些细节问题,并通过修改和调试解决了这些问题,提高了自己的编程能力。
在未来的学习中,我会继续深入学习C语言及其他编程语言,不断提升自己的编程水平。
第3章实验安排实验1 C实验环境与C程序初步一、目的和要求1.熟悉C程序运行环境。
2.初步了解运行一个C程序的过程(编辑、编译、连接和运行)。
3.通过运行和模仿编写简单的C程序,初步了解C源程序的结构和特点。
二、实验内容1.熟悉计算机中安装的C编译集成环境,新建一个C文件,输入下面的程序,编译并执行。
学习运行程序的过程,并分析运行结果。
#include <stdio.h>void main( ){int a=2,b=3,c;c=a+b;printf("sum=%d\n",c);}2.输入下面的程序,改正错误,并对其进行编译、链接和运行。
#include <stdio.h>void mian( ){printf("This is a C program.\n');}3.理解下面程序的功能,编译并运行程序。
输入两个整数,分析并验证程序的运行结果。
#include <stdio.h>int sum(int x,int y){int z;z=x+y;return(z);}void main( ){int a,b,c;scanf("%d%d",&a,&b);c=sum(a,b);printf("sum=%d\n",c);}提示:①这是一个包含自定义函数sum( )的程序。
②注意scanf( )函数的数据输入格式,输入的两个整数之间可以用空格或者回车或者制表符隔开。
4.编写一个程序,输出以下信息:********************Hello everyone!********************提示:本题可以使用一个或三个输出函数printf( )来实现输出三行信息。
要注意的是printf( )函数一次可以输出多个数据或字符,“\n”用来表示回车换行。
5.编写一个程序,输出图4.1中的图形。
实验1熟悉Visual C++6.0环境及运行C程序一、实验目的1.掌握在Visual C++6.0环境下C程序的建立、编辑、编译和执行过程。
2.掌握C程序的最基本框架结构,完成简单程序的编制与运行和调试。
3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。
二、实验内容1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。
输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。
#include <stdio.h>main(){int a,b,sum; /*定义整型变量a、b、sum */printf("Please Input a,b \n "); /*输出提示信息*/scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a和b*/sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/printf("%d*%d+ %d*%d=%d\n",a,a,b,b,sum); /*输出语句*/}2. 改错题(1计算x*y 的值并将结果输出。
试纠正程序中存在的错误,以实现其功能。
程序以文件名sy1_2.c 保存。
#include <stdio.h>main main (){ int x=2;y=3;a int x=2,y=3,a ; A=x*y a =x*y ;print ('a=%d",A); print f ("a=%d",a );printf("\n");}(2)下程序的功能为:求两数中的较大数据并输出。
纠正程序中存在的错误,以实现其功能。
程序以文件名sy1_3.c 保存。
#include <stdio.h>viod main() void main() {int a ,b , max;Scanf(“%d,%d ”,&a,&b); s canf(“%d,%d ”,&a,&b); Max=a; m ax=a;If (max<b) max=b; i f (max<b) max=b; Printf(“max=%d ”,max); p rintf(“max=%d ”,max); }3.程序填空题(1)从键盘输入两个整数,输出这两个整数的和。
实验一顺序结构程序设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
二、实验的内容和步骤1.以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
#include<stdio.h>void main(){double a,b,c,s,v;printf(input a,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("%d%d%d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:1.0 2.0 3.0→此处的1.02.03.0是用户输入的数据a=1.000000b=2.000000,c=3.000000→此处是要求的输出格式s=2.000000,v=6.000000相关知识:①检查程序错误时应注意几点:a)有时程序中一个错误会引发一系列错误信息,工作中不应被这种情况所迷惑,改正了一些错误后应及时对源程序重新进行编译;b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。
对于警告信息同样要逐个仔细分析。
除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。
实际上,很多警告都是因为程序中确实有严重的隐含错误。
d)在连接中发现新错误也需要仔细检查和修改程序。
连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。
系统不能对连接错误给以自动定位,只能提供有关的名字信息等。
《C语言程序设计实验》指导书(简明版)**大学软件学院**年**月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤;2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程;#include <stdio.h>int main( ){printf("Hello, world!\n");return 0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
#include <stdio.h>int main( ){int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = 'R';long n = 5461237;unsigned u = 65535;printf("%d,%d\n", a, b);printf("%3d,%3d\n", a, b);printf("%f,%f\n", x, y);printf("%-10f,%-10f\n", x, y);printf("%8.2f,%8.2\n", x, y);printf("%.4f,%.4f\n", x, y);printf("%3f,%3f\n", x, y);printf("%e,%10.2e\n", x, y);putchar(d);putchar('\n');printf("%c,%d,%o,%x\n", d, d, d, d);printf("%ld,%lo,%x\n", n, n, n);printf("%u,%o,%x,%d\n", u, u, u, u);return 0;}(3)[验证型]编辑下列程序,进行编译、连接和运行。
《C 语言程序设计》实验指导书实验一C 程序的运行环境一、实验目的1、了解所用的计算机系统的基本操作方法,学会独立使用该系统;2、了解在该系统上如何编辑、编译、连接和运行一个C 程序;3、通过运行简单的C 程序,初步了解C 程序二、实验预习1、认真阅读简单的C 程序介绍,C 程序上机步骤部分内容;2、编写好所需要的程序,程序的书写应该清楚整洁,一般检查应该是没有明显的错误。
如果在程序中有疑问的地方,可以标记起来,以便于上机调试时予以注意。
初学者特别忌讳上机前自己不编写程序,到时随便地抄别人的程序。
三、实验指导1、输入并运行一个简单的程序,从而熟悉所用系统的上机方法与步骤。
(1)选择“File”—“New”—“Win32 console application”,输入工程名称,确定。
直接选择第一项“An empty project”,点击“Finish”。
“File”—“New”—File框下面选择文件类型“C++ Source File” ,输入文件名称,点击“OK”。
(2)输入下面的程序(例题1.1)#include <stdio.h>void main( ){printf("This is a C program.\n");}(3)选择“Build”菜单下“Compile”选项,快捷键为Ctrl+F7。
编译过程将源代码转化成目标文件格式,后缀名为.o。
选择“Build”菜单下“Build”选项,快捷键为F7。
如果出现“出错信息”,则应找出原因并改正之,再进行编译构建。
(4)如果编译无错误,选择“Build”菜单“Execute”选项,运行程序,快捷键为Ctrl+F5,观察分析运行结果。
2、输入并编辑一个C 程序(1)同上,新建工程和文件。
(2)输入以下程序(例题1.2,但故意漏打或打错几个字符)#include <stdio.h>void main( ){int a,b,sum ;a=123 ;b=456 ;sum=a+b ;printf("sum is %d\n",sum);}(3)以下步骤同上一例题3、输入并运行一个需要在运行时输入数据的程序(1)清空编辑窗口,输入下面的程序(例题1.3)。
C程序设计实验-1-7实验报告要求红色为实验报告必包括内容502:ftp://192.168.200.210实验一熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-1,输入并运行。
二、参照例1-2,用结构化方法编程实现:1、根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)2、P43编程题1,2,31.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标某和纵坐标y,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。
实验二进一步熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-2,输入并运行。
二、参照例1-2,用面向对象方法编程实现:根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用它来计算。
(1学分=18学时)提示:1、定义一个类,类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员函数包括:设置每学年学费、专业总学分、课程学分;显示每学年学费、专业总学分、课程学分;计算上某课程的总花费;计算上某课程的每学时花费;计算上某课程的每分钟的花费;2、说明1个或几个对象,计算并输出相应各结果。
三、P39习题1:1.1-1.4根据需要编程上机检验其中的部分题目。
实验三1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:grade(级别)A(优秀)B(良好)C(中等)D(合格)E(不合格)901008089707960690595.编程序模拟剪刀、石头和纸游戏。
C++程序设计实验实验报告要求红色为实验报告必包括内容502:ftp://192.168.200.210实验一熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-1,输入并运行。
二、参照例1-2,用结构化方法编程实现:1、根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)2、P43编程题1,2,31.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标x和纵坐标y,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11 正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。
实验二进一步熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-2,输入并运行。
二、参照例1-2,用面向对象方法编程实现:根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用它来计算。
(1学分=18学时)提示:1、定义一个类,类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员函数包括:设置每学年学费、专业总学分、课程学分; 显示每学年学费、专业总学分、课程学分; 计算上某课程的总花费; 计算上某课程的每学时花费; 计算上某课程的每分钟的花费;2、说明1个或几个对象,计算并输出相应各结果。
三、P39习题1: 1.1-1.4根据需要编程上机检验其中的部分题目。
实验三1.输入某学生成绩,若成绩在85分以上输出“very good ”,若成绩在60分到85分之间输出“good ”,若成绩低于60分输出“no good ”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-----=59069607970898010090(不合格)(合格)(中等)(良好)(优秀)(级别)E D C B A grade5.编程序模拟剪刀、石头和纸游戏。
二、参照例1-2,用结构化方法编程实现:1、 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)2、 P43编程题1,2,31.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标x 和纵坐标y ,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11 正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。
根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用它来计算。
(1学分=18学时) 提示:1、定义一个类,类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员函数包括:设置每学年学费、专业总学分、课程学分;显示每学年学费、专业总学分、课程学分;计算上某课程的总花费;计算上某课程的每学时花费;计算上某课程的每分钟的花费;1.输入某学生成绩,若成绩在85分以上输出“very good ”,若成绩在60分到85分之间输出“good ”,若成绩低于60分输出“no good ”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-----=59069607970898010090(不合格)(合格)(中等)(良好)(优秀)(级别)E D C B A grade 5.编程序模拟剪刀、石头和纸游戏。
游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。
玩游戏者从键盘上输入s (表示剪刀)或r (表示石头)或p (表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
6.输入一个整数,输出该整数的所有素数因子。
例如,输入120,输出为2、2、2、3和5。
7.使用迭代公式)2/;,2,1,0(2/)/(01a x n x a x x n n n ==+=+Λ编程序求某一正整数a 的平方根。
8.已知X=0ο,10ο,20ο,…,180ο,求sin x , cos x 和tan x 的值。
9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
10.求100到999中的水仙花数。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=13+53+33,所以153为水仙花数。
11.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,因为6=1+2+3,所以6为完数。
12.编一程序显示由符号组成的三角形图案。
例如,程序运行后,屏幕显示: How many lines ?用户输入: 5屏幕显示: What character ?用户输入: *则输出如下图案。
** * ** * * * ** * * * * * ** * * * * * * * *13.已知XYZ+YZZ=532,其中X ,Y 和Z 为数字,编一程序求出X ,Y 和Z 的值。
1. 根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)代码:#include<iostream>using namespace std;void main(){double nxf,zhyxf,xsh,kchxf,xn;//每学年学费、专业总学分、每学分学时, 课程学分,学年float f1,f2,f3,f4;//该课程花费,每节课花费,每学分花费,每分钟花费cout<<"输入:每学年学费、专业总学分、每学分学时、课程学分、学年 "<<endl;cin>>nxf>>zhyxf>>xsh>>kchxf>>xn;f1=kchxf/zhyxf*nxf*xn;f2=f1/(kchxf*xsh);f3=nxf*xn/zhyxf; f4=f2/45;cout<<"该课程的总花费:"<<f1<<" 元"<<endl;cout<<"每节课的花费:"<<f2<<" 元"<<endl;cout<<"每学分的花费:"<<f3<<" 元"<<endl;cout<<"每分钟的花费:"<<f4<<" 元"<<endl;}结果:输入:每学年学费、专业总学分、每学分学时、课程学分、学年3600 180 18 1.5 4该课程的总花费:120 元每节课的花费:4.44444 元每学分的花费:80 元每分钟的花费:0.0987654 元Press any key to continue2输入一个三位整数,将它反向输出代码:#include<iostream>using namespace std;void main(){cout<<"请输入一个三位数"<<endl;int x;int x1,x2,x3;cin>>x;x1=x/100;x2=(x-x1*100)/10;x3=x-x1*100-x2*10;cout<<x3*100+x2*10+x1<<endl;}结果:请输入一个三位数758857Press any key to continue.3.源代码:#include<iostream>using namespace std;void main(){int a,b,c;cout<<"请输入三个整数"<<endl;cin>>a>>b>>c;if(a<b){if(a<c)cout<<a;elsecout<<c;}else{if(b<c)cout<<b;elsecout<<c;}}运行结果:请输入三个整数21 69 5421Press any key to continue源代码:#include<iostream>using namespace std;class huafei{private:double nxf,zhyxf,xsh,kchxf,xn;float f1,f2,f3,f4;public:void tishi();void churu();void kchhuafei();void jkhuafei();void xfhuafei();void fzhhuafei();};void huafei::tishi(){cout<<"输入:每学年学费、专业总学分、每学分学时、课程学分、学年 "<<endl; }void huafei::churu(){cin>>nxf>>zhyxf>>xsh>>kchxf>>xn;}void huafei::kchhuafei(){f1=kchxf/zhyxf*nxf*xn;cout<<"该课程的总花费:"<<f1<<" 元"<<endl;}void huafei::jkhuafei(){f2=f1/(kchxf*xsh);cout<<"每节课的花费:"<<f2<<" 元"<<endl;}void huafei::xfhuafei(){f3=nxf*xn/zhyxf;cout<<"每学分的花费:"<<f3<<" 元"<<endl;}void huafei::fzhhuafei(){f4=f2/45;cout<<"每分钟的花费:"<<f4<<" 元"<<endl;}double main(){huafei a;a.tishi();a.churu();a.kchhuafei();a.jkhuafei();a.xfhuafei();a.fzhhuafei();return 0;}运行结果:输入:每学年学费、专业总学分、每学分学时、课程学分、学年3600180181.54该课程的总花费:120 元每节课的花费:4.44444 元每学分的花费:80 元每分钟的花费:0.0987654 元Press any key to continue1.源代码:#include<iostream>using namespace std;void main(){int a;cout<<"请输入成绩"<<endl;cin>>a;if(a>85)cout<<"very good"<<endl;else if(a>=60 && a<85)cout<<"good"<<endl;elsecout<<"no good"<<endl;}运行结果:请输入成绩67goodPress any key to continue3.源代码:#include<iostream>using namespace std;void main(){double a,b,c;cout<<"请输入三边的长度"<<endl;cin>>a>>b>>c;if(a+b>c && a+c>b && b+c>a){if(a==b && b==c)cout<<"等边三角形"<<endl;else if((a==b && b!=c) || (b==c && c!=a) || (a==c && b!=c)) cout<<"等腰三角形"<<endl;elsecout<<"普通三角形"<<endl;}elsecout<<"不是三角形"<<endl;}运行结果:请输入三边的长度.4 4 4等边三角形Press any key to continue请输入三边的长度4 4 5等腰三角形Press any key to continue请输入三边的长度3 4 5普通三角形Press any key to continue请输入三边的长度1 3 6不是三角形Press any key to continue4.源代码:#include<iostream>using namespace std;void main(){cout<<"请输入百分制成绩"<<endl;int a;cin>>a;switch(a){case 'a<100 && a>=90' :cout<<"A"<<endl;break;case 'a<90 && a>=80' :cout<<"B"<<endl;break;case 'a<80 && a>=70' :cout<<"C"<<endl;break;case 'a<70 && a>=60' :cout<<"D"<<endl;.break;case 'a<60' :cout<<"E"<<endl;break;default:cout<<"错误"<<endl;break;}}运行结果:请输入百分制成绩89BPress any key to continue6.源代码:#include<iostream>using namespace std;void main(){int n,i=2,flag=0;cin>>n;cout<<endl<<n<<"=";while(n>1){if(n%i==0){if(flag)cout<<"*";cout<<i;n/=i;flag=1;}elsei++;}. }运行结果:6060=2*2*3*5Press any key to continue7.源代码:#include<iostream>#include<math.h>using namespace std;void main(){double a,m,n;cout<<"请输入数a"<<endl;cin>>a;n=a/2;m=(n+a/n)/2;while(fabs(n-m)>1e-6){n=m;m=(n+a/n)/2;}cout<<m<<endl;}运行结果:请输入数a62.44949Press any key to continue8.源代码:#include<iostream>#include<math.h>using namespace std;void main(){.cout<<"请输入角度"<<endl;double a;cin>>a;cout<<"sina="<<sin(a/180*3.14)<<endl;cout<<"cosa="<<cos(a/180*3.14)<<endl;cout<<"tana="<<tan(a/180*3.14)<<endl;}运行结果:请输入角度30sina=0.49977cosa=0.866158tana=0.576996Press any key to continue9.源代码:#include<iostream>using namespace std;void main(){int i;for(i=100;i<=200;i++)if((i%3==2) && (i%5==3) && (i%7==2))cout<<i<<endl;}运行结果:128Press any key to continue.10.源代码:#include<iostream>using namespace std;void main(){int i;int a,b,c;for(i=100;i<1000;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<<i<<endl;}}运行结果:153370371407Press any key to continue11.源代码:#include<iostream>#include<math.h>using namespace std;void main(){int i,j,m,s,k,a[100];for(i=1;i<=1000;i++){m=i;s=0;k=0;for(j=1;j<m;j++).if(m%j==0){s=s+j;a[k++]=j;}if(i==s){cout<<a[0]<<endl;for(j=1;j<k;j++){cout<<a[j]<<endl;}cout<<i<<endl;}}}运行结果:1236124714281248163162124248496Press any key to continue12.源代码:#include<iostream>using namespace std;void main(){int a,i,j;char c;cout<<"How many lines ?"<<endl;cin>>a;cout<<"What character ?"<<endl;cin>>c;for(i=1;i<=a;i++){for(j=0;j<=9-i;j++)cout<<" ";for(j=0;j<=2*i-2;j++)cout<<"*";cout<<endl;}}运行结果:How many lines ?5What character ?**************************Press any key to continue13.源代码:#include<iostream>using namespace std;void main(){int X,Y,Z;int a,b,c;for(X=0;X<=9;X++)for(Y=0;Y<=9;Y++)for(Z=0;Z<=9;Z++){a=X*100+Y*10+Z;b=Y*100+Z*10+Z;c=a+b;if(c==532){cout<<X<<endl;cout<<Y<<endl;cout<<Z<<endl;}}}运行结果:321Press any key to continue.如有侵权请联系告知删除,感谢你们的配合!。