文档视界 最新最全的文档下载
当前位置:文档视界 › C++程序设计实践答案

C++程序设计实践答案

C++程序设计实践答案
C++程序设计实践答案

计算机程序设计实践报告

学生姓名:李登峰

学生学号: 0306100218

所在班级:生物工程1002班

任课教师:杨英杰刘新星

2011年6月24日

1. 某选矿车间某班取样化验数据如表1,利用矿量平衡和金属平衡可以列出含四个方

程的线性方程组,请利用行线性变换编程求出各精矿及尾矿的理论产率

表1 各矿流的化验品位

--------------------------------

矿产化验品位%

率 ------------------

流 % Pb Zn S

--------------------------------

原矿 100.00 3.08 11.92 14.58

铅精矿 x1 57.16 4.08 21.19

锌精矿 x2 0.79 56.56 31.71

硫精矿 x3 2.06 2.90 40.24

尾矿 x4 0.25 0.73 4.93

--------------------------------

解题思路:利用矿量和三种组分的进出平衡可列出四个方程的线性方程组:

x1+x2+x3+x4=100

57.16x1+0.79x2+2.06x3+0.25x4=308

4.08x1+56.56x2+2.09x3+0.73x4=1192

21.19x1+31.71x2+40.24x3+4.93x4=1458

由于独立方程个数等于未知数个数属于唯一解的线性方程组。

令,X= x1 D=1 1 1 Y=100

x2 57.16 0.79 2.06 0.25 300

x3 4.08 56.56 2.09 0.73 1171

x4 21.19 31.71 40.24 4.93

X是未知数向量,D是系数矩阵,Y是观测值向量,则方程组可以表示为

矩阵方程:

DX=Y

则可以求出X

通过对输入的矩阵的对角线上的数据和其下方的数据相比较,若对角线上的数的绝对值大于其所在列的数据,不交换;若对角线上的数据小于其所在列下方的数,则进行行交换。然后对对角线下方的数进行消元。使原矩阵变成上三角阵,接着用牛顿迭代法进行求解。即可求的线性方程组的解。

解:#include

#include

using namespace std;

int main()

{ /*构建方程组输入系数矩阵*/ float a[4][5]={ {1,1,1,1,100},{57.16,0.79,2.06,0.25,308},

{4.08,56.56,2.90,0.73,1192},{21.19,31.71,40.24,4.93,1458}};

float t00=a[0][0],t10=a[1][0],t20=a[2][0],t30=a[3][0],t;

for(int m=0;m<5;m++)

{

a[0][m]/=t00;

a[2][m]-=(t20*a[0][m]);

a[3][m]-=(t30*a[0][m]);

}

if(a[1][1]==0)

if(a[2][1]!=0)

for(int r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[2][r]; /*进行行变换求出逆矩阵*/ a[2][r]=t;

}

else

for(int s=0;s<5;s++)

{

t=a[1][s];

a[1][s]=a[3][s];

a[2][3]=t;

}

float t11=a[1][1],t21=a[2][1],t31=a[3][1];

for(int x=1;x<5;x++)

{

a[1][x]/=t11;

a[2][x]-=(t21*a[1][x]);

a[3][x]-=(t31*a[1][x]);

}

if(a[3][3]==0)

for(int y=0;y<5;y++)

{

t=a[2][y];

a[2][y]=a[3][y];

a[3][y]=t;

}

float t22=a[2][2],t32=a[3][2];

for(int z=2;z<5;z++)

{

a[2][z]/=t22;

a[3][z]-=a[2][z]*t32;

}

float t33=a[3][3],t23=a[2][3],t13=a[1][3],t03=a[0][3];

for(int k=1;k<5;k++)

{

a[3][k]/=t33;

a[2][k]-=(a[3][k]*t23);

a[1][k]-=(a[3][k]*t13);

a[0][k]-=(a[3][k]*t03);

}

float t12=a[1][2],t02=a[0][2];

for(int l=1;l<5;l++)

{

a[0][l]-=(a[2][l]*t02);

}

float t01=a[0][1];

for(int h=1;h<5;h++)

{

a[0][h]-=(a[1][h]*t01);

}

printf("铅精矿理论产率为:%8.4f%c \n",a[0][4],37);

printf("锌精矿理论产率为:%2.4f%c \n",a[1][4],37);

printf("硫精矿理论产率为:%8.4f%c \n",a[2][4]),37;

printf("尾矿理论产率为:%8.4f%c \n",a[3][4],37);

return (0); /*输出结果*/

}

2. 因变量y是自变量x的非线性函数,已得到实测数据见表2,假定y可以用x的3 多

项式近似表示,即y对x的多项式回归模型为

y=b0+b1x+b2x2+b3x3

