当前位置:文档之家› c++上机实验5和6

c++上机实验5和6

c++上机实验5和6
c++上机实验5和6

《C++程序设计》上机实验报告

上机内容:实验5.数组实验6.指针

专业班级:电气信息类1201

学号: 0909120125

姓名:刘青青

日期: 2013.4.9

目录

·1.实验目的

·2.实验内容

·3.程序源码和运行结果·4.实验心得

实验5 数组

一.实验目的。

1)掌握一维数组和二维数组的定义,赋值,和输入输出的方法;

2)掌握字符数组和字符串函数的使用;

3)掌握与数组有关的算法;

二.实验内容。

1)用选择法对十个数进行排序。将选择法排序与起泡法比较,并分析它们的特点和效率。

2)有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。

3)编写一程序,将两个字符串连接起来,结果取代第一个字符串。

(1)用字符数组,不用strcat函数(即自己写一个具有strcat函数功能的函数);(2)用标准库中的strcat函数;

(3)用string方法定义字符串变量。

4)输入十个学生的姓名,学号和成绩,将其中不合格的学生的姓名,学号和成绩输出。

5)找出一个4行5列的二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

1、在程序中定义数组时对各元素赋初值;

2、用cin从键盘输入各组元素的值。

应当至少准备两组测试数据:

①维数组有鞍点,如:

1 2 3 4 5

2 4 6 8 10

3 6 9 12 15

4 8 12 16 20

②维数组没有鞍点,如:

1 1

2

3

4 5

2 4 16 8 10

3 6 8 12 15

4 8 12 16 20

检查结果是否正确。显然用cin从键盘输入数组各元素的值比较灵活,可根据需要输入不同数据。

三.程序源码和运行结果。

(1)A.选择法

#include

using namespace std;

int main()

{int i,j,min,temp,a[11];

cout<<"enter data:"<

for(i=1;i<=10;i++)

{cout<<"a["<

cin>>a[i];

}

cout<

for(i=1;i<=10;i++)

cout<

cout<

for(i=1;i<=9;i++)

{min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j]) min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

cout<

for(i=1;i<=10;i++);

cout<

cout<

return 0;}

B.起泡法

#include

int main()

{

int i,j,temp,a[11];

printf("enter data:\n");

for (i=1;i<=10;i++)

{

printf("a[%d]=",i);

scanf("%d",&a[i]);

}

printf("\n");

for (i=1;i<=10;i++)

printf("%5d",a[i]);

printf("\n");

for (j=1;j<=9;j++)

for (i=1;i<=9-j;i++)

{

if (a[i]>a[i+1])

{

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

}

}

printf("\nthe sorted numbers:\n"); for (i=1;i<=10;i++)

printf("%5d",a[i]);

getch();

return 0;

}

运行结果:

(2)

#include

using namespace std;

int main()

