C++程序设计实验-1-7

合集下载

大一c语言实验报告

大一c语言实验报告

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

以下是本站分享的大一c语言实验报告,希望能帮助到大家!大一c语言实验报告一、实验目的1、熟悉C语言运行环境Turbo C++02、会简单的程序调试3、熟悉C语言各种类型数据的输入输出函数的使用方法4、掌握顺序结构程序设计二、实验内容1、上机运行本章3个例题,熟悉所用系统的上机方法与步骤。

(习题7)2、编写一个C程序,输入a、b、c 3个值,输出其中最大者。

(习题6)3、设圆半径r=5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

注意在Trubo C++ 0中不能输入汉字,只能输入英文或拼音。

(习题8)4、运行如下程序,写出运行结果。

#includevoid main(){int a=1,b=2;a=a+b; b=a-b; a=a-b;printf("%d,%dn",a,b);}三、实验步骤与过程四、程序调试记录大一c语言实验报告一、实验目的掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

掌握C程序的运行、调试方法等。

二、实验内容(1)用函数调用实现求1~7的平方及平方和。

三、实验步骤与过程#include<stdio.h>#include<math.h>int pingfansum(int i,int q) {int sum1=0,l;for(l=i;l<=q;l++)sum1=sum1+l*l;return sum1;}int main(){int i,a[7];printf("1到7的平方和为%d\n",pingfansum(1,7)); for(i=1;i<8;i++){a[i-1]=i*i;printf("第%d的平方是%d:\n",i,a[i-1]);}return 0;}。

c程序设计实验参考答案

c程序设计实验参考答案
编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;

C语言程序设计(第3版)何钦铭 颜 晖 第7章 数组

C语言程序设计(第3版)何钦铭 颜 晖 第7章  数组

第7章数组【练习7-1】将例7—3 程序中的break 语句去掉,输出结果有变化吗?假设输入数据不变,输出什么?解答:当去掉break 语句后,一旦找到数据将不跳出循环,而是继续往下找值为x 的元素,因此程序输出会有变化。

当输入数据仍为2 9 8 1 9 时,输出将是index is 1 index is 4。

【练习7—2】将数组中的数逆序存放.输入一个正整数n(1<n<=10),再输入n个整数,存入数组a中,输出最大值及其对应的最小下标,下标从0开始.试编写相应程序。

解答:#include<stdio。

h〉int main(void){int i,n,temp;int a[10];printf("Input n:");scanf(”%d",&n);printf(”Input %d integer:",n);for(i=0;i<n;i++)scanf(”%d”,&a[i]);printf(”After reversed:");for(i=0;i〈n/2;i++){temp=a[i];a[i]=a[n—1—i];a[n-1—i]=temp;}for(i=0;i〈n;i++)printf("%d ”,a[i]);return 0;}【练习7-3】求最大值及其下标.输入一个正整数n(1〈n<=10),再输入n个整数,存入数组a中,将先数组a中的这n个数逆序存放,在按顺序输出数组a中的n各元素.试编写相应程序.解答:#include〈stdio.h>int main(void){int i,index,n;int a[10];printf("Enter n:”);scanf(”%d",&n);printf(”Enter %d integrs:”,n);for(i=0;i〈n;i++)scanf("%d",&a[i]);for(i=n—1;i〉=0;i++)printf("%d ”,a[i]);return 0;}【练习7-4】找出不是两个数组共有的元素。

C语言程序设计实验指导书【范本模板】

C语言程序设计实验指导书【范本模板】

青岛科技大学信息科学技术学院C语言程序设计实验指导书目录实验1 C语言入门及选择结构 0实验1.1 Visual C++6。

0开发环境 0实验1.2 C程序快速入门 (7)实验1.3算术运算与赋值运算 (11)实验1。

4逻辑运算及if语句 (17)实验1.5 switch选择结构 (23)实验2循环结构及数组(共8学时) (27)实验2.1 循环结构(2学时) (27)循环结构程序设计补充 (32)实验2.2数组一:一维数组 (36)实验2。

3数组二:二维数组 (43)实验2.4数组三:字符数组 (45)实验3:函数与自定义数据类型 (49)实验3。

1函数一:函数的定义、调用和声明 (49)实验3。

2函数二:函数的参数传递2 (55)实验3。

3函数三:函数的嵌套和递归2 (57)实验3.4 自定义数据类型(2学时) (59)实验4:指针(共6学时) (61)实验4。

1指针一:指针的定义及运算 (61)实验4。

2指针二:指向数组的指针 (67)实验4.3指针三:用指针操作字符串2 (71)实验1 C 语言入门及选择结构实验1.1 Visual C++6.0开发环境一、实验目的1。

熟悉C 语言的系统环境,掌握在集成环境中编辑、编译、连接和运行C 语言程序的方法。

2. 掌握C 语言源程序的结构特点与书写规范. 二、实验学时数2学时三、实验步骤及任务(一) VC++6。

0集成环境(1)运行VC++6。

0a.双击桌面上的VC++6。

0快捷方式,运行VC++6。

0。

b 。

双击"C :\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV 。

EXE",运行VC++6.0. (2)认识VC++6。

0标题栏的左侧显示当前的文件名,右侧有最小化,最大化和关闭三个按钮。

菜单栏包含了开发环境中几乎所有的命令,其中一些常用的命令还被排列在工具栏中。

工具栏上的按钮提出和一些菜单命令相对应,提供了经常使用的命令的一种快捷方式。

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

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。

c程序设计教程与实验课后答案

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程序设计实验补充题(循环结构)

C程序设计实验补充题(循环结构)