请求出模型蚕数b0、b1、b2和b3,计算模型值ym与相对误差r%并填入表2中。

表2 实测数据

------------------------------

x y ym r%

------------------------------

-4 -210

-2 -20

0 1.1

2 50

5 590

-------------------------------

解题思路:用数组输入,可以解决直方图中条形图的个数问题。首先定义一个数组,最大可输入20个数。输入数N,设定数组大小。同时改变横纵坐标的大小来调节图形的大小。通过将数组和第一题绘图程序的结合,完成绘图功能。本来想找出数组中的最大值来确定纵坐标,可是程序运行时需要先在黑屏上输入一字母并单击回车键后才出图形。不晓得是什么原因。

#include

#include

using namespace std;

int main()

{

printf("请输入数据:\n");

float a[4][5],b[4][6],d[6][5]={},c[6][2];

int i,j,r;

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

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

{

if(j!=4)

{

d[i][0]=1;

d[i][1]=i;

d[i][2]=i*i; /*构建系数矩阵*/

d[i][3]=i*i*i;

}

}

d[-4][4]=-210;

d[-2][4]=-20;

d[0][4]=1.1;

d[2][4]=50;

d[5][4]=590;

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

{

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

printf("%8.4f",d[i][j]);

printf("\n");

}

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

{

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

b[i][j]=d[j][i]; /* 利用最小二乘法求出相关矩阵*/

}

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

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

{

a[i][j]=0;

for(r=0;r<6;r++)

a[i][j]+=b[i][r]*d[r][j];

}

float t00=a[0][0],t10=a[1][0],t20=a[2][0],t30=a[3][0],t; for(r=0;r<5;r++)

{

a[0][r]/=t00;

a[1][r]-=(t10*a[0][r]);

a[2][r]-=(t20*a[0][r]);

a[3][r]-=(t30*a[0][r]);

}

if(a[1][1]==0)

if(a[2][1]!=0)

for(r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[2][r];

a[2][r]=t;

}

else

for(r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[3][r];

a[2][3]=t;

}

float t11=a[1][1],t21=a[2][1],t31=a[3][1];

for(r=1;r<5;r++)

{

a[1][r]/=t11;

a[2][r]-=(t21*a[1][r]);

a[3][r]-=(t31*a[1][r]);

}

if(a[3][3]==0)

for(r=0;r<5;r++)

{

t=a[2][r];

a[2][r]=a[3][r];

a[3][r]=t;

}

float t22=a[2][2],t32=a[3][2];

for(r=2;r<5;r++)

{

a[2][r]/=t22;

a[3][r]-=a[2][r]*t32;

}

float t33=a[3][3],t23=a[2][3],t13=a[1][3],t03=a[0][3];

for(r=1;r<5;r++)

{

a[3][r]/=t33;

a[2][r]-=(a[3][r]*t23);

a[1][r]-=(a[3][r]*t13);

a[0][r]-=(a[3][r]*t03);

}

float t12=a[1][2],t02=a[0][2];

for(r=1;r<5;r++)

{

a[1][r]-=(a[2][r]*t12);

a[0][r]-=(a[2][r]*t02);

}

float t01=a[0][1];

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

{

a[0][r]-=(a[1][r]*t01);

}

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

{

c[i][0]=0;

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

{

c[i][0]+=(a[j][4]*d[i][j]);

}

c[i][1]=(100*(c[i][0]-d[i][4]))/c[i][0];

if(c[i][1]<0)

c[i][1]=0-c[i][1];

}

printf("\nb1=%2.2f%\n",a[0][4]);

printf("b2=%2.2f%\n",a[1][4]);

printf("b3=%2.2f%\n",a[2][4]);

printf("b4=%2.2f%\n",a[3][4]);

printf("---------------------------------\n");

printf(" x y ym r%c \n",37);

printf("---------------------------------\n");

printf(" -4 -210 %4.2f %4.2f \n",c[0][0],c[0][1]); printf(" -2 -20 %4.2f %4.2f \n",c[1][0],c[1][1]); printf(" 0 1.1 %4.2f %4.2f \n",c[2][0],c[2][1]); printf(" 2 50 %4.2f %4.2f \n",c[3][0],c[3][1]); printf(" 5 590 %4.2f %4.2f \n",c[4][0],c[4][1]); printf("---------------------------------\n");

return (0);

}

3. 请用行线性变换求下面三元一次线性方程组的解和系数矩阵的逆矩阵。

-x1 + x2 + x3 =13

x1 - x2 + x3 = 9

x1 + x2 - x3 = 1