{const int n=7;

int i,number,top,bott,mid,loca,a[n]; bool flag=true,sign;

char c;

cout<<"enter data:"<>a[0];

i=1;

while(i

{cin>>a[i];

if(a[i]>=a[i-1])

i++;

else

cout<<"enter thus data again:";

}

cout<

for(i=0;i

cout<

cout<

while(flag)

{cout<<"input number to look for:"; cin>>number;

sign=false;

top=0;

bott=n-1;

if((numbera[n-1]))

loca=-1;

while((!sign)&&(top<=bott))

{mid=(bott+top)/2;

if(number==a[mid])

{loca=mid;

cout<<"Find"<

}

else if(number

bott=mid-1;

else

top=mid+1;

}

if(!sign‖loca==-1)

cout<

cout<<"continu or not(Y/N)?";

cin>>c;

if(c=='N'‖c=='n')

flag=false;

}

return 0;

}

运行结果:

(3)

(1)用字符数组,不用strcat函数(即自己写一个具有strcat 函数功能的函数);

#include

using namespace std;

int main()

{char s1[80],s2[40];

int i=0,j=0;

cout<<"input string1:";

cin>>s1;

cout<<"input string2:";

cin>>s2;

while(s1[i]!='\0')

i++;

while(s2[j]!='\0')

s1[i++]=s2[j++];

s1[i]='\0';

cout<<"The new string is:"<

}

(2)用标准库中的strcat函数;

#include

using namespace std;

int main()

{char s1[80],s2[40];

int i=0,j=0;

cout<<"input string1:";

cin>>s1;

cout<<"input string2:";

cin>>s2;

strcat(s1,s2);

cout<<"The new string is:"<

}

(3)用string方法定义字符串变量。

#include

#include

using namespace std;

int main()

{string s1="week",s2="end";

cout<<"s1="<

cout<<"s2="<

s1=s1+s2;

cout<<"The new string is:"<

return 0;

}

调试结果:

(4)

#include

#include

using namespace std;

const int n=10;

string name [n];

int num[n],score [n];

int main()

{int i;

void input_data();

input_data();

cout<

for(i=0;i

if(score[i]<60)

cout<

return 0;}

void input_data()

{int i;

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

{cout<<"please put in the data"<

cin>>name[i]>>num[i]>>score[i];

}

调试结果:

(5)

#include

using namespace std;

int main()

{

int **a,m,n,i,j,k,li,lj,min,max;

bool flag;

cout<<"请输入行数:";

cin>>m;

cout<<"请输入列数:";

cin>>n;

cout<<"您输入的是"<

//输入数据

for(i=0;i

{

a[i]=new int[n];

for(j=0;j

{

cout<<"a["<>a[i][j];

}

}

//按矩阵输出数据

for(i=0;i

{

for(j=0;j

{

cout<

}

cout<

//找出行中最大的数,列中最小的数,即鞍点for(i=0;i

{ max=a[i][0];

for(j=0;j

{

if(max

{

max=a[i][j];li=i;lj=j;

}

}

min=max;

flag=true;

for(k=0;k

{

if(min>a[k][lj])

{

flag=false;

break;

}

}

if(flag)

cout<<"鞍点在"<

break;

}

}

if(!flag) cout<<"鞍点不存在"<

}

调试结果:

四.实验心得。

初步知道了cin语句与scanf语句的区别,发现用string输入字符串不是很方便。练习了数组的实际运用,尤其是运用在排序法中。还掌握了一定的字符组和字符串函数的使用方法。这次试验中同样用到了很多循环语句,再次强调了循环语句的重要性,一定要学会循环语句的灵活运用。

实验6.指针

一.实验目的

(1)通过实验进一步掌握指针的概念,会定义和使用指针变量。

(2)能正确使用数组的指针和指向数组的指针变量。

(3)能正确使用字符串的指针和指向字符串的指针变量。

(4)能正确使用引用型变量

二.实验内容

1)输入3个整数,按由小到大顺序输出。编译一个函数用指针变量作为参数。2)在上题基础上将程序改为:输入3个字符串,按由小到大顺序输出。

3)用引用变量作为形参,实现3个整数由小到大输出。

4)有n个人围成一圈,顺序排号。从第1个人开始报数(1~3报数),凡报到3 的人退出圈子,问最后留下的人原来排在第几号。

5)在主函数上输入10个等长字符串。用另一函数对他们排序。然后在主函数上输出10个已排好序的字符串。

要求用以下方法编程:

(1)指向一维数组的指针作函数参数;

(2)用string数组方法。

三.程序源码和调试结果

(1)输入3个整数,按由小到大顺序输出。编译一个函数用指针变量作为参数。程序如下:

#include

using namespace std;

int main()

{void swap(int *p1,int *p2);

int n1,n2,n3;

int *p1,*p2,*p3;

cout<<"input three integers n1,n2,n3:";

cin>>n1>>n2>>n3;

p1=&n1;

p2=&n2;

p3=&n3;

if(n1>n2) swap(p1,p2);

if(n1>n3) swap(p1,p3);

if(n2>n3) swap(p2,p3);

cout<<"Now,the order is:"<

return 0;

}

void swap(int *p1,int *p2)

{int p;

p=*p1; *p1=*p2; *p2=p;

}

调试结果:

(2)在上题基础上将程序改为:输入3个字符串,按由小到大顺序输出。程序如下:

#include

#include

using namespace std;

int main()

{void swap(char *,char *);

char str1[20],str2[20],str3[20];

cout<<"input three line:"<

gets(str1);

gets(str2);

gets(str3);

if(strcmp(str1,str2)>0) swap(str1,str2);

if(strcmp(str1,str3)>0) swap(str1,str3);

if(strcmp(str2,str3)>0) swap(str2,str3);

cout<

cout<

return 0;

}

void swap(char *p1,char *p2)

{char p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);

}

调试结果:

(3)用引用变量作为形参,实现3个整数由小到大输出。程序如下:

#include

using namespace std;

int main()

{void sort(int &,int &,int &);

int a,b,c;

int a1,b1,c1;

cout<<"input three integers a,b,c:";

cin>>a>>b>>c;

a1=a;

b1=b;

c1=c;

sort(a1,b1,c1);

cout<<"Now,the order is:"<

return 0;

}

void sort(int &i,int &j,int &k)

{void change(int &,int &);

if(i>j) change(i,j);

if(i>k) change(i,k);

if(j>k) change(j,k);

}

void change(int &x,int &y)

{int temp;

temp=x,x=y,y=temp;

}

调试结果:

(4)有n个人围成一圈,顺序排号。从第一个人开始报数(1~3报数),凡报到

3的人退出圈子,问最后留下的人原来排在第几号。程序如下:

#include

using namespace std;

int main()

{int i,k,m,n,num[50],*p;

cout<<"input number of person: n=";

cin>>n;

p=num;

for (i=0;i

*(p+i)=i+1;

i=0;

k=0;

m=0;

while (m

{if (*(p+i)!=0) k++;

if (k==3)

{*(p+i)=0;

k=0;

m++;

}

i++;

if (i==n) i=0;

}

while(*p==0) p++;

cout<<"The last one is NO."<<*p<

return 0;

}

调试结果:

(5)在主函数上输入10个等长字符串。用另一函数对他们排序。然后在主函数上输出10个已排好序的字符串。

1、指向一维数组的指针作函数参数;程序如下:

#include

#include

int main()

{

void sort(char *[]);

int i;

char str[10][6], *p[10];

printf("please input 10 string:/n");

for(i=0;i<10;i++)//首先将10个str的首地址赋值给10个p[i]; p[i]=str[i];//将第i个字符串的首地址赋予指针数组p的第i个元素;

for(i=0;i<10;i++)

scanf("%s",p[i]);//scanf输入到&p[i]

sort(p);

printf("the output 10 string:/n");

for(i=0;i<10;i++)

printf("%s/n",p[i]);//输出到p[i];

}

void sort(char *s[])

{

char *temp;

int i,j;

for(i=0;i<9;i++)

for(j=0;j<9-i;j++)

if(strcmp(*(s+j),*(s+j+1))>0)

{

temp=*(s+j);//*(s+j)指向数组指针,我想应该是字符串的首地址;所以可以直接赋值给temp指针;

*(s+j)=*(s+j+1);

*(s+j+1)=temp;

}

}

2、用string数组方法。程序如下:

#include

#include

int main()

{void sort(char p[10][100]);

char a[10][100];

printf("请输入十个字符串:");

C语言上机报告答案

2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

实验6 多态性(一)

福建农林大学实验报告 实验6 多态性(一) 一、实验目的和要求 (1)掌握虚函数的定义与使用方法,进一步理解多态性的概念和分类。 (2)了解纯虚函数和抽象类的使用方法。 二、实验内容和原理 1、分析并调试下列程序,回答以下问题:(1)指出抽象类(2)指出虚函数,并说明它的作用(3)每个类的作用是什么?整个程序的作用是什么? 2、使用虚函数编写程序求球体、圆柱体和圆锥的体积,由于球体、圆柱体和圆锥都可以看做由圆继 承而来,所以可以定义圆类作为基类。在圆类中定义数据成员半径和一个求体积的虚函数。由圆类 派生出球体类、圆柱体类和圆锥类,在派生类中对圆类中的虚函数重新定义。编写一个外部函数求 各类形状的总体积。最后在main()函数中构造若干形状,并求它们的体积和。

三、实验环境 1. 硬件:PC机; 2. 软件:Windows操作系统、Visual C++ 6.0 四、算法描述及实验步骤 1、算法描述及步骤如下: (1)根据题目要求编写好程序代码并在VC环境下输入源程序。 (2)检查程序有无错误(包括语法错误和逻辑错误),有则改之。 (3)编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。本题改正后的代码如下: #include const double PI=3.1415; class Shap { public:virtual double Area()=0; }; class Triangle:public Shap { public:Triangle(double h,double w) { H=h; W=w; } double Area() { return 0.5*H*W; } private:double H,W; }; class Circle:public Shap { public:Circle(double r) { R=r; } double Area() { return PI*R*R; } private:double R; }; double Total(Shap*s[],int n) { double sum=0; for(int i=0;i

第5章上机实验报告

第5章上机实验报告 一、实验目的 (1)观察程序运行中变量的作用域74。 (2)学习类的静态成员的使用。 (3)学习多文件结构的C++程序中的使用。 二、实验任务 (1)运行下面的程序,观察变量x,y的值。 【代码lab5-1】 #include"iostream" usingnamespace std; void fun(); int x=1,y=2; int main() { cout<<"Begin..."<

第六次实验虚拟变量上机

1 表中给出1965—1970年美国制造业利润和销售额的季度数据。假定利润不仅与销售额有关,而且和季度因素有关。要求: (1) 如果认为季度影响使利润的截踞水平发生变异,应如何引入虚拟变量? 对利润函数μββ++=X Y 10按加分方式引入虚拟变量432,,D D D : μαααββ+++++=43322110D D D X Y 其中? ??==,其它季节、、 季:第0432,1i i D i EViews 软件下,命令 LS Y C X @seas(2) @seas(3) @seas(4) 得回归结果: 388 .026 .55256 .0) 28.0()35.0()07.2() 33.3() 91.3(2.1822.2185.13220383.08.6685?24 32===-+-++=DW F R D D D X Y 回归结果表明,只有销售额与第二季度对利润有显著影响。销售额每增加1美元,则平 均利润可增加4美分;第一季度的平均利润水平是6685.8美元,而在第二季度中则可提高1322.5美元。 由于其他季度的影响不显著,故可只引入第二季度虚拟变量2D ,得如下回归结果: 470 .018 .115156 .0)70.2() 72.3() 01.4(6.13310393.01.6513?22 ===++=DW F R D X Y (2)如果认为季度影响使利润对销售额的变化率发生变异,应当如何引入虚拟变量? 如果季度因素对利润率产生影响,则可按乘法方式引入虚拟变量: μαααββ+++++=X D X D X D X Y 43322110 EViews 软件下,命令 LS Y C X @seas(2)*X @seas(3)*X @seas(4)*X 得回 归结果: 419 .033 .55289 .0) 21.0()32.0() 03.2() 95.2() 97.3(00089.00014.00086.00365.085.6965?24 32===-+-++=DW F R X D X D X D X Y 可以看出,仍然是第二季度对利润的影响,其他季度的影响不显著,因此只引入第 二季度虚拟变量,得如下回归结果: 由此可知,在其他季度,利润率为0.0372,第二季度则增加到0.0459。 (3)如果认为上述两种情况都存在,又应当如何引入虚拟变量? (4)对上述三种情况分别估计利润模型,并对模型进行分析。 485 .041.115208.0) 76.2()51.3()23.4(0087.00372.02.6839?2 2 ===++=DW F R X D X Y

C语言上机实验[1]

实验四循环结构程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握while语句、do-while语句和for语句。 2、练习并掌握循环结构的嵌套形式。 3、掌握循环结构的程序设计方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P41) 2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P42) 3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(实验指导书P167) 4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小 于10-6为止。(实验指导书P169) 5、计算1!+2!+……+n! 的值,n值由键盘输入。(实验指导书P176) 6、输入10个整数,统计并输出其中正数、负数和零的个数。 四、实验答案:(代码+运行结果截屏) 实验五综合实验1:结构化程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(实验指导书P162) 2、百马百担问题。(实验指导书P45) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验答案:(代码+运行结果截屏)

上机实验6

上海电力学院 C程序设计实验报告 题目:《C程序设计》综合实训 院系:电力与自动化工程学院 专业年级:2011028 学生姓名:张晶晶学号:20111440 2011年11月27日

实验 6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值,结果保留两位小数。例如,当一维数组a中的元素为:10,4,2,7,3,12,5,34,5,9时,程序的输出应为:The aver is:9.10 程序中有两处错误,错误都在提示行:/**********found**********/的下面一行。请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构。 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a总的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is:2。 程序中有两处错误,错误都在提示行:/**********found**********/的下面一

行。请改正程序中的错误,使它能得出正确的结果。 3、在考生目录下,给定程序FILL1.C的功能是:在第一个循环中给a数组的前10个数组元素依次赋1、2、3、 4、 5、 6、 7、 8、 9、10;在第二个循环使a 数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1;在最后一个循环中输出对称折叠以后的a数组的前10个元素。 程序总有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! 4、以下给定程序FILL1.C的功能是:输入一个数x,查找x在数组a中最后一次出现的位置。例如:如果a数组中的元素为:1,5,2,5,6,8,7,4,3,0,当x=5时,程序的输出结果为:5 isNo.3。当x=10时,该数不在数组中,程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的

会计学原理课程实验答案(张志康 第二版)

《会计学原理课程实验》关键性参考答案

实验2关键性参考答案 万山市黔西机械加工厂2012年4月份专用记账凭证如下(以会计分录代替): 1. 借:应付账款——临江市钢铁公司88 000 贷:银行存款88 000(银付1号) 2. 借:其他应收款——李凯力 1 200 贷:库存现金 1 200(现付1号) 3. 借:银行存款95 000 贷:应收账款——中原器械有限公司95 000(银收1号) 4. 借:银行存款800 贷:库存现金800(现付2号) 5. 借:材料采购——角钢40 000 ——铸铁90 000 应交税费——应交增值税(进项税额)22 100 贷:银行存款152 100(银付2号) 6. 借:库存现金800 贷:银行存款800(银付3号)7. 借:应付职工薪酬210 贷:库存现金210(现付3号)8. 借:银行存款60 000 贷:应收账款——金山器械有限公司60 000(银收2号) 9. 借:材料采购——角钢 4 000 ——铸铁9 000 贷:银行存款13 000(银付4号)10. 借:原材料——角钢44 000 ——铸铁99 000 贷:材料采购——角钢44 000 ——铸铁99 000(转1号) 11. 借:管理费用800 贷:库存现金800(现付4号)12. 借:管理费用100 贷:库存现金100(现付5号)

13. 借:银行存款94 770 贷:主营业务收入81 000 应交税费——应交增值税(销项税额)13 770(银收3号)14. 借:财务费用60 贷:银行存款60(银付5号)15. 借:管理费用300 贷:库存现金300(现付6号)16. 借:银行存款159 120 贷:主营业务收入136 000 应交税费——应交增值税(销项税额)23 120(银收4号)17. 借:销售费用 6 500 贷:银行存款 6 500(银付6号)18. 借:银行存款200 000 贷:短期借款200 000(银收5号)19. 借:管理费用600 贷:库存现金600(现付7号)20.(1)借:库存现金220 贷:其他应收款——李凯力220(现收1号)(2)借:管理费用980 贷:其他应收款——李凯力980(转2号)21. 借:固定资产60 000 应交税费——应交增值税(进项税额)10 200 贷:银行存款70 200(银付7号)22. 借:生产成本——切管机29 700 ——焊机28 600 制造费用9 350 贷:原材料——角钢26 400 ——铸铁41 250(转3号)23.(1)借:材料采购——角钢61 600 应交税费——应交增值税(进项税额)9 520 贷:银行存款71 120(银付8号)(2)借:原材料——角钢61 600 贷:材料采购——角钢61 600(转4号)24. 借:库存现金120 000 贷:银行存款120 000(银付9号)25. 借:应付职工薪酬99 500 贷:库存现金99 500(现付8号)26. 借:应收账款——金山器械有限公司105 300 贷:主营业务收入90 000 应交税费——应交增值税(销项税额)15 300(转5号)27. 借:银行存款105 300

计算机组成原理上机实验报告

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级1237-小 姓名 学号 时间2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 运算类 A B S3 S2 S1 S0 CN 结果 逻辑运算65 A7 0 0 0 0 X F=( 65 ) FC=( ) FZ=( ) 65 A7 0 0 0 1 X F=( A7 ) FC=( ) FZ=( ) 0 0 1 0 X F=( ) FC=( ) FZ=( ) 0 0 1 1 X F=( ) FC=( ) FZ=( ) 0 1 0 0 X F=( ) FC=( ) FZ=( ) 移位运算0 1 0 1 X F=( ) FC=( ) FZ=( ) 0 1 1 0 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 0 1 1 1 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 算术运算 1 0 0 0 X F=( ) FC=( ) FZ=( ) 1 0 0 1 X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 1 X F=( ) FC=( ) FZ=( ) 1 1 0 0 X F=( ) FC=( ) FZ=( ) 1 1 0 1 X F=( ) FC=( ) FZ=( ) 表1-2运算结果表

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

会计学原理课程实验答案(张志康-第二版)

会计学原理课程实验答案(张志康-第二版)

《会计学原理课程实验》关键性参考答案

实验2关键性参考答案

万山市黔西机械加工厂2012年4月份专用记账凭证如下(以会计分录代替): 1. 借:应付账款——临江市钢铁公司88 000 贷:银行存款88 000(银付1号) 2. 借:其他应收款——李凯力1 200 贷:库存现金1 200(现付1号) 3. 借:银行存款95 000 贷:应收账款——中原器械有限公司95 000(银收1号) 4. 借:银行存款800 贷:库存现金800(现付2号) 5. 借:材料采购——角钢40 000 ——铸铁90 000 应交税费——应交增值税(进项税额)22 100 贷:银行存款152 100(银付2号) 6. 借:库存现金800 贷:银行存款800(银付3号) 7. 借:应付职工薪酬210 贷:库存现金210(现付3号) 8. 借:银行存款60 000 贷:应收账款——金山器械有限公司60 000(银收2号)

9. 借:材料采购——角钢4 000 ——铸铁9 000 贷:银行存款13 000(银付4号) 10. 借:原材料——角钢44 000 ——铸铁99 000 贷:材料采购——角钢44 000 ——铸铁99 000(转1号) 11. 借:管理费用800 贷:库存现金800(现付4号) 12. 借:管理费用100 贷:库存现金100(现付5号) 13. 借:银行存款94 770 贷:主营业务收入81 000 应交税费——应交增值税(销项税额) 13 770(银收3号) 14. 借:财务费用60 贷:银行存款60(银付5号) 15. 借:管理费用300 贷:库存现金300(现付6号) 16. 借:银行存款159 120 贷:主营业务收入136 000 应交税费——应交增值税(销项税额)

MATLAB第六次上机实验报告

MATLAB第六次上机实验报告 0210901班学号2009210811 姓名:李贤凤Quiz 3.1 >> a=20; >> b=-2; >> c=0; >> d=1; >> a>b ans = 1 >> b>d ans = >> a>b&c>d ans = >> a==b ans = >> a&b>c ans = >> ~~b ans = 1 >> a=2; >> b=[1 -2;-0 10]; >> c=[0 1;2 0]; >> d=[-2 1 2;0 1 0]; >> ~(a>b) ans = 0 0 0 1 >> a>c&b>c ans = 1 0 0 1 >> c<=d ??? Error using ==> <= Matrix dimensions must agree.

>> a=2; >> b=3; >> c=10; >> d=0; >> a*b^2>a*c ans = >> d|b>a ans = 1 >> (d|b)>a ans = >> a=20; >> b=-2; >> c=0; >> d='Test'; >> isinf(a/b) ans = >> isinf(a/c) Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = 1 >> a>b&ischar(d) ans = 1 >> isempty(c) ans = Quiz3.2 1.% Script file : Sqrt_x.m % Purpose: % This program is used to calculate the square root of a randem number % Record of revisions: % Date Programmer Description of change % === ======== ================ % 10/22/2010 lixianfeng Original code

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

C++上机实验报告实验六

实验六 实验目的 1.掌握运算符重载的方法 2.学习使用虚函数实现动态多态性 实验要求 1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop 等成员函数。观察虚函数的作用。 3. (选做)对实验4中的People类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。 实验内容及实验步骤 1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point& operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.Cpp #include using namespace std; class Point { public: Point(); Point(int x,int y); ~Point(){} //Point类析构函数 Point& operator++(); //公有成员函数 Point operator++(int); Point&operator--(); Point operator--(int); void Show(); private: int _x; //私有数据成员 int _y; }; Point::Point(){ //Point类构造函数 _x=0;_y=0;} Point::Point(int x,int y) //Point类构造函数 { _x=x; _y=y; }

SQL_Server_SQL实验与练习题参考答案

实验1 数据库操作 1.创建数据库: 操作1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。 参考答案: create database Test ON primary ( name = test_data, filename = 'd:\test\test_data.mdf', size = 5MB, maxsize = unlimited, filegrowth = 1MB ) LOG ON ( name = test_log, filename = 'd:\test\test_log.ldf', size = 1MB, maxsize = 5MB, filegrowth = 10% ) GO 2.查看数据库属性: 操作1.2:使用T-SQL语句查看数据库test属性 参考答案: EXEC sp_helpdb test 3.删除数据库: 操作1.3:使用T-SQL语句删除数据库test 参考答案: drop database Test 实验2 表操作 1.创建表: 操作2.1:创建学生表:

参考答案: USE test GO CREATE TABLE student ( st_id nVarChar(9) primary key NOT NULL , st_nm nVarChar(8) NOT NULL , st_sex nVarChar(2) NULL , st_birth datetime NULL , st_score int NULL , st_date datetime NULL , st_ from nVarChar(20) NULL , st_dpid nVarChar(2) NULL , st_ mnt tinyint NULL ) GO 操作2.2:创建课程信息表: 表名:couse 说明:课程信息表 USE test GO CREATE TABLE couse ( cs_id nVarChar(4) primary key NOT NULL , cs_nm nVarChar(20) NOT NULL , cs_tm int NULL , cs_sc int NULL ) GO 操作2.3:创建选课表:

大一C语言上机实验试题和答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d);

C程序设计上机实验报告((完整版))

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017 年3 月6 号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C 程序的运行环境和运行C程序的方法 二、实验目的:了解在 程序 C 编译系统上如何编辑、编译、连接和运行一个 C 三、实验内容: (1). (2). (3). 输入并运行一个简单的C程序。 设计程序,对给定的两个数求和。 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了 1 和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf() 和scanf() 函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if 语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar 和putchar 输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

上机实验六

上机实验六数组一 一.目的要求 1.掌握一维数组的基本概念,如何定义一维数组,如何初始化一维数组。 2.掌握数组的基本操作:引用数组元素、行(列)求和,行(列)最大最小值,整个数组的输入输出等。 3.掌握与数组有关的算法,如排序、找最大最小值(或位置)等。 二.实验内容 第1题、输入n(n不超过10),然后输入n个数组元素,要求将数组元素在同一个数组中按逆序重新存放并输出。 如输入5 1 2 3 4 5 应输出 5 4 3 2 1 #include #define N10 Void main() { int i,j; int a[N]; scanf("%d",&n]); for(i=0;i<=9;i++) j=9-i; a[i]=a[j]; for (i=0;i<=9;i++) printf("%d",a[i]); return 0;

第2题、输入一个数组的所有元素,再输入一个整数m,把该数组的后m个数字移到数组的前头。 比如数组元素为:1 2 3 4 5 6 7 8 9 10,m=4,应输出:7 8 9 10 1 2 3 4 5 6 #include int main() { int a[10]; int b[10]; int i=0; int m; printf ("please enter a[i]"); scanf("%d",&a[i]); printf("please enter m"); scanf("%d",&m]); if(m<=0 && m>=10) printf("wrong enter"); else for(i=0;i

物理化学实验思考题及参考答案

基础化学实验Ⅳ (物理化学实验) 2011年11制作 思考题及参考答案

目录 第一部分:思考题.................................................... 错误!未定义书签。 实验七十恒温水浴组装及性能测试.............................. 错误!未定义书签。 实验七十一燃烧热的测定........................................ 错误!未定义书签。 实验七十二差热分析............................................ 错误!未定义书签。 实验七十三凝固点降低法测定摩尔质量............................ 错误!未定义书签。 实验七十四纯液体饱和蒸气压的测量.............................. 错误!未定义书签。 实验七十五双液系的气-液平衡相图............................... 错误!未定义书签。 实验七十六三组分液-液体系的平衡相图........................... 错误!未定义书签。 实验七十七化学平衡常数及分配系数的测定........................ 错误!未定义书签。 实验七十八溶液电导的测定——测HAc的电离平衡常数.............. 错误!未定义书签。 实验七十九原电池电动势的测定及其应用.......................... 错误!未定义书签。 实验八十线性电位扫描法测定镍在硫酸溶液中的钝化行为.......... 错误!未定义书签。 实验八十一旋光法测定蔗糖转化反应的速率常数.................... 错误!未定义书签。 实验八十二电导法测定乙酸乙酯皂化反应的速率常数................ 错误!未定义书签。 实验八十三最大泡压法测定溶液的表面张力........................ 错误!未定义书签。 实验八十四固体在溶液中的吸附.................................. 错误!未定义书签。 实验八十五粘度法测定水溶性高聚物相对分子质量.................. 错误!未定义书签。 实验八十六 Fe(OH)3溶胶的制备及其ξ电势的测定 ................. 错误!未定义书签。 实验八十七电导法测定水溶性表面活性剂的临界胶束浓度............ 错误!未定义书签。第二部分:参考答案.................................................. 错误!未定义书签。 实验七十恒温水浴组装及性能测试.............................. 错误!未定义书签。 实验七十一燃烧热的测定........................................ 错误!未定义书签。 实验七十二差热分析............................................ 错误!未定义书签。 实验七十三凝固点降低法测定摩尔质量............................ 错误!未定义书签。 实验七十四纯液体饱和蒸气压的测量.............................. 错误!未定义书签。

相关主题
文本预览
相关文档 最新文档