北京建筑工程学院计算机教学与网络信息部C语言程序设计基础实验补充题——循环结构部分1.养兔子/acmhome/problemdetail.do?&method=showdetail&id=1063题目描述:一对成熟的兔子每月能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是一个月,而成熟后的第二个月才开始生小兔。

某人领养了一对小兔子,一公一母,请问,第N个月以后,他将会得到多少对兔子。

输入:测试数据包括多组,每组一行,为整数n(1≤n≤90)。

输入以0结束。

输出:对应输出第n个月有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。

样例输入:12样例输出:122.找零钱/acmhome/problemdetail.do?&method=showdetail&id=1068题目描述:我们知道人民币有1、2、5、10、20、50、100这几种面值。

现在给你n(1≤n≤250)元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。

比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。

输入:输入有多组,每组一行,为一个整合n。

输入以0结束。

输出:输出该面额有几种表示方法。

样例输入:14样例输出:13提示:如果我告诉你,这题是用暴力穷举的方法,你能通过吗?^_^3.漂亮菱形/acmhome/problemdetail.do?&method=showdetail&id=1069题目描述:*************************上面的菱形漂亮吗?现给出菱形的高度,要求你打印出相应高度的菱形,比如上面的菱形高度为7。

输入:测试数据包括多行,每行1个整数h,h为奇数,代表菱形的高度。

输入以0结束。

输出:输出每组对应的菱形。

样例输入:17样例输出:**************************4.统计1到N之间数字1的个数/acmhome/problemdetail.do?&method=showdetail&id=1163题目描述:N为正整数,计算从1到N的所有整数中包含数字1的个数。

C语言程序设计实验与习题(1-4)

C语言程序设计实验与习题(1-4)

ffB v vbvv bgbb实验一C程序运行环境及简单程序的运行2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以文件名sy1_2.cpp#include <stdio.h>void main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以文件名sy1_3.cpp存盘)。

#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输入三个整数a、b、c,显示出其中的最大值。

4.分析与总结⑴总结C程序的结构和书写规则。

⑵阅读:附件1-C语言程序的跟踪调试。

特别提示:当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。

12习题一一、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B二、综合题绘制NS 算法流程图。

(1)输入10个数,求其中的最大值。

(2)输入3个数,将它们升序排列输出。

(3)输入2个数,求它们的最大公约数。

(4)输入一元二次方程的系数a 、b 、c ,判断其根。

实验二顺序结构程序设计1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是否一致,若不一致,请找出原因。

⑴以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。

[VIP专享]C程序设计实验题目(上)

[VIP专享]C程序设计实验题目(上)

实验一 简单的C/C++程序练习1.编程序求某位学生的平均分。

要求输入该生4门课的成绩,程序即可输出其平均分。

运行结果示例:练习2.编程序求半径为r 、高为h 的圆柱体的体积。

要求输入r 和h 的值,程序即可输出体积。

要求:将π值定义为符号常量,例如:# define PI 3.14运行结果示例:练习3.编写程序,求函数 的值。