解:解题思路:此题先输入要求矩阵的维数。输入原矩阵的数据同时用循环判断语句给原矩阵加一同维数的单位矩阵,使之变为一增广矩阵。通过对输入的原矩阵的对角线上的数据和其下方的数据相比较,若对角线上的数的绝对值大于其所在列的数据,不交换;若对角线上的数据小于其所在列下方的数,则进行行交换(单位矩阵也随着变换)。然后对对角线下方的数进行消元(单位矩阵也随着变换)。使原矩阵变成上三角阵,然后将上三角阵中对角线以上的数再进行消元。此时只剩下对角线上有非零数。再对每一行单位化即可。逆矩阵为起初加上去的单位矩阵变化后的矩阵。此题是通过对输入的矩阵的对角线上的数据和其下方的数据相比较,若对角线上的数的绝对值大于其所在列的数据,不交换;若对角线上的数据小于其所在列下方的数,则进行行交换。(行变换的的过程中解决了对角线上有0元素存在的问题)然后对对角线下方的数进行消元。使原矩阵变成上三角阵,接着用牛顿迭代法进行求解。即可求的线性方程组的解。

#include

#include

using namespace std;{

float b[3][7],a[3][4]={ -1,1,1,13,1,-1,1,9,1,1,-1,1};/*输入系数矩阵*/

int i,j,m,n,r;

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

{

for(n=0;n<7;n++)

{

if(n<4)

b[m][n]=a[m][n]; /*在系数矩阵右边生成一个单位矩阵*/

else if(n==m+4)

b[m][n]=1;

else

b[m][n]=0;

}

}

float t1=b[0][0],t2=b[1][0],t3=b[2][0],t;

for(m=0;m<8;m++)

{

b[0][m]/=t1;

b[1][m]+=t2*(-1)*b[0][m];

b[2][m]+=t3*(-1)*b[0][m];

}

if(b[1][1]==0)

for(r=0;r<7;r++)

{

t=b[1][r];

b[1][r]=b[2][r];

b[2][r]=t; /*进行行变换求出逆矩阵*/

}

float t4=b[1][1],t5=b[1][2];

for(r=1;r<7;r++)

{

b[1][r]/=t4;

b[2][r]=b[2][r]-t5*b[1][r];

}

float t6=b[2][2],t7=b[1][2],t8=b[0][2],t9=b[0][1];

for(r=1;r<7;r++)

{

b[2][r]/=t6;

b[1][r]=b[1][r]-b[2][r]*t7;

b[0][r]=b[0][r]-b[2][r]*t8;

b[0][r]=b[0][r]-b[1][r]*t9;

}

printf("方程组\n");

printf("-x1 + x2 + x3 =13\n");

printf("x1 - x2 + x3 =9\n");

printf("x1 + x2 - x3 =1 的解为:\n");

printf("\t\t\tx1=%4.2f\n\t\t\tx2=%4.2f\n\t\t\tx3=%4.2f\n",b[0][3], b[1][3],b[2][3]);

printf("系数矩阵逆矩阵为:\n");

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

{

for(j=4;j<7;j++) /*根据题目要求输出运算结果*/ printf("%6.2f",b[i][j]);

printf("\n");

}

return 0;

}

4.在表1中增加两种组分的化验品位如表2,可以列出六个线性方程,显然是矛盾的方程组,请用最小二乘法求精/尾矿产率的最小二乘解,并填入表3相应位置。

表3 各矿流的化验品位

---------------------------------------------

矿产化验品位%

率 -------------------------------

流 % Pb Zn S Fe Cb

---------------------------------------------

原矿 100.00 3.08 11.92 14.58 9.32 0.0162

铅精矿 x1 57.16 4.08 21.19 10.26 0.0075

锌精矿 x2 0.79 56.56 31.71 4.75 0.0880

硫精矿 x3 2.06 2.90 40.24 41.23 0.0045

尾矿 x4 0.25 0.73 4.93 5.19 0.0004

---------------------------------------------

解:#include

#include

using namespace std;

int main()

{

float a[4][5],b[4][6],

d[6][5]={{1,1,1,1,100},{57.16,0.79,2.06,0.25,308},

{4.08,56.56,2.90,0.73,1192},{21.19,31.71,40.24,4.93,1458},

{10.26,4.75,41.23,5.19,932},{0.0075,0.0880,0.0045,0.0004,1.62}};

int i,j,r; /*构建方程组输入系数矩阵*/

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

{

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

b[i][j]=d[j][i];

}

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

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

{

a[i][j]=0; /*利用最小二乘法求出相关矩阵*/

for(r=0;r<6;r++)

a[i][j]+=b[i][r]*d[r][j];

}

float t00=a[0][0],t10=a[1][0],t20=a[2][0],t30=a[3][0],t;

for(r=0;r<5;r++)

{

a[0][r]/=t00;

a[1][r]-=(t10*a[0][r]);

a[2][r]-=(t20*a[0][r]);

a[3][r]-=(t30*a[0][r]);

}

if(a[1][1]==0)

if(a[2][1]!=0)

for(r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[2][r]; /*进行行变换求出逆矩阵*/

a[2][r]=t;

}

else

for(r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[3][r];

a[2][3]=t;

}

float t11=a[1][1],t21=a[2][1],t31=a[3][1];

for(r=1;r<5;r++)

{

a[1][r]/=t11;

a[2][r]-=(t21*a[1][r]);

a[3][r]-=(t31*a[1][r]);

}

if(a[3][3]==0)

for(r=0;r<5;r++)

{

t=a[2][r];

a[2][r]=a[3][r];

a[3][r]=t;

}

float t22=a[2][2],t32=a[3][2];

for(r=2;r<5;r++)

{

a[2][r]/=t22;

a[3][r]-=a[2][r]*t32;

}

float t33=a[3][3],t23=a[2][3],t13=a[1][3],t03=a[0][3];

for(r=1;r<5;r++)

{

a[3][r]/=t33;

a[2][r]-=(a[3][r]*t23);

a[1][r]-=(a[3][r]*t13);

a[0][r]-=(a[3][r]*t03);

}

float t12=a[1][2],t02=a[0][2];

for(r=1;r<5;r++)

{

a[1][r]-=(a[2][r]*t12);

a[0][r]-=(a[2][r]*t02);

}

float t01=a[0][1];

for(r=1;r<5;r++)

{

a[0][r]-=(a[1][r]*t01);

}

printf("铅精矿理论产率为:%8.4f%c \n",a[0][4],37);

printf("锌精矿理论产率为:%8.4f%c \n",a[1][4],37); /*输出运算结果*/ printf("硫精矿理论产率为:%8.4f%c \n",a[2][4],37);

printf("尾矿理论产率为:%8.4f%c \n",a[3][4],37);

return(0);

}

5.对6个红薯品种的研究测定了比叶重、气孔密度、叶绿素含量和光合速率如表4,假定光合速率对比叶重、气孔密度、叶绿素含量有线性相关关系,即回归模型可以表示为

y=b0+b1*x1+b2*x2+b3*x3

求回归模型参数,并计算出模型值和相对误差填入表4中。

表4比叶重、气孔密度、叶绿素含量与光合速率实测数据

-------------------------------------------------------------------

品种比叶重气孔密度叶绿素含量光合速率模型值相对误差

编号 x1 x2 x3 y ym r%

-------------------------------------------------------------------

1 2.0

2 12.5 3.4

3 11.22

2 1.94 10.1 3.85 8.84

3 1.99 10.8 4.99 11.08

4 1.78 10.7 3.01 6.37

5 1.97 8.8 4.31 9.40

6 1.94 10.2 4.40 9.84

------------------------------------------------------------------

- 解:#include

#include

using namespace std;

int main()