要求输入x ,程序即可输40cos 2)3lg(2⨯++=πx y 出y 的值。

要求:将π值定义为符号常量,例如:# define PI 3.14运行结果示例:练习4.输入一字符,编程序判断输入字符的种类(字母、数字、其它)。

要求:利用if 条件语句编程。

运行结果示例:*练习5.编写程序,输入一个3位整数,依次输出该数的正(负)号和百位、十位、个位数字。

运行结果示例:实验二 顺序与分支程序设计练习1.编写程序,求函数 的值。

要求输入x ,程序即可输出︒⨯++=30sin 53x e x y πy 的值。

要求:将π值定义为符号常量,例如:# define PI 3.14159运行结果示例:练习2.编写程序,实现下列分段函数的求值:| x |x<5y = 3x2-2x+15≤x<20x /5x≥20要求:利用if条件语句(嵌套)编程。

练习3.编写程序,将输入的3个整数按降序输出。

运行结果示例:要求:利用条件表达式进行判别。

练习4.编写程序,输入上网的时间计算上网费用,计算的方法如下:25元<10小时费用= 每小时2.5元10~50小时每小时2元≥50小时同时,为了鼓励多上网,每月收费最多不超过130元。

要求:使用switch语句编程。

*练习5.编写程序,能够计算两个数的+、-、*、/ 的简易计算器。

提示:利用switch条件语句编程。

运行结果示例:实验三循环程序设计一.实验目的1.掌握各种循环语句的程序设计。

三.实验内容练习1.输出50-100之间所有奇数的累加和。

c++语言程序设计实践教程参考答案

c++语言程序设计实践教程参考答案

附录1.2.2编程实验(2学时)参考答案1、程序提示:#include<iostream>using namespace std;int main(){int n,i;cout<<"n=?"<<endl;cin>>n;for(i=0;i<n;i++)cout<<"Hello World!\n";return0;}2、程序提示:int main(){int n,i,min,max;cout<<"n=?"<<endl;cin>>n;//输入整数ncout<<"input n number:"<<endl;int*p=new int[n];//动态创建n个元素的数组cin>>p[0];min=max=p[0];//为sum,min,max赋初始值为数组第0个元素for(i=1;i<n;i++){cin>>p[i];sum+=p[i];if(p[i]>max)max=p[i];if(p[i]<min)min=p[i];}cout<<"result:"<<"sun="<<sum<<";max="<<max<<";min="<<min<<endl;delete*p[];return0;}3、程序运行结果:a=6;b=1a=7;b=2a=8;b=3a=9;b=4a=10;b=51.3习题参考答案一、选择题1、ABCD2、ABD3、ABCD二、分析程序,改错sum=i+j;//该语句后面缺分号2.2.2编程实验(2学时)参考答案1、程序运行结果:0m=0n=00m=0n=0112、程序运行结果:3012-23、程序运行结果:50233114、修改语句:b=(Color)a;//类型转换5、程序提示:#include<iostream>using namespace std;struct time//定义结构体类型{int year,month,day,hour,minute,second;}a;int main(){cin>>a.year>>a.month>>a.day>>a.hour>>a.minute>>a.second;//输入语句cout<<a.year<<"年"<<a.month<<"月"<<a.day<<"日"<<a.hour<<"时"<<a.minute<<"分"<<a.second<<"秒"<<endl;//输出语句return0;}程序输出样例:6、程序提示:#include<iostream>using namespace std;struct complex{//定义结构体复数float real;float image;};int add(int a,int b)//两整数相加{return a+b;}double add(double x,double y)//两实数相加{return x+y;}complex add(complex m,complex n)//两复数相加{complex c;c.real=m.real+n.real;c.image=m.image+n.image;return c;}int main(){char g;cout<<"功能选择:"<<endl;cout<<"A.整数相加 B.实数相加 C.复数相加"<<endl;cin>>g;if(g=='A'){int c,v;cin>>c>>v;cout<<add(c,v)<<endl;}if(g=='B'){double c,v;cin>>c>>v;cout<<add(c,v)<<endl;}if(g=='C'){float c,v;cin>>c>>v;complex a={c,v};//定义复数对象a并赋值cin>>c>>v;complex b={c,v};//定义复数对象b并赋值cout<<add(a,b).real<<","<<add(a,b).image<<endl;}return0;}程序输出样例:7、程序提示:#include<iostream>using namespace std;void swap(int&p1,int&p2){int t;t=p1;p1=p2;p2=t;}void main(){int a,b;cout<<"please input the two num:\n";cin>>a>>b;swap(a,b);cout<<"交换后:"<<a<<","<<b<<endl;}程序输出样例:8、程序提示:#include<iostream>#include<cmath>using namespace std;int main(){float x,y;cout<<"please input the two num:\n";cin>>x>>y;cout<<"pow(x,y)="<<pow(x,y);return0;}程序输出样例:2.3习题参考答一、选择题1、ADF2、ABC3、BC4、B5、A6、A7、BCD8、C9、BCD10、C11、C12、C13、A二、填空题1、关系,条件,逻辑,位运算,逗号2、1012151800,101200,100003、cmath4、强制类型转换,Decimal value is241三、编程题1、参考程序#include<iostream>#include<iomanip>//格式化输出控制文件using namespace std;enum color{red,yellow,blue,white,black};//枚举类型int main(){int i,j,k,n,loop,pri;n=0;for(i=red;i<=black;i++){for(j=red;j<=black;j++){if(i!=j){for(k=red;k<=black;k++){if((k!=i)&&(k!=j)){n=n+1;cout<<setw(5)<<setfill('')<<left<<n;for(loop=1;loop<=3;loop++)//通过循环控制每次三种不同颜色的球{switch(loop){case1:pri=i;break;case2:pri=j;break;case3:pri=k;break;default:break;}switch(pri)//选择输出{case red:cout<<setw(10)<<setfill('')<<left<<"red";break;case yellow:cout<<setw(10)<<setfill('')<<left<<"yellow";break;case white:cout<<setw(10)<<setfill('')<<left<<"white";break;case blue:cout<<setw(10)<<setfill('')<<left<<"blue";break;case black:cout<<setw(10)<<setfill('')<<left<<"black";break;default:break;}}cout<<"\n";}}}}}cout<<"\ntotal:"<<n<<endl;}程序输出样例:1red yellow blue2red yellow white3red yellow black4red blue yellow5red blue white6red blue black7red white yellow8red white blue9red white black10red black yellow11red black blue12red black white13yellow red blue14yellow red white15yellow red black16yellow blue red17yellow blue white18yellow blue black19yellow white red20yellow white blue21yellow white black22yellow black red23yellow black blue24yellow black white25blue red yellow26blue red white27blue red black28blue yellow red29blue yellow white30blue yellow black31blue white red32blue white yellow33blue white black34blue black red35blue black yellow36blue black white37white red yellow38white red blue39white red black40white yellow red41white yellow blue42white yellow black43white blue red44white blue yellow45white blue black46white black red47white black yellow48white black blue49black red yellow50black red blue51black red white52black yellow red53black yellow blue54black yellow white55black blue red56black blue yellow57black blue white58black white red59black white yellow60black white bluetotal:602、参考程序#include<iostream>using namespace std;long long fib(int n){int i;long long f1=0,f2=1,f=0;if(n==1)return1;if(n==0)return1;if(n>=2){for(i=2;i<=n;i++){f=f1+f2;f1=f2;f2=f;}return f;}}int main(){int num;cout<<"input the num:\n";cin>>num;cout<<fib(num)<<endl;return0;}程序输出样例:3.2.2编程实验1(2学时)参考答案1.参考程序#include<iostream>using namespace std;class Rectangle{private:int length;//表示矩形的长int breadth;//表示矩形宽public:void area()//函数功能:计算矩形的面积{cout<<length*breadth<<endl;}void set()//函数功能:设置矩形的长与宽{cin>>length;cin>>breadth;}};int main(){Rectangle rec;//回答:此处rec对象调用系统默认构造函数对其初始化赋值,length与breadth的初始值都是随机值cout<<"请输入长、宽:"<<endl;rec.set();//要求:rec对象通过set()函数对其数据成员赋值!cout<<"所求矩形的面积为:";rec.area();//要求:rec对象通过area()函数计算输出其面积!return0;}程序输出样例:2.参考程序class Point{private:int i_x;//表示点的x轴坐标int i_y;//表示点的y轴坐标public:Point();//无参构造Point(int x,int y);//有参构造Point(Point&pt);//复制构造int getx();//函数结果为i_xint gety();//函数结果为i_yvoid show();//函数功能:输出数据成员};//要求:补充完整类的定义结构!Point::Point(){cin>>i_x>>i_y;}//要求:补充完整有无构造函数的实现!Point::Point(int x,int y){i_x=x;i_y=y;}//要求:补充完整有参构造函数的实现!Point::Point(Point&pt){i_x=pt.i_x;i_y=pt.i_y;}//要求:补充完整复制构造函数的实现!int Point::getx(){return i_x;}//要求:补充完整成员函数getx()的实现!int Point::gety(){return i_y;}//要求:补充完整成员函数gety()的实现!void Point::show(){cout<<i_x<<";"<<i_y<<endl;//要求:补充完整成员函数show()的实现!}int main(){Point p1;p1.show();Point p2(4,8);p2.show();Point p3(p2);p3.show();}程序输出样例:3.参考程序#include<iostream>#include<windows.h>//调用系统时间函数需要加的头文件#include<stdio.h>//调用系统时间函数需要加的头文件using namespace std;class Time{private://私有访问属性int hour,minute,second;public://公有访问属性void setTime(int h,int m,int s)//通过形参给本类数据成员hour、minute、second赋值{hour=h;minute=m;second=s;}void showTime_1()//输出时间:以12小时计,分上午(AM)、下午(PM){int sign;if(hour<12)cout<<"am:"<<hour<<":"<<minute<<":"<<second<<endl;else{sign=hour-12;cout<<"pm:"<<sign<<":"<<minute<<":"<<second<<endl;}}void showTime_2()//输出时间,建议:以24小时计{cout<<hour<<":"<<minute<<":"<<second<<endl;}Time()//无参构造函数{hour=0;minute=0;second=0;}Time(int NewH,int NewM,int NewS)//有参构造函数{hour=NewH;minute=NewM;second=NewS;}Time(Time&pt)//复制构造函数{hour=pt.hour;minute=pt.minute;second=pt.second;}};int main(){//定义变量,输入数据,创建3个Time对象,分别使用无参构造函数、有参构造函数、复制构造函数进行初始化Time time1;//定义对象的同时自动调用无参构造函数Time time2(18,21,36);//定义对象的同时自动调用有参构造函数Time time3(time2);//定义对象的同时自动调用复制构造函数time1.showTime_1();//输出电脑时间,显示方式1time2.showTime_2();//输出电脑时间,显示方式2time3.showTime_1();//输出电脑时间,显示方式1cout<<"你想要获取当前电脑时间吗?(Y/N)";char ch=getchar();//输入的字符if(ch=='Y'){SYSTEMTIME sys;//上网查询获取方法,获取当前电脑时间,赋值给已创建的任意一个Time对象GetLocalTime(&sys);time3.setTime(sys.wHour,sys.wMinute,sys.wSecond);time3.showTime_1();//输出电脑时间,显示方式1time3.showTime_2();//输出电脑时间,显示方式2}return0;}程序输出样例:4.参考程序#include<iostream>using namespace std;class Circle{public:Circle()//无参构造函数{radius=0;}void getArea()//无返回值函数,计算圆的面积{cout<<radius*radius*3.14<<endl;}void set_radius()//无返回值函数,设置圆的半径{cin>>radius;//采用输入赋值或直接赋值都可以}~Circle()//析构函数,对象默认的调用的最后一个函数{cout<<"END PGM!\n";}private:int radius;//整型数据,4个字节};int main(){Circle c;//Circle类定义目的对象c的同时自动调用其无参构造函数初始化数据成员cout<<"请输入圆的半径:";c.set_radius();c.getArea();//程序结束前自动调用析构函数释放对象return0;}程序输出样例:5.参考程序#include<iostream>using namespace std;enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};//声明枚举类型CPU_Rankclass CPU{private:CPU_Rank rank;int frequency;float voltage;public:CPU(int newrank,int newfrequency,float newvoltage);//有参构造函数void run();void stop();~CPU(){cout<<"成功调用析构函数"<<endl;}//析构函数};void CPU::run(){cout<<"程序开始执行"<<endl;}void CPU::stop(){cout<<"程序结束"<<endl;}CPU::CPU(int newrank,int newfrequency,float newvoltage){rank=(CPU_Rank)newrank;//强制类型转换frequency=newfrequency;voltage=newvoltage;cout<<"成功调用构造函数"<<endl;cout<<"等级:"<<CPU_Rank(P1)<<endl;cout<<"频率:"<<frequency<<endl;cout<<"电压:"<<voltage<<endl;}int main(){CPU cpu(1,70,280);//定义对象的同时调用有参构造函数对数据成员初始化cpu.run();cpu.stop();//程序结束前调用析构函数释放对象return0;}程序输出样例:3.3.2编程实验2(2学时)参考答案1.参考程序//类外补充完善类中的成员函数coutner::coutner(int number)//有参构造函数{value=number;}coutner::coutner()//无参构造函数{cin>>value;}coutner::coutner(coutner&r)//复制参构造函数{value=r.value;}void coutner::increment()//给value原值加2{value+=2;}void coutner::decrement()//给value原值减2{value-=2;}int coutner::getvalue()//取得计数器值{return value;}int coutner::print()//显示计数{cout<<value<<endl;return0;}int main(){coutner c;//定义一个无参对象c,定义时自动调用无参构造函数,通过输入对value赋值cout<<"The output is"<<c.getvalue()<<endl;coutner c2(c.getvalue()+2);//定义一个有参对象c2,用c对象的值加2初始化其数值value cout<<"The output is"<<c2.getvalue()<<endl;coutner c3(c2);//定义一个对象c3,用c2对象初始化cout<<"The output is"<<c3.getvalue()<<endl;cout<<sizeof(coutner)<<""<<sizeof(c2)<<endl;//通过sizeof()函数观察该coutner类型所占的字节数return0;}思考题回答:若程序中注释掉复制构造函数coutner(coutner&r),还可以实现用一个对象初始化赋值另一对象,会调用系统默认的复制构造函数。

c语言程序设计实验指导答案

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位数,其各位数字立方和等于该数本身。

高级语言程序设计实验-答案

高级语言程序设计实验-答案

要求前后两项求出的x的差的绝对值小于10-5。
退出
实验四
7、舍罕王是古印度的国王,据说他十分好玩。宰相达依尔
为讨好国王,发明了现今的国际象棋献给国王。舍罕王非常 喜欢这项游戏,于是决定嘉奖达依尔,许诺可以满足达依尔
提出的任何要求。达依尔指着舍罕王前面的棋盘提出了要求:
“陛下,请您按棋盘的格子赏赐我一点麦子吧,第1个小格
float x = 12.3, y = 2.6;
printf("%f\n", (float)(a * b) / 2); printf("%d,%d\n", (int)x % (int)y, a-1); }
退出
实验2
2、所谓反序数,就是将整数的数字倒过来后所形成的整 数。例如:1234的反序数是4321。已知a为4位整数,
(3)掌握switch语句基本语法,理解其适用场合。能够利 用其进行多分支程序设计
退出
实验4
实验目的:
(4)理解循环程序的执行过程,能够分析循环程序并给出 其运行结果
(5)熟练掌握while、for、do while语句的基本语法 (6)理解计数循环,条件循环的实现方法,并能正确应用 三种循环控制语句加以实现
且m不等于n,则称n和m是一对“幻影素数”。例如,107
与701是一对“幻影素数”。编程找出三位数中所有的幻影
素数,并统计共有多少对。
退出
实验四
10、歌德巴赫猜想是说任何一个大于2的偶数都能表示成两 个素数之和。歌德巴赫猜想的证明是一个世界性的数学难题, 至今未能完全解决。我国著名数学家陈景润先生为歌德巴赫 猜想的证明作出过杰出的贡献。
应用计算机可以很快地在一定范围内验证歌德巴赫猜想的正 确性。请编写一个C程序,验证指定范围内歌德巴赫猜想的 正确性,区间的范围要从键盘输入。

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》目录第1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (1)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (3)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (6)3.5 实验5 选择结构 (7)3.6 实验6 循环结构 (9)3.7 实验7 数组(1) (11)3.8 实验8 数组(2) (12)3.9 实验9 字符串及其操作 (13)3.10 实验10 函数 (14)3.11 实验11 结构体 (15)3.12 实验12 指针 (16)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。

通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。

1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。

在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。

本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。

2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。

请假,必须提前出具正式假条,不接受事后假条。

如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。

本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。

第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");printf("world");printf("\n");4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同3.用自己的语言,描述下对C语言程序的第一印象4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。

实验1-7——精选推荐

实验1-7——精选推荐

第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中的图形。

《C语言程序设计》实验设计习题答案

《C语言程序设计》实验设计习题答案

实验三3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出void main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar('\n');printf("%c %c\n",c1,c2);}3.5把790分钟换成用小时和分钟表示,然后输出。

void main(){int s=790;printf("%d小时",s/60);printf("%d分钟",s%60);}3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b的值给c,把c的值给a.main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);t=a;a=b;b=c;c=t;printf("%d,%d,%d",a,b,c);3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。

#include<stdio.h>void main(){float x,s,a;int z;scanf("%f",&x);a=100*x+0.5;z=(int)(a);s=z/100.0;printf("%.2f\n",s); }main(){int a,b,t;double c;scanf("%lf",&c);b=100*c;t=1000*c;a=t%10;if (a>=5) b=b+1;else b=b+0;c=1.0*b/100;printf("%7.2lf/n",c); return 0;}void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ; if(x==0) y = x-1;if(x<10&&x>0) y = x+1; printf("%d",y);}实验四4.2不嵌套if语句void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ;if(x==0) y = x-1;if(x<10&&x>0) y = x+1;printf("%d",y);}法二:嵌套if语句void main(){int x,y;scanf("%d",&x);if((x>-5)&&(x<0)) y=x;else if(x==0) y=x-1;else if(x<10&&x>0) y=x+1;printf("%d",y);}4.3如下程序运用条件运算符求变量的绝对值?void main(){int a,M;scanf("%d",&a);M=a>0?a:-a;printf("abs(a)=%d",M);4.4某服装店经营套服,也可单件出售,若买的不少于50套,每套80元,不足50套的每套90元,只买上衣每件60元,只买裤子每条45元,(读入所买上衣C和裤子t的件数,计算应付款m。