{

int i,j,r;

float a[4][5],b[4][6],

d[6][5]={{1,2.02,12.5,3.43,11.22},{1.94,10.1,3.85,8.84},

{1,1.99,10.8,4.99,11.08},{1,1.78,10.7,3.01,6.37},{1,1.97,8.8,4.31,9.4} ,

{1,1.94,10.2,4.4,9.84},{}},c[6][2]; /*输入系数矩阵*/

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

{

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

b[i][j]=d[j][i];

}

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

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

{

a[i][j]=0;

for(r=0;r<6;r++)

a[i][j]+=b[i][r]*d[r][j]; /*利用最小二乘法求出相关矩阵*/ }

float t00=a[0][0],t10=a[1][0],t20=a[2][0],t30=a[3][0],t;

for(r=0;r<5;r++)

{

a[0][r]/=t00;

a[1][r]-=(t10*a[0][r]);

a[2][r]-=(t20*a[0][r]);

a[3][r]-=(t30*a[0][r]);

}

if(a[1][1]==0)

if(a[2][1]!=0)

for(r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[2][r]; /*进行行变换求出逆矩阵*/

a[2][r]=t;

}

else

for(r=0;r<5;r++)

{

t=a[1][r];

a[1][r]=a[3][r];

a[2][3]=t;

}

float t11=a[1][1],t21=a[2][1],t31=a[3][1];

for(r=1;r<5;r++)

{

a[1][r]/=t11;

a[2][r]-=(t21*a[1][r]);

a[3][r]-=(t31*a[1][r]);

}

if(a[3][3]==0)

for(r=0;r<5;r++)

{

t=a[2][r];

a[2][r]=a[3][r];

a[3][r]=t;

}

float t22=a[2][2],t32=a[3][2];

for(r=2;r<5;r++)

{

a[2][r]/=t22;

a[3][r]-=a[2][r]*t32;

}

float t33=a[3][3],t23=a[2][3],t13=a[1][3],t03=a[0][3];

for(r=1;r<5;r++)

{

a[3][r]/=t33;

a[2][r]-=(a[3][r]*t23);

a[1][r]-=(a[3][r]*t13);

a[0][r]-=(a[3][r]*t03);

}

float t12=a[1][2],t02=a[0][2];

for(r=1;r<5;r++)

{

a[1][r]-=(a[2][r]*t12);

a[0][r]-=(a[2][r]*t02);

}

float t01=a[0][1];

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

{

a[0][r]-=(a[1][r]*t01);

}

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

{

c[i][0]=0;

for(j=0;j<4;j++) /*求出模型值与相对误差*/

{

c[i][0]+=(a[j][4]*d[i][j]);

}

c[i][1]=(100*(c[i][0]-d[i][4]))/c[i][0];

if(c[i][1]<0)

c[i][1]=0-c[i][1];

}

printf("Model Parameter is:\n");

printf("\nb1=%6.4f\n",a[0][4]);

printf("b2=%6.4f\n",a[1][4]);

printf("b3=%6.4f\n",a[2][4]); /*按照题目格式输出结果*/

printf("b4=%6.4f\n",a[3][4]);

printf("----------------------------------------------------------\n");

printf(" N X1 X2 X3 y ym r%c \n",37);

printf("----------------------------------------------------------\n");

printf(" 1 2.02 12.5 3.43 11.22 %4.2f %4.2f \n",c[0][0],c[0][1]);

printf(" 2 1.94 10.1 3.85 8.84 %4.2f %4.2f \n",c[1][0],c[1][1]);

printf(" 3 1.99 10.8 4.99 11.08 %4.2f %4.2f \n",c[2][0],c[2][1]);

printf(" 4 1.78 10.7 3.01 6.37 %4.2f %4.2f \n",c[3][0],c[3][1]);

printf(" 5 1.97 8.8 4.31 9.40 %4.2f %4.2f \n",c[4][0],c[4][1]);

printf(" 6 1.94 10.2 4.40 9.84 %4.2f %4.2f \n",c[5][0],c[5][1]);

printf("----------------------------------------------------------\n");

return(0);

}

6.

666

6.矩阵类的load()成员函数要求输入文本数据文件中的矩阵数据的行列数,而从文本数据文件无法直接判断数据文件中数据的行列数,除非先用其他方式打开来看才知道,很不方便。请修改load()成员函数,使能自动探测文本数据文件中数据的行列数,省去人工输入行列数。

设计思路:

(1)、分析题意,即使程序自动探测文本数据。

(2)、确定方法,使用load()函数。

(3)、设计程序的组成模块,由矩阵定义函数,输入函数,load函数,主函数所组成。

程序代码:

#include

#include

#include

#include

#include

#include

using namespace std;

float Bi[10];

class Matrix