C语言程序设计

C语言程序设计

《C语言程序设计》课程实验教学大纲[适用对象]计算机科学与技术(医药软件开发)、生物医学工程专业[实验学时] 21学时一、实验教学任务和目的任务完成各个老师布置的上机试验的题目,并写出相应的实验报告上交。

目的使学生在掌握试验的内容的同时还能够加强上机操作的能力,为以后的单片机编写程序和计算机等级考试做好充分的动手操作能力。

二、实验教学基本要求要求每位同学都能够自己编写出上机的题目,并在计算机上实现。

具体的要求如下1、熟练掌握C语言的语法;2、重点掌握C语言中的三大重点数组、函数、指针,以及三者之间的密切联系;3、掌握面向程序设计的基本思想;4、了解硬件编程。

三、实验教学内容实验一闰年的计算方法1、实验目的和要求通过上机操作,加深对选择结构程序设计方法的理解,并完成闰年的计算方法的设计。

2、实验内容用条件语句完成该实验。

3、实验仪器计算机。

4、实验学时2学时实验二选择法排序实验1、实验目的和要求通过上机操作,加深对选择和循环程序设计控制理解,并完成选择法排序的设计。

2、实验内容使用选择和循环控制语句完成该实验。

3、实验仪器计算机。

4、实验学时2学时实验三选择法排序1、实验目的和要求通过上机操作,理解选择法的排序方法,并通过自己的理解完成选择法排序实验。

2、实验内容完成选择排序的设计。

3、实验仪器计算机。

4、实验学时3学时实验四矩阵的乘法1、实验目的和要求通过上机操作,理解二维数组的使用方法。

2、实验内容使用二维数组和循环来完成该实验。

3、实验仪器计算机。

4、实验学时2学时实验五指针处理排序1、实验目的和要求掌握指针的移动的方法和指针对数组的操作,并完成使用指针处理各种排序的设计。

2、实验内容使用指针和数组来完成该实验。

3、实验仪器计算机。

4、实验学时4学时实验六链表的处理1、实验目的和要求通过该实验使学生掌握函数、数组、指针的结合使用的强大功能,并完成链表处理简单的学生管理系统。

2、实验内容使用函数、数组、指针、结构体、动态分配完成该实验3、实验仪器计算机。

精品课程《C语言程序》电子教案(全)

精品课程《C语言程序》电子教案(全)

精品课程《C语言程序设计》电子教案(一)一、课程简介1.1 课程背景1.2 课程目标(1)掌握C语言的基本语法和数据类型;(2)熟悉运算符、表达式和语句的结构;(3)掌握函数的定义和调用;(4)了解常用的库函数和头文件;(5)学会使用C语言进行程序设计和调试;(6)培养编程思维和解决问题的能力。

二、教学内容2.1 课程安排本课程共分为五个部分,具体安排如下:第一部分:C语言基础知识(2周)第1周:C语言概述、变量和数据类型第2周:运算符、表达式和语句第二部分:程序控制结构(3周)第3周:顺序结构第4周:选择结构第5周:循环结构第三部分:函数与数组(3周)第6周:函数的定义和调用第7周:数组和字符串第8周:指针第四部分:指针与引用(2周)第9周:指针的应用第10周:引用第五部分:综合练习与课程设计(2周)第11周:综合练习第12周:课程设计2.2 教学方法采用讲授、实验、讨论相结合的教学方法,通过案例分析和编程实践,使学生掌握C语言的基本知识和编程技巧。

三、教学资源3.1 教材《C语言程序设计》,作者:谭浩强3.2 实验环境配置有C语言编译器的计算机实验室,如:Visual Studio、Code::Blocks等。

3.3 网络资源精品课程网站:提供课程讲义、实验指导、习题库、在线测试等功能。

四、课程考核4.1 考核方式课程考核分为过程考核和期末考试两部分,其中过程考核占60%,期末考试占40%。

4.2 过程考核包括课堂表现、实验报告、课后作业和在线测试等。

4.3 期末考试采取闭卷考试的方式,试题包括选择题、填空题、简答题和编程题等。

五、教学反馈5.1 学生反馈学生可通过课程网站、邮件等方式向教师反馈学习过程中遇到的问题和建议。

5.2 教师反馈教师根据学生的课堂表现、实验报告和作业等情况,及时给予反馈和指导。

精品课程《C语言程序设计》电子教案(二)六、第一部分:C语言基础知识6.1 第1周:C语言概述、变量和数据类型教学目标:了解C语言的发展历程、特点和应用领域;掌握基本数据类型、变量定义和初始化。

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语⾔程序设计教程(第2版)课后题及模拟题参考答案c语⾔程序设计教程(第2版)课后题及模拟题参考答案习题1 (4)1-1 填空题 (4)1-2 思考题 (4)1-3 编程题 (5)习题2 (6)2-1 单选题 (6)2-2 思考题 (6)习题3 (7)3-1 选择题 (7)3-2 填空题 (7)3-3 编程题 (8)习题4 (11)4-1单选题 (11)4-2填空题 (11)4-3 编程题 (11)习题5 (16)5-1单选题 (16)5-2填空题 (16)5-3 编程题 (16)习题6 (22)6-1单选题 (22)6-2填空题 (22)习题7 (25)7-1单选题 (25)7-2填空题 (25)7-3 编程题 (25)习题8 (26)8-1单选题 (26)8-2填空题 (26)8-3 编程题 (26)习题9 (30)9-1单选题 (30)9-2填空题 (30)9-3 编程题 (30)习题10 (38)10-1单选题 (38)10-2填空题 (38)10-3 编程题 (38)习题11 (41)11-1单选题 (41)11-2填空题 (41)习题12 (42)12-1单选题 (42)12-2 填空题 (42)实验1 熟悉Visual C++6.0可视化集成开发环境 (43)实验2 顺序结构程序设计 (43)实验3 选择结构程序设计 (43)实验4 循环结构程序设计 (44)实验5 函数 (47)实验6 数组 (54)实验7 指针 (58)实验8 结构体和共⽤体 (61)实验9 ⽂件 (63)实验10 综合编程 (64)模拟试卷(⼀)参考答案 (65)模拟试卷(⼆)参考答案 (67)习题11-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数⾸部,函数体5. {, }6. /*, */7. 顺序结构,选择结构,循环结构8. .c, .obj, .exe1-2 思考题1. 结构化程序设计是指:为使程序具有⼀个合理的结构以保证程序正确性⽽规定的⼀套如何进⾏程序设计的原则。

《C程序设计》顺序结构程序设计实验报告

《C程序设计》顺序结构程序设计实验报告