{

int hang,lie;

public:

float **Array;

Matrix(int row,int col)

{

hang=row;

lie=col;

Array=new float *[row];

for(int i=0;i

Array[i]=new float[col];

}

~Matrix(){}

float stringTofloat(string str)

{

float ans = 0;

int i =0;

for ( i = 0; i < str.size(); i ++)

{

ans = ans * 10 + str[i] - '0';

if(str[i] == '.')

break;

}

i ++;

float s = 0;

float tmp = 1;

for (; i < str.size(); i ++)

{

s = s + tmp * (str[i] - '0');

tmp *=(float).1;

}

return ans + s;

}

void Input()

{

cout<<"请输入矩阵:\n";

for(int i=0;i

for(int j=0;j

cin>>Array[i][j];

}

int Gethang(){return hang;}

int Getlie(){return lie;}

void reInit(int n, int m)

{

hang = n;

lie = m;

Array=new float *[n];

for(int i=0;i

Array[i]=new float[m];

}

void load(string filename)

{

vector >vec;

vec.clear();

ifstream infile(filename.c_str());

string str;

while (getline(infile, str))

{

stringstream ss(str);

vectortmp;

string str1;

while (ss >> str1)

{

tmp.push_back(stringTofloat(str1));

}

vec.push_back(tmp);

}

int n = vec.size();

int m = vec[0].size();

if(hang < n || lie < m)

{

reInit(n, m);

}

for (int i = 0; i < n; i ++)

{

for (int j = 0; j < m; j ++)

{

Array[i][j] = vec[i][j];

}

}

}

void Matrix::GetRow(const int n)

{

cout<<"Matrix(:,"<

for(int i=0;i

cout<

cout<<'\n';

}

void Matrix::GetCol(const int n)

{

cout<<"Matrix(:,"<

for(int i=0;i

{

cout<<'\t'<

if(n==1) Bi[i]=Array[i][n-1];

}

}

void Output()

{

cout<<"Matrix=\n";

for(int i=0;i

{

for(int j=0;j

cout<

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

《面向对象程序设计》实验指导书

《面向对象程序设计》课程实验指导书

实验一 Java开发环境的安装与配置 一、实验目的: 1. 掌握JDK、Eclipse的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。 3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序 编译执行并完成调试。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 四、实验步骤: 1.从https://www.docsj.com/doc/f413625063.html,/technetwork/java/index.html上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Eclipse环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.金字塔:Pyramid.java 在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下: * *** ***** ******* 要求:金字塔高度h,可以由用户设置。 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)允许用户设置金字塔高度。 4. 编译运行程序,观察输出结果是否正确。

C语言程序设计实验指导(课后习题)参考答案

《实验指导》课后练习题参考答案实验1: 1.主函数 2-4:DDC 5.stdio.h 6-9:CCCC 实验2: 1.double 2-4:ABB 5.2 6-12:CDDDADC 13.! 14.8 15-17:ACC 18.G 19-20:CA 21.5 4 22.x=6c 23-25:DCA 26.0x 27.2.000000 28-29:AB 30.a=3 31.D 32.3.15 33.B 34.double 实验3: 1-3:CCD 4.B 5.2,0 6-8:CAC 9. (1)pass, (2)中 及格 不及格 10-12:ADD 13.2 14.B 15.10 16.6 17.x>=1 && x<=sqrt(10)

实验4: 1.B 2.1 3.A 4.3/5,5/8 5.30 实验5: 1.D 2.(1)9 (2)1 3-5:CDB 6.(1)10 (2)7 7.C 8.(1)x=16 (2)y=8 9.return 实验6: 1-5:CCADA 6.10,20 7.13 11 12 8.7 9.2 10.B 11.(1)3 (2) 1 12-13:CB 14.-31 15.221 16.main函数 17.22 18.(1)return (2)void 实验7: 1.C 2.auto 3.9 4.(1) 4 (2) 0 5.10 6.(1)5 (2) 7 (3) 8 7.C 8.110 9-12:DDBC 13.(1) 1 (2) 3

15.6 720 16.auto 17.48 18.(1)1 (2)2 19.D 20.D 21.5,25 22.6 实验8: 1-2. DD 3. 16 4. (1)0 2 3 (2)2 3 5 (3)7 11 13 5. (1)i<9 (2)j<9-i (3)a[j]=a[j+1] (4)a[j+1]=temp 实验9: 1. D 2. (1)-1 (2)2 3. (1)1 (2)a[i-1][j-1]+a[i-1][j] (3)j<=i 4. (1)1 3 4 5 6 7 (2)3 4 5 6 (3)End of main()! 实验10: 1. 0或NULL 2-5. CACA 6. (1)10 (2)15 (3)19 7. (1)ia[j] (3)”%d”,p+i (4)”%d”, *(p+i) 8. (1)2 6 (2)2 2 (3)4 6 实验11: 1. A 2. C 3. 7 4. (1)strlen(s) (2)s[i]>=’a’ && s[i]<=’z’(3)s[i]+32 (4)’\0’(5)s2[j]!=s2[n2-j-1] (6)j

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C++程序设计实践教程思考题答案

实验1 C++基础 6.编写程序,输入某大写字母的ASCII码值,输出该字母的对应小写字母。 #include using namespace std; int main() { int i; cin>>i; if(i>=65 && 1<=90 ) cout< #include using namespace std; int main()

{ float a,b,c; 潣瑵?请输入直角三角形的两条边长:; cin>>a>>b; c=sqrt(a*a+b*b); 潣瑵?直角三角形的斜边=< using namespace std; int main() { char c; 1 潣瑵?请输入一个字符:; cin>>c; if(c>='A'&& c<='Z') c+='a'-'A'; cout<

3.输入一个学生的成绩,如高于60分,则输出“pass”;否则,输出“failed”。 #include using namespace std; int main() { float grade; 潣瑵?请输入成绩:; cin>>grade; if(grade>=60) cout<

c语言程序设计实践教程答案完整版

4.2练习题 一、选择题 1.D 2.B 3.A 4.B和D 5.C 6.A 7.B 二、填空题 1.//或/* */ 2.主或main 3.函数首部和函数体4.编译和连接 5.分号 5.2练习题 一、选择题 1.A 2.D 3.B 4.B 5.C 6.C 7.D 8.A 9.B 10.B 11.D 12.B 13.A或B 14.C 15.B

17.D 18.D 19.C 20.D 21.B 22.A 23.D 24.C 25.C 26.B 27.C 28.D 29.A 30.B 二、填空题 1.102,10 2.#define 宏名字符串 3.1 4.n=1 5.-4 6.a=1,b= ,c=2 7.c=A 8.n1=%d\nn2=%d 9.a+b>c&&a+c>b&&b+c>a 10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.7 12.0 13.8,4 6.2练习题 一、选择题 1.A 2.C 3.D 4.C 5.A 6.B

8.D 9.B 10.C 11.A 12.A 13.C 14.B 15.正确答案为: 二、填空题 1.10 2.y=1 x%i==0 3.屏幕中间输出一个由星号组成的菱形4.1 5.13 6.(cx=getchar())!=-1 front=cx; 7.m%n 8.4 9.*p px=&x py=&y 三、读程序,写结果 1.-1 2.3,1,-1, 3.a=16,y=60 4.x=12,y=4 5.59 7.2练习题 一、选择题 1.B 2.C 3.C 4.A 5.D 6.C 7.D

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

vb程序设计实验教程习题答案

实验教材实验一 1:单项选择题: A A C C C D C B B C 2:填空题: (1).bas (2).vbp,.frm (3)视图工具箱 (4)对象 (5)属性对象事件方法 (6)Windows (7)事件行为 (8)窗体模块 实验二 1:单项选择题: A D C C A B A B D C B B C B C B A B D C 2:基本运算题: (1)27 (2)3.33333333333333 (3)3 (4)0 (5)-3 (6)2 (7)ab33 (8)类型不匹配 (9)3 (10)AB3 实验三 1:单项选择题: B C B D C 2:填空题: (1)300 (2)321456 (3)Shanghai (4)6 7 6 (5)True (6)2+3=5 (7)”area=” 12.56 (8)VISUAL 实验四 1:单项选择题: C A A C A 2:填空题: (1)7 (2)3 5

(3)输入的数小于0 (4)3 (5)False (6)2010 is not leap year. 试验五 1:单项选择题: A C C A B A C C C B 2:填空题: (1)9 (2)①n ②1 (3)①Len(a) ②n\2 ③Mid(a,(n-i+1),1) ④Mid(a,(n-i+1),1) (4)①n Mod 3=1 And n Mod 5=1 And n Mod 7=1 ②While CountN<5 (5)Mid(c1,1,i) 实验六 1:单项选择题: D B D C D A C A D D 2:填空题: (1)30 (2)3 (3)①a(2) ②a(3) ③a(1) (4)①1 ②2 ③a(i)=a(6-i) (5)①i+j ②0 ③a(i,j) (6)①Print ②k ③a(k,j)=a(j,k) ④a(k,j); 实验七 1:单项选择题: A B B A C B 2:填空题: (1)15 (2)①Preserve a(n+1) ②a(i+1)=a(i) ③Exit For ④a(i+1)=m⑤0 to n+1 (或LBound(a) to UBound(a)) (3)d,c,b,a 实验八 1:单项选择题: C A D B D C A C B 2:填空题: (1)a=9 b=4 (2) 36 25 16 9 4 1 (3)①a ②UBound(b) ③

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

VB程序设计教程(第3版)课后实验答案最新版2

1、完成实验A(P.259)中的第1、 2、 3、5题。 2、参照第2章例2.6,建立一个类似记事本的应用程序,提供:(1) 剪切、复制和粘贴的编辑操作;(2) 字体大小的格式设置;此外,再对记事本的应用程序的功能进行一点扩允。 1.完成在实验B 顺序结构程序。(P.262)中的第1、2 、4 、5.、6题 2.完成实验C 选择结构(P.266)中的第1、2、4、5题 3.用上面实验B的第二题和实验C的第二题完成下面的实验报告。 1、完成实验D循环结构(P.268)中的第1、3、4、6题,其中第1题利用单循环结构显示如图D.1(P.268)所示的界面,而后将图形改为倒三角形。 2、选做实验E数组(P.271)中的第1、2、3题中的任意二题 3、以实验D中的第4题和实验E中的做完的某一题完成下面的实验报告。 A.1 Private Sub Command1_Click() Label3 = Text1 End Sub A.2 Private Sub Form_Load() Timer1.Interval = 0 End Sub Private Sub Command1_Click() '自动 Timer1.Interval = 200 End Sub Private Sub Command2_Click() '手动 Timer1.Interval = 0 Call MyMove End Sub Private Sub Timer1_Timer() Call MyMove End Sub Sub MyMove() Label1.Move Label1.Left - 50 If Label1.Left < 0 Then Label1.Left = Form1.Width End Sub A.3 Private Sub Form_Click() Text1 = Val(Text1) + 1 End Sub Private Sub Form_Load() Text1 = 0 End Sub A.5

【程序设计实践实验指导书】实验2:指针进阶

河南工业大学实验报告 课程名称:程序设计实践开课实验室: 一、实验目的: 1. 理解指针数组的概念,掌握指针数组的基本应用和编程方法。 2. 掌握单向链表的概念和建立方法。 3. 掌握单向链表的基本操作。 二、实验环境: 1. 运行Window XP/Windows 7/Windows 8等的操作系统的PC机; 2. VC++6.0,CodeBlocks,或Dev C++等编译环境。 三、实验内容: 1.编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。 输入输出示例: 5 May 【源程序】 #include #include int main() { int num; scanf("%d",&num); getchar(); char *month[12]={"January","February","March","April","May","June","July","August","September","

October","Novermber","December"}; printf("%s\n",month[num-1]); return 0; } 【运行结果】 8 August Process returned 0 (0x0) execution time : 2.466 s Press any key to continue. 2. 定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若 输入输出示例: Tuesday 3 【源程序】 #include #include #include int main() { char *month[12]={"January","February","March","April","May","June","July","August","September"," October","Novermber","December"}; char mnum[10]; scanf("%s",&mnum); getchar();

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include <> 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; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

MATLAB程序设计教程课后答案

实验指导 1、 n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2(1) n=input('请输入成绩'); switch n case num2cell(90:100) p='A'; case num2cell(80:89) p='B'; case num2cell(70:79) p='C'; case num2cell(60:69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); if n>=90&n<=100 p='A'; elseif n>=80&n<=89 p='B'; elseif n>=70&n<=79 p='C'; elseif n>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6]; a=n(1);

for m=2:20 if n(m)>a a=n(m); elseif n(m)=0 disp(A([n],:)); elseif n<0 disp(lasterr); else disp(A([6],:)); disp(lasterr); end 7(1) f=[]; for n=1:40

C语言程序设计实验指导书

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

VB程序设计学习与实验指导答案

Visual Basic 程序设计学习与实验指导答案 上篇学习指导 第1章Visual Basic 概述 1.事件 2.查看对象 3.工程 4.视图属性窗口 5.窗体编辑器 第2章面向对象程序设计初步 1.控件 2.事件 3.类属性 4.属性 5.略 https://www.docsj.com/doc/f413625063.html, 第3章Visual Basic 语言基础 1.(a*sin(30/180*3.14)+c*(log(b)/log(10)))/((Abs(d)+1)*(e+f))+1

2.mod 3.X=Int(X) And Y=Int(Y) And X*Y>0 4. 4.Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400=0 5.x=Int((99-10+1)*Rnd+10) 6.0 “” 7.空格 8.6,845.30 9. (1)8 (2)1 (3)abcd (4)出错,类型不匹配 (5)False (6)2008-6-29 (7)I likeVB (8)4 (9)4 4 (10)3 4 (11)10 -10 (12)-1 (13)aa (14)3 (15)0 (16)1 (17)C (18)5 (19)8 (20)34.54 (21)中国 (22)上海 (23)VISUAL BASIC (24)visual basic 10. (1)x<-100 or x>100 (2)a=Int(a) And b =Int(b) Or a<0 And b<0 (3)x<=y or x>=z (4)a>0 And a<>Int(a) (5)a=0 xor b=0 (6)Len(S)<10 (7)UCase(S)=S (8)Left(S,1)=”a” And Right(S,1)=”a” (9)Instr(S,”@”)<>0 (10)Trim(S)=S (11)Date=#8/8/2008#

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { "Hello Java!"); } } ②Java applet程序代码如下: import .*; public class Hello extends { public void paint(Graphics g) { ("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ p ublic static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } " "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ p ublic static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){

C语言程序设计实验与习题指导课后程序设计答案,DOC

P18 (1) #include intmain(void) celsius=26; fahr=9*celsius/5+32; printf("celsius=%d,fahr=%d\n",celsius,fahr); return0; }

(3) #include intmain(void) { intaverage,math,eng,comp; intn,a,b,c; n=152; c=n%10; b=(n/10)%10; a=n/100;

printf("整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n",n,c,b,a); return0; } P27 (2) #include #include intmain(void) {

intmoney,year; doublerate,interest; printf("Entermoney,year,rate:"); scanf("%d%d%lf",&money,&year,&rate); interest=money*pow(1+rate,year)-money; y=pow(x+1,2)+2*x+1/x; } else{ y=sqrt(x); }

printf("y=f(%f)=%.2f\n",x,y); return0; } (4) #include return0; } 10的阶乘 #include intmain(void)

{ inti,n,product; printf("Entern:"); scanf("%d",&n); product=1;

相关文档
相关文档 最新文档