《C程序设计》顺序结构程序设计实验报告5. 编序C程序,实现将560分钟表示成**小时**分钟的形式输出。

6. 编序C程序,输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积。

7. 编序C程序,要求从键盘任意输入一个3位数的正整数,输出其逆序数(例如输入123,输出321)。

三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)(三)编写程序1.#include<stdio.h>int main(){printf("*************\n Very good!\n*************\n");return 0;}2.#include<stdio.h>int main(){float a,b,c,s;a=38.9;b=27.2;c=2*(a+b);s=a*b;printf("周¨¹长¡è是º?%f,面?积y是º?%f\n",c,s);return 0;}3.#include<stdio.h>int main(){int a,b;printf("输º?入¨?两¢?个?整?数ºy:êo\n");scanf("%d %d",&a,&b);int x,y,z,m;x=a+b;y=a-b;z=a*b;m=a/b;printf("两¢?个?数ºy的Ì?和¨ª是º?%d,差?是º?%d,积y是º?%d,商¦¨¬是º?%d\n",x,y,z,m);return 0;}#include<stdio.h>#define PI 3.14int main(){float r,v;printf("请?输º?入¨?球¨°的Ì?半ã?径?:\n");scanf("%f",&r);v=4*PI*r*r*r/3;printf("球¨°的Ì?体¬?积y是º?%f\n",v);return 0;}5.#include<stdio.h>int main(){int a,b,c;a=560;b=a/60;c=a%60;printf("%d小?时º¡À,ê?%d分¤?钟¨®\n",b,c);return 0;6. #include<stdio.h>int main(){int a,b,c,d;int x,y;printf("请?输º?入¨?一°?个?三¨y位?数ºy:êo\n");scanf("%d",&a);b=a/100;c=a/10%10;d=a%10;x=b+c+d;y=b*c*d;printf("百㨴位?是º?%d,十º?位?是º?%d,个?位?是º?%d,个?位?之?和¨ª是º?%d,各¡Â位?之?积y 是º?%d\n",b,c,d,x,y);return 0;}7. #include<stdio.h>int main(){int a,b,c;int x,y;scanf("%d",&x);a=x/100;b=x/10%10;c=x%10;y=c*100+b*10+a;printf("%d\n",y);return 0;}四、实验总结:(实验中遇到的问题及解决方法,心得体会等)对于代码不熟悉,写代码速度慢,应在敲代码上花时间。

《C语言程序设计实践教程》答案-完整版

《C语言程序设计实践教程》答案-完整版

4.2练习题一、选择题1.D2.B3.A4.B和D5.C6.A7.B二、填空题1.//或/* */2.主或main3.函数首部和函数体4.编译和连接5.公号5.2练习题一、选择题1.A2.D3.B4.B5.C6.C7.D8.A9.B10.B11.D12.B13.A或B14.C15.B17.D18.D19.C20.D21.B22.A23.D24.C25.C26.B27.C28.D29.A30.B二、填空题1.102,102.#define 宏名字符串3.14.n=15.-46.a=1,b= ,c=27.c=A8.n1=%d\nn2=%d9.a+b>c&&a+c>b&&b+c>a10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.712.013.1111000014.8,46.2练习题一、选择题1.A2.C3.D4.C5.A7.A8.D9.B10.C11.A12.A13.C14.B15.正确答案为:12345678二、填空题1.102.y=1 x%i==03.屏幕中间输出一个由星号组成的菱形4.15.136.(cx=getchar())!=-1 front=cx; 7.m%n8.49.*p px=&x py=&y三、读程序,写结果1.-12.3,1,-1,3.a=16,y=604.x=12,y=45.597.2练习题一、选择题1.B2.C3.C4.A5.D6.C8.D9.C10.D11.D12.D13.A14.B15.C16.B17.B18.A19.A20.D21.B22.D23.C24.D25.D26.C二、填空题1.‘a’02.a[k] a[k] a[k]3.0 64.A B C D EA5.1,66.k=p;7.i<j8.189.4,some string * test 10.you&me三、读程序,写结果1.5 4 8 2 02.10 24 15 6 3.love china! H w l 4.66 66 555.Front一、选择题1. A2. A3. B4. B5. B6. A7. D8. C9. A10. A11. A12. B13. B14. A15. B16. B17. C二、填空题1.122.Itis3.fun(n-1)*n fun(k)4.s[i]-t[i]5.n%m i-1 x[d]6.x=n x%10 x7.m=f(a,4)+f(b,4)-f(a+b,3)8.a=1,b=1三、读程序,写结果1.s=72.s=373.bij12一、选择题1. B2. C3. B4. D5. B6. A7. B8. D9. D10. B11. D12. A13. B14. C15. C16. C17. A18. D19. B20. D二、填空题1.b->day (*b).day2.DDBBCC3.zhang 170.000000wang 150.0000004.995.max=i min=i stud[max].name,stud[max].score stud[min].name,stud[min].score6.&r 1 feof(fp) break7.BBB AAA 1238.rewind三、读程序,写结果1.2002,shangxian2.32。

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

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.编程序模拟剪刀、石头和纸游戏。

游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。

玩游戏者从键盘上输入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.已知 x sh x sh shx sh y 32)1(++= , 其中sh 为双曲正弦函数,即2)(tt e e t sh --=。

编一程序,输入x 的值,求y 的值。

2.输入m 、n 和p 的值,求s = 555333212121p n m ++++++++++ 的值。

注意判断运算中的溢出。

3.输入a,b 和c 的值,编写一个程序求这三个数的最大值和最小值。

要求把求最大值和最小值编写成一个函数,并使用指针或引用作为形式参数把结果返回main 函数。

4.用线性同余法生成随机数序列的公式为:r k = ( multiplier * r k-1 + increment ) % modulus序列中的每一个数r k ,可以由它的前一个数r k-1计算出来。

例如,如果有:r k = ( 25173 * r k-1 + 13849 ) % 65536则可以产生 65536个各不相同的整型随机数。

设计一个函数作随机数生成器,生成一位或两位数的随机数。

利用这个随机数生成器,编写一个小学生四则运算的练习程序:① ·可以进行难度选择。

一级难度只用一位数,二级难度用两位数; ② ·可以选择运算类型,包括加、减、乘、除等; ③ ·给出错误提示; ④ ·可以统计成绩。

5.已知勒让德多项式为⎪⎩⎪⎨⎧>---===--1/))()1()()12((101)(21n nx p n x p n n xn x p n n n编一程序,从键盘上输入x 和n 的值,使用递归函数求p n (x)的值。

6.把以下程序中的print()函数改写为等价的递归函数。

#include <iostream> using namespace std;void print( int w ){ for( int i = 1 ; i <= w ; i ++ ) { for( int j = 1 ; j <= i ; j ++ ) cout << i << " " ; cout << endl ; } }int main(){ print( 5 ) ; }运行显示: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 57.已知用梯形法求积分的公式为:∑-=+++=11)(2))()((n i nih a f h b f a f h T ,其中h = ( b -a ) / n ,n 为积分区间的等分数,编程序求如下积分的值。

要求把求积分公式编写成一个函数,并使用函数指针作为形式参数。

调用该函数时,给定不同的被积函数作为实际参数求不同的积分。

① dx x⎰+10214 ② dx x ⎰+2121 ③⎰2sin πxdx8.编写一个程序,包含三个重载的display 函数和一个主函数。

要求第一个函数输出double 值,前面用字符串“a double :”引导,第二个函数输出一个int 值,前面用字符串“a int :”引导,第三个函数输出一个char 字符值,前面用字符串“a char :”引导,在主函数中分别用double 、int 和char 型变量作为实参调用display 函数。

9.使用重载函数编程序分别把两个数和三个数从大到小排列。

10.给定求组合数公式为:)!(!!n m n m c n m-=,编一程序,输入m 和n 的值,求n m c 的值。

注意优化算法,降低溢出可能。

要求主函数调用以下函数求组合数:int Fabricate( int m, int n ) ;//返回nm c 的值Fabricate 函数内又须调用Multi 函数:int Multi( int m, int n ) ;// 返回 m×m-1×…× n程序由4个文件组成。

头文件存放函数原型作为调用接口;其他3个cpp 文件分别是main 、Fabricate 和Multi 函数的定义。

实验五1.已知求成绩的平均值和均方差公式:ns ave ni i∑==1,nave sdev ni i∑=-=12)(, 其中n 为学生人数,s i 为第i 个学生成绩。

求某班学生的平均成绩和均方差。

2.用随机函数产生10个互不相同的两位整数存放到一维数组中,并输出其中的素数。

3.将一组数据从大到小排列后输出,要求显示每个元素及它们在原数组中的下标。

4.从键盘上输入一个正整数,判别它是否为回文数。

所谓回文数是指正读和反读都一样的数。

例如,123321是回文数。

5.把两个升序排列的整型数组合并为一个升序数组。

设计好你的算法,以得到较高的运行效率。

6. 输入一个表示星期几的数,然后输出相应的英文单词。

要求使用指针数组实现。

7.编写函数:(1)在一个二维数组中形成如以下形式的n 阶矩阵:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛1234511234111231111211111(2)去掉靠边元素,生成新的n-2阶矩阵; (3)求矩阵主对角线下元素之和; (4)以方阵形式输出数组。

在main 函数中调用以上函数进行测试。

8.设某一城市三个百货公司某个季度销售电视机的情况和价格如下表格所示。

编写程序,将每个表数据以数组存放,求各个百货公司的电视机营业额。

牌号 公司 康佳 TCL 长虹 第一百货公司 300 250 150 第二百货公司 200 240 200 第三百货公司2802101809.设计函数求一整型数组的最小元素及其下标。

在主函数中定义和初始化该整型数组,调用该函数,并显示最小元素值和下标值。

10.假设有从小到大排列的一组数据存放在一个数组中,在主函数中从键盘输入一个在该数组的最小值牌号 价格 康佳 3500 TCL 3300 长虹3800和最大值之间的数,并调用一函数把输入的数插入到原有的数组中,保持从小到大的顺序,并把最大数挤出。

要求在主函数中输出改变后的数组。

11.编写程序,按照指定长度生成动态数组,用随机数对数组元素赋值,然后逆置该数组元素。

例如,对数组A[5],初值为{6,3,7,8,2},逆置后的值是{2,8,7,3,6}。

程序输出逆置前、后的数组元素序列。

12.把一个字符串插入到另一个字符串中指定的位置。

13.把某班学生的姓名和学号分别存放到两个数组中,从键盘上输入某一学生学号,查找该学生是否在该班,若找到该学生,则显示出相应的姓名。

14.将一组C++关键字存放到一个二维数组中,并找出这些关键字的最小者。

15.使用指针函数编写程序,把两个字符串连接起来。

16.使用string类,写一个简单文本编辑程序,能够实现基本的插入、删除、查找、替换等功能。

实验六1.使用结构类型表示复数。

设计程序输入两个复数,可以选择进行复数的+、-、×或÷运算,并输出结果。

2.把一个班的学生姓名和成绩存放到一个结构数组中,寻找和输出最高分者。

3.使用结构表示X—Y平面直角坐标系上的点,编写程序顺序读入一个四边形的四个顶点坐标,判别由这四个顶点的连线构成的图形是否为正方形、矩形或其它四边形。

相关文档
最新文档