实验6数组参考答案

实验6数组参考答案
实验6数组参考答案

实验6数组

一、一维数组实验

2. 编程:输入长度为10的整型数组并输出;然后将其逆序存放后再输出。例如:

Input 10 number: 0 1 2 3 4 5 6 7 8 9

After reversed: 98765 4 3 2 1 0

#include

void main()

{

int i, j, a[10], t;

printf("Input 10 number: ");

for(i=0; i<10; i++) /*读入数据*/

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

printf("origin data: ");

for(i=0; i<10; i++) /*输出原始数据*/

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

printf("\n");

for(i=0,j=9; i

{

t=a[i];

a[i]=a[j];

a[j]= t;

}

printf("After reversed: "); /*输出逆序存放后的数据*/

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

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

printf("\n");

}

3.编程:输入n个(1

Input n: 5

Input 5 integer:8 2 5 1 4

max=8 index=0

min=1 index=3

average=4

#include

void main()

{

int i, n , max, min, a[10], sum;

float average;

printf("Input n (1

scanf("%d", &n);

if(1

{

p rintf("Input %d integer:", n); /*输入数据并求累加和*/

f or(i=0, sum=0; i

{

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

sum+=a[i];

}

average=(float)sum/n; /*求出平均值*/

for(i=0, max=0, min=0; i

{

if(a[i] > a[max])

m ax= i;

i f(a[i] < a[min])

min= i;

}

printf("max=%-5d index=%d\n", a[max], max);

printf("min=%-5d index=%d\n", a[min], min);

printf("average=%.2f\n", average);

}

else

p rintf("数据超出范围");

}

4. 编程:青年歌手参加歌曲大奖赛,有10个评委对她(他)进行打分,试编程求这位选手的平均得分并输出(去掉一个最高分和一个最低分)。

#include

void main()

{

int i, max, min;

float a[10], ave;

printf("请输入10个评委的打分:");

for(i=0, ave=0; i<10; i++) /*输入分数并求累加和*/

s canf("%f", &a[i]);

a ve+=a[i];

}

for(i=0, max=0 , min=0; i<10; i++) /*求最大、最小值的下标*/

{

i f(a[i]>a[max])

max=i;

i f(a[i]

min=i;

}

ave=ave-a[max]-a[min];

ave=ave/8;

printf("该选手的评委打分是:");

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

p rintf("%.2f ", a[i]);

printf("\n");

printf("去掉最高分%.2f,去掉最低分%.2f,该选手的平均得分是%.2f\n", a[max], a[min], ave);

}

5. 编程:用两种方法输出斐波那切数列的前40项(参考例6-4)。

要求:(1)方法1:不使用数组;

#include

void main()

{

int f1=1, f2=1, f3, i;

printf("%12d%12d", f1, f2);

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

{

f3=f1+f2;

printf("%12d", f3);

if(i%5==0)

printf("\n");

f1= f2;

f2= f3;

}

}

(2)方法2:使用一维数组。

#include

void main()

{

int i;

int fib[40];

fib[0]=fib[1]=1;

for(i=2; i<40; i++) /*计算其余的38个数*/

fib[i]= fib[i-1] + fib[i-2];

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

{

printf("%12d",fib[i]);

if((i+1)%5==0)

printf("\n");

}

}

6. 编程:输入n个(1

Input n: 5

Input 5 number: 8.5 2.3 5.1 1.4 4.9

After sorted: 8.50 5.10 4.90 2.30 1.40

#include

void main()

{

int i, j, n;

float a[10], t;

printf("Input n: ");

scanf("%d",&n);

if(n>1 && n<=10)

{

printf("Input %d number:", n);

for(i=0;i

s canf("%f",&a[i]);

printf("Before sorted:"); /*输出排序前的数据*/

for(i=0; i

printf("%.2f ", a[i]);

printf("\n");

for(i=0; i

for(j=0; j

if( a[j] < a[j+1] )

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

printf("After sorted:"); /*输出排序结果*/

for(i=0; i

printf("%.2f ", a[i]);

printf("\n");

}

else

printf("数据超出范围");

}

7. 在上题基础上(输入n个float型的数据并保存到数组中,用冒泡法或选择法将它们从大到小排序后输出)完成:在已经排好序的数组(长度不足10)中插入一个数m(键盘输入)后输出,保持数组的降序排列。

程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

#include

void main()

{

int i, j, n, p;

float a[10], t, m;

printf("Input n: ");

scanf("%d", &n);

if(n>1 && n<=10)

{

p rintf("Input %d number:", n);

f or(i=0; i

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

printf("Before sorted: "); /*输出排序前的数据*/

for(i=0; i

printf("%.2f ", a[i]);

printf("\n");

for(i=0; i

for(j=0; j

if( a[j] < a[j+1] )

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

printf("After sorted:"); /*输出排序结果*/

for(i=0; i

printf("%.2f ", a[i]);

printf("\n");

printf("请输入要插入的数据m: ");

scanf("%f", &m);

/*找到插入位置*/

if(m < a[n-1]) /*如果m比最后一个元素小,则直接插入到最后的位置*/ p = n;

else

{

for(i=0; i

if( m > a[i])

{

p=i;

b reak;

}

for(i=n; i>=p+1; i--) /*将插入位置之后的元素后移*/

a[i]=a[i-1];

}

/*插入*/

a[p]=m;

printf("插入%.2f 后:", m); /*输出插入后结果*/

for(i=0; i

printf("%.2f ", a[i]);

printf("\n");

}

else

printf("数据超出范围");

}

二、二维数组实验

1. 以下程序功能为:将下列矩阵中的元素向右移动一列,最后一列移至第一列。找出并改正以下源程序中错误,通过调试得出正确的运行结果。

1 4 6

8 10 12

源程序(有错误的程序)

#include

#define ROW 2

#define COL 3

int main()

{

int a[ROW][COL]={1,4,6,8,10,12};

int i,j,temp;

for(i=0;i

{

temp=a[i][COL-1];

for(j=COL-2;j>=0;j--)

{

a[i][j]=a[i][j+1]; /*调试时设置断点*/ //改为a[i][j+1]=a[i][j];

}

a[i][0]=temp; /*调试时设置断点*/

}

for(int i=0;i

{

for(j=0;j

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

printf("\n");

}

return 0;

}

运行结果(改正后程序的运行结果)

6 1 4

12 8 10

2.编程:利用二维数组计算并打印一个n 行的杨辉三角。例如:

Input n: 6

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 4 10 10 5 1

提示:第一列及对角线上的元素都是1,其他元素通过计算得出:

如果用i 表示行,j 表示列,则第i 行j 列的元素j i j i j i p p p ,11,1,---+=

#include

void main()

{

int a[10][10]={0}; //设最多10层

int i, j, n;

printf("请输入杨辉三角形的层数:");

scanf("%d", &n);

if(n>10)

{

p rintf("层数超出范围");

return;

}

for(i=0;i

a[i][0]=1;

a[i][i]=1;

}

for(i=2;i

for(j=1;j

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

for(i=0;i

{

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

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

printf("\n");

}

}

3.编程:通过键盘输入3行4列的二维数组,分别按行和按列输出数组。例如:

Input numner:

1 2 3 4

5 6 7 8

9 10 11 0

output by row: 1 2 3 4 5 6 7 8 9 10 11 0

output by col: 1 5 9 2 6 10 3 7 11 4 8 0

#include

void main()

{

int a[3][4],i,j;

printf("请输入 3 X 4 整数矩阵:\n");

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

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

s canf("%d", &a[i][j]);

printf("按行输出:");

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

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

p rintf("%d ",a[i][j]);

printf("\n");

printf("按列输出:");

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

f or(j=0; j<3; j++)

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

printf("\n");

}

4.编程:输入一个m*n矩阵,求他们的各行元素之和。例如:

Input m , n: 2 2

Input 2*2 matrix:

4 5

5 6

sum[0]=9

sum[1]=11

提示:设计一个一维数组int s[10],分别保存各行元素之和。

#include

void main()

{

int a[10][10], s[10]={0}; //设定矩阵最大为10 x 10 int m, n, i, j;

printf("请输入矩阵的行数和列数:");

scanf("%d%d", &m, &n);

if(m<0 || m>10 || n<0 || n>10)

{

p rintf("行或列(1~10)值超出范围");

r eturn;

}

printf("请输入 %d*%d 矩阵:\n",m,n);

for(i=0; i

f or(j=0; j

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

//求各行之和并输出

for(i=0; i

{

f or(j=0; j

s[i]+=a[i][j];

printf("sun[%d]= %d \n", i, s[i]);

}

}

5.编程:判断一个二维数组是否存在鞍点,若存在,则输出鞍点及其行号和列号;否则输出没有鞍点信息。“鞍点”是指这样的元素:它在本行是最大元素,而在本列是最小的元素。

Input m , n: 2 2

Input 2*2 matrix:

4 5

5 6

i=0, j=1, saddle point: 5

提示:找鞍点需要处理三件事情:(1)找每行中最大值所在的列下标;(2)判断该元素在本列上是否为最小;(3)判断是否找到了鞍点,若找到,输出。

#include

void main()

{

int a[10][10]; //设定矩阵最大为10 x 10

int m, n, i, j, col, flag=0;

printf("请输入矩阵的行数和列数:");

scanf("%d%d", &m, &n);

if(m<0 || m>10 || n<0 || n>10)

{

printf("行或列(1~10)值超出范围");

return; //退出程序

}

printf("请输入 %d*%d 矩阵:\n",m,n);

for(i=0; i

for(j=0; j

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

for(i=0; i

{

col=0; //找出第i行中的最大值所在列下标col

for(j=1; j

if(a[i][col]

col=j;

for(j=0; j

if(a[i][col]>a[j][col])

break;

if(j==m)

{

flag=1; //有鞍点

printf("i=%d, j=%d, saddle point:%d\n",i,col,a[i][col]);

}

}

if(flag==0)

printf("No saddle point!\n");

}

三、字符串实验

1. 以下程序功能为:输入一个字符串,将其逆序输出。找出并改正以下源程序中错误,通过调试得出正确的运行结果。

源代码(有错误的程序)

#include

#include

void main()

{

int i,j;

char s[80],result[80];

printf("Enter a string:\n");

gets(s);

for(i=strlen(s)-1,j=0;i>=0;i--,j++)

{

result[j]=s[i];

}

result[j]='\0'; //必须给字符串加上串结束标志

printf("This is reverse string:\n");

puts(result);

}

运行结果(改正后的程序)

Enter a string :

asdfg

This is the reverse string:

gfdsa

2.编程:任意输一个字符串保存在一维字符数组中,求其长度(不用strlen函数)。例如:

Input a string: aadfdg

length=6

提示:字符串的有效长度就是有效字符的个数,即数组中第一个‘\0’前面的字符个数。

#include

void main()

{

int i, len=0;

char s[80];

printf("请输入字符串,以回车键结束:");

gets(s);

for(i=0; s[i]!='\0'; i++)

len++;

printf("字符串%s的长度为:%d\n",s, len);

}

3.编程:任意输入两个字符串分别保存在一维字符数组中,把第二个字符串连接到第一个字符串末尾(不用strcat函数)。例如:

Input two string:

asdfg

erty

after strcat:asdfgerty

#include

void main()

{

int i,j;

char s1[80], s2[80];

printf("请输入字符串1以回车键结束:\n");

gets(s1);

printf("请输入字符串2以回车键结束:\n");

gets(s2);

for(i=0; s1[i]!='\0'; i++) ; /* 定位第一个字符串的结束标志*/

for(j=0; s2[j] && i<80; i++, j++ ) /*将s2接到s1后*/

s1[i]=s2[j];

s1[i]='\0';

printf("两个串连接后:%s\n",s1);

}

4.编程:从键盘读入两个字符串分别保存在一维字符数中,比较两个字符串大小(不用strcmp函数),输出较大的字符串。

#include

void main()

{

int i;

char a[80], b[80];

printf("请输入字符串1以回车键结束:\n");

gets(a);

printf("请输入字符串2以回车键结束:\n");

gets(b);

//逐个比较直到两个字符不同或其中一个字符串结束

for(i=0; a[i] && b[i] ; i++)

{

if(a[i]!=b[i])

break;

}

if (a[i]>b[i])

printf("第一个字符串%s大!\n", a);

else if (a[i]==b[i])

printf("两字符串相同!\n");

else

printf("第二个字符串%s大!\n", b);

}

5.编程:任意输入一个字符串保存在一维字符数组中,判断里面数字字符的个数。例如:

Input a string:

adg4521gadg4adg

number: 5

#include

void main()

{

int i, n=0;

char s[80];

printf("请输入一个字符串以回车键结束:\n");

gets(s);

for(i=0 ; s[i]; i++)

i f(s[i]>='0' && s[i]<='9')

n++;

printf("字符串中包含的数字个数为:%d\n",n);

}

6.编程:从一个字符串中删除从某个特定字符开始的所有字符。例如原字符串为"abcdefg",特定字符为'd',删除后的字符串为"abc"。

#include

void main()

{

int i, flag=0;

char c, s[80];

printf("请输入一个字符串以回车键结束:\n");

gets(s);

printf("请输入特定字符:");

c=getchar();

for(i=0 ; s[i]; i++)

if(s[i]==c)

{

s[i]='\0';

flag=1;

break;

}

if(flag==0)

printf("输入字符中没有特定字符!\n");

else

puts(s);

}

7.编程:编写程序,从一个输入的字符串中抽取一部分(从第n个字符开始,抽取m个字符)构成一个新的字符串,并输出。要求:n和m都由用户输入。

#include

#include

void main()

{

unsigned int i, j, m, n;

char s1[80], s2[80];

printf("请输入一个字符串以回车键结束:\n");

gets(s1);

printf("请输入子串的起始位置和长度:");

scanf("%d%d", &n, &m);

if( n>0 && n<=strlen(s1) )

{

if (m>0 && n+m <= strlen(s1)+1 )

{

for(i=n-1,j=0; s1[i] && i< n+m-1 ; i++, j++)

s2[j]=s1[i];

s2[j]='\0';

puts(s2);

}

else

printf("长度超出范围!\n");

}

else

printf("起始位置超出范围!\n");

}

8.编程:利用字符串库函数puts,gets,strcat,strcmp,strcpy,strlen完成下述操作:

●读入三个字符串str1,str2,str3

●输出这三个字符串

●分别求出这三个字符串的长度;

●比较str1和str2的大小;

●将str2连接到str1之后,并输出连接后的str1;

●复制str3到str1,并输出复制操作后的str1;

#include

#include

void main()

{

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

printf("请输入字符串str1以回车键结束:\n");

gets(str1);

printf("请输入字符串str2以回车键结束:\n");

gets(str2);

printf("请输入字符串str3以回车键结束:\n");

gets(str3);

printf("三个字符串分别是:\n");

printf("str1: %s\n", str1);

printf("str2: %s\n", str2);

printf("str3: %s\n", str3);

printf("三个字符串的长度分别是:\n");

printf("str1: %d\n", strlen(str1));

printf("str2: %d\n", strlen(str2));

printf("str3: %d\n", strlen(str3));

if(strcmp(str1, str2)>0)

printf("字符串str1大于str2\n");

else if(strcmp(str1, str2)==0)

printf("字符串str1等于str2\n");

else

printf("字符串str1小于str2\n");

strcat(str1,str2);

printf(" str2连接到str1之后: %s\n",str1);

strcpy(str1,str3);

printf("复制str3到str1: %s\n",str1);

}

选作题:

输入一个小写字母组成的英文句子,统计该句子有几个英文单词,并统计每个字母出现的次数,并将句子中每个单词的首字母大写后输出。

如:输入:this is a cat!

输出:4个单词;

每个字母出现次数t:2 h:1 i:2 s:2 a:2 c:1

This Is A Cat!

#include

void main()

{

char s[80];

int count[26]={0}; //与26个字母对应,统计各个字母出现的次数

int i, j, wordnum=0, flag=0;

printf("请输入一个英文句子(小写字母)以回车键结束:");

gets(s);

for(i=0; s[i]; i++)

{

if(s[i]>='a' && s[i]<='z') //逐个字母判断,使其对应的出现次数增加1

{

j=s[i]-'a'; // 计算该字母在26个字母中的序号

count[j]++;

}

if(i==0 && s[i]!=' ' || flag==1) //句首单词及每个单词第一个字母的处理

{

wordnum++; //单词个数增加1

s[i]=s[i]-32; //小写换大写

flag=0;

}

else if(s[i]==' ' && s[i+1]>='a' && s[i+1]<='z')

flag=1;

//当前是空格,但下一个字符是字母,则该字母一定是单词的起始字母flag=1。

//即判断一个单词的起始字符,单词间用空格区分,这里考虑了单词间多个空格的情况}

printf("句子中有%d个单词;\n", wordnum);

printf("每个字母出现的次数:");

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

{

if(count[i]!=0)

printf("%c: %d ", i+'a', count[i]);

}

printf("\n");

printf("每个单词首字母大写后:");

puts(s);

}

实验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

实验六 一维数组程序设计

实验六一维数组程序设计 一、实验学时 2学时 二、实验目的 (一)掌握一维数组的定义、初始化方法; (二)掌握一维数组中数据的输入和输出方法; (三)掌握与一维数组有关的程序和算法; (四)了解用数组处理大量数据时的优越性。 三、预习要求 (一)理解数组的概念、利用数组存放数据有何特点; (二)一维数组的定义、初始化方法; (三)一维数组中数据的输入和输出方法。 四、实验内容 (一)下面的几个程序都能为数组元素赋值,请输入程序并运行。比较一下这些赋值方法的异同。 1.在定义数组的同时对数组初始化。 /* c6-1.c */ /*在定义数组的同时对数组初始化*/ #include "stdio.h" void main( ) { int a[4]={0,1,2,3}; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 2.不使用循环对单个数组元素赋值。 /* c6-2.c */ /*不使用循环对单个数组元素赋值*/ #include "stdio.h" void main( ) { int a[4]; a[0]=2;a[1]=4;a[2]=6;a[3]=8; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 3.用循环结构,从键盘输入为每个数组元素赋值,输出各数组元素。 /* c6-3.c */ /*利用循环通过键盘对数组元素赋值*/ #include "stdio.h" void main( ) { int i,a[4]; for(i=0; i<4; i++) scanf("%d",&a[i]); printf("\n"); for(i=0; i<4; i++) printf("%d ",a[i]);

C语言实验报告参考答案(原)

C语言实验报告参考答案 实验一熟悉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.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #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); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18; d=170; x=(a+b)/(b-c)*(c-d);

printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给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 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3

VB课后实验6答案

实验6 数组 6-1 Private Sub Command1_Click() Dim i As Integer, j As Integer Dim a(10) As Integer, t As Integer Print "交换前数据:" For i = 1 To 10 a(i) = ……‘生成20-80之间的随机数 Print ……;‘注意这里用分号,表示在一行上紧密输出各数组元素的值, ‘如不用分号和逗号,则分行输出各数组元素的值。 Next i Print ‘输出空行,表示后面的输出换到新的一行。 For i = 1 To 10 \ 2 ‘这里必须是10\2,表示交换5次,即可实现两两数据交换(第一' 个和最后一个的交换,第二个和第九个的交换,以此类推) ‘以下实现数据交换,必须通过第三个变量实现两两数据交换 t = a(i) a(i) = a(10 - i + 1) a(10 - i + 1) = t Next i Print "交换后数据:" ‘必须单独做循环输出数据,不能放在上面的循环里输出,因为上 面循环只有5次,只能输出5个元素。 For i = 1 To 10 Print ……; Next i End Sub 6-2 Private Sub Command1_Click() Dim a(10) As Integer, i As Integer, aver As Integer Dim max As Integer, imax As Integer Dim min As Integer, imin As Integer, sum As Integer Print "输入评委的评分" ‘①输入数组元素 For i = 1 To 10 a(i) =…… if a(i)<5 or a(i)>10 then ‘出错信息 ‘i控制变量作何处理? endif

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

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

实验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

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

实验 6-3 数组

实验6-3 数组(三) 1 【实验目的】 (1)掌握字符数组的定义、赋值和输入输出的方法 (2)掌握字符数组和字符串函数的使用 (3)掌握数组的基本操作和排序算法 【实验要求】 (1)熟悉掌握字符数组的定义、赋值和输入输出方法 (2)掌握字符数组和字符串函数的使用 (3)掌握数组的增加元素和删除元素的操作 (4)掌握数组的排序算法(比较、选择和冒泡三种算法,要求至少会一种) 【实验环境】 (1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0 【实验内容】 1、Palindromes_easy version https://www.360docs.net/doc/e116320597.html,/acmhome/problemdetail.do?&method=showdetail&id=1384 描述 “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

输入 输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串,每个字符串的长度不超过30。 输出:如果一个字符串是回文串,则输出"yes",否则输出"no". 样例输入: 4 level abcde noon haha 样例输出: yes no yes no 2、分割整数https://www.360docs.net/doc/e116320597.html,/acmhome/problemdetail.do?&method=showdetail&id=1173 描述:从键盘输入一个长正整数(不超过10位),从高位开始逐位分割并输出。 输入:正整数n,不含前导零。 输出:分割的整数序列,各整数之间用空格格开。注意,最后一个数字后面没有空格! 样例输入:654321 样例输出:6 5 4 3 2 1

C语言程序设计实验答案数组、指针与字符串

实验06 数组、指针与字符串(4学时) (第6章数组、指针与字符串) 一、实验目的 二、实验任务 6_1(习题6-25)编写并测试3×3矩阵转置函数,使用数组保存3×3矩阵。 6_2(习题6-26)使用动态内存分配生成动态数组来重新完成上题(n阶方阵),使用指针实现函数的功能。 6_3 编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 6_4 使用string类声明字符串对象,重新实现上一小题。 6_5(习题6-27)声明一个Employee类。 其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性,实现并测试这个类。 6_6(习题6-27)声明包含5个元素的对象数组,每个元素都是Employee 类型的对象。 6_7 修改实验4中的people(人员)类。 具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”声明为一个“日期”类内嵌子对象。 用成员函数实现对人员信息的录入和显示。 要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。 在测试程序中声明people类的对象数组,录入数据并显示。

三、实验步骤 1.(编程,习题6-25)编写矩阵转置函数,输入参数为3×3整型数组。 使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入输出。程序名:lab6_1.cpp。 参考运行结果: ★程序及运行结果: //lab6_1.cpp #include using namespace std; void move(int matrix[][3]){ int temp; for(int i=0;i<3;i++) for(int j=0;j>mat[i][j]; } cout<<"\n输入的3×3矩阵为:"<

实验六答案

实验六答案 1、创建一个表示雇员信息的employee类,其中包含数据成员name、empNo和salary,分 别表示雇员的姓名、编号和月薪。再从employee类派生出3个类worker、technician 和salesman,分别代表普通工人、科研人员、销售人员。三个类中分别包含数据成员productNum、workHours和monthlysales,分别代表工人每月生产产品的数量、科研人员每月工作的时数和销售人员每月的销售额。要求在employee类中声明虚成员函数pay,并在各个派生类中覆盖pay函数,用来计算雇员的月薪,并假定: 普通工人的月薪=每月生产的产品数×每件产品的赢利×20% 科研人员的月薪=每月的工作时数×每小时工作的酬金 销售人员的月薪=月销售额×销售额提成。 创建一个通用函数CalculateSalary,用来计算并返回各种不同类型雇员的月薪。函数CalculateSalary的原型如下: float CalculateSalary(employee *emptr) ; 在main函数中分别声明worker类、technician类和salesman类的对象代表各种类型的雇员,并调用函数CalculateSalary计算他们的月薪。 解:程序代码如下: #include using namespace std; class employee { protected: char name[20]; int empNo; float salary; public: employee(char *cp="",int no=1001); employee(employee&); void setname(char *cp); void setempNo(int no); void setsalary(float sa); char*getname(); int getempNo(); float getsalary(); virtual float pay(){ return 0;} }; employee::employee(char *cp,int no) { int i=0; while(*cp) { name[i]=*cp; i++; cp++;

实验六 一维数组实验报告

*** 软件类实验报告 课程名称:C语言程序设计学号: 姓名: 班级: 指导教师: 开课学期: 学院: ***教务处

⑷一维数组排序。 四、实验过程及内容:(运行结果请抓图到对应题目的下方) 1. 先分析以下程序,写出运行结果,再上机检验。 2.程序填空题。下面程序的功能是9个评委给某个参赛选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分。填空完成程序。

实验结果: 3. 程序填空题。有数列1,1,2,4,7,13,24…,该数列的规律是从第4项起,每项是它的前三项之和。下列程序的功能是将该数列的前30项存放在一维数组中,输出时每行输出5个数。填空完成程序。 实验结果: 4. 程序改错题。下面程序的功能是将数组中的数按从大到小排序后输出。改正程序中的错误。 实验结果: 5. 程序改错题。某公司从用公用电话传递数据,数据是四位的整数,在传递过程中需要加密,加密规则为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。改正程序中的错误。

实验结果: 6. 小楚参加了一个研究生考试培训班,共30次课,由于路途较远,每次都是打车去上课,来回的车费分别存储在数组a和b中,其中-1表示未去上课。 编程计算小楚参加培训班共打车花费多少钱?(要求保留1位小数,用循环实现) 输出结果的形式为: s=1234.5 a数组和b数组定义如下: double a[30]={31.0,32.0,30.3,32.8,30.5,30.6,31.0,32.8,-1,31.8,31.9,31.5,32.3,32.3,31.8,32.5 ,31.5,30.3,30.4,32.5,30.2,30.2,30.7,32.1,32.1,31.4,31.9,31.9,-1,30.5}; double b[30]={30.2,30.2,30.3,31.6,32.7,31.5,30.4,32.4,-1,31.0,31.8,32.1,31.6,31.4,32.4,32.1 , 32.5,32.3,32.5,31.4,31.2,30.3,32.3,30.7,31.3,30.2,31.1,30.5,-1,31.9}; 五、实验小结

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

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

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

实验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 应交税费——应交增值税(销项税额)

实验六答案

实验六函数与编译预处理答案 一、断点的设置和取消、单步执行跟踪进入函数和跳出函数方法 练习 2、调试练习: 要求:模仿示例调试以下程序,直到输出正确结果,源程序名为error6_2.c 程序功能:利用函数调用求“1!+2!+3!+4!+...+10!”的值(参见实验教材72页程序填空题第(1)小题) 源程序(有错误的程序——不是语法错误,而是算法错误或逻辑错误): 改正错误后的源程序: void main() { long s=0,i; long mm(int k); for(i=1;i<=10;i++) s=s+mm(i); printf("1!+2!+3!+...+10!=%ld\n",s); } long mm(int k) { long t=1, j; for(j=1;j<=k;j++) t=t*j; return (t); } 3、综合调试、改错练习: 以下程序有多处错误,请综合运用前面所学过的所有知识和VC++的调试手段,改正程序的各种错误,使其运行出正确的结果。程序的功能是:利用函数调用求任意两个整数的和。 改正错误后的源程序:

main() { int sum(int a,int b); int x,y; scanf("%d,%d",&x,&y); printf("x=%d,y=%d\n",x,y); printf("%d+%d=%d\n",x,y,sum(x,y)); } int sum(int a,int b) { return (a+b); } 二、编程练习 利用VC++编写程序,并调试、运行,直到输出正确结果。编程练习1: 注意: 这里提供了以填空的形式出现源程序参考清单,目的是给同学们一个思路。最好不要将此源程序清单复制到VC++中,否则会出现多处语法错误。同学们可以据此思路来填写有关语句,从而完成程序。在调试程序时,一定要运用前面学过的方法。 下面函数是实现求[1,3000]能被17或23整除的整数的个数。请将程序补充完整,并调试运行,直到输出正确结果。(源文件名为blank6_1.c) 完成填空后的源程序: #include int f(int m, int n) { int i, count=0; for(i=m; i<=n; i++) if(i%17==0||i%23==0) count++; return count; } main() {int m,n; scanf("%d%d",&m,&n); printf("count=%d\n", f(m,n)); }

数据库实验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 客户端连接上。 可以通过服务管理器来进行启动。

实验六+数组程序设计

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用字符数组处理字符串的方法 2、了解二维数组 【实验性质】验证性 【实验要求】 1、认真阅读本次实验的目的,了解本次实验要求掌握的内容 2、在程序改错题旁,将程序中存在的错误修改过来 3、将编程题的代码在预习报告中写出来 4、在实验时,将实验要求的基本题(程序改错和编程题)根据预习报告中编写的代码, 在VC环境中编写出来 5、在VC中将编写的程序编译、调试,能正确运行结果 6、将正确程序文件(以自己姓名拼音_题号命名,如:zhangsan_1_2)上传至网络硬 盘,上传密码:物理1班为:wuliyiban ;物理二班为:wulierban 。 7、争取完成选作题 【实验内容】 1、程序改错 1) 下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的 个数。源代码如下,程序中存在错误,请将其改正写在旁边。 #include "stdio.h" main(){ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++){/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++){/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个",count); } 2、编程题

1) 从键盘输入一个字符串,将其中的大写字母变小写字母,小写字母变大写字母,并输出 。 【要求】 (1)用字符数组表示存储字符串(字符串最大为100)。 (2)使用scanf 函数逐个输入字符保存在字符数组中 (3)使用printf 函数逐个输出字符数组中的字符 2) 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 【要求】 (1)数组长度定义为10 (2)输出数组时每个元素占8个宽度,每行5个 3) 编程序按下列公式计算s 的值(其中x 1、x 2、…、x n 由键盘输入): 201)(x x s n i i -=∑= (其中x 0是x 1、x 2、…、x n 的平均值) 【要求】 (1)用数组保存x 1、x 2、…、x n 的值。 (2)n 的值从键盘输入 3 选作题 1)求从一个字符串中删除所有指定字符的其余字符串。如字符串为“abcaca ”,删除字符“a ”后,为“bcc ”。 【编程点拨】 (1)使用字符数组保存字符串,从字符串数组的第一个元素开始遍历 (2)如果当前的元素与需要删除的元素相等,则删除。 (3)删除是指将该元素前移到需要拷贝的位置

JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

for(int i=1;i2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

实验6数组

实验6 数组 一、实验目的: 1、理解数组的作用、特点; 2、掌握一维数组、二维的定义、引用、初始化,能够与循环结合实现批量数据处理(如输入、输出,比较大小,交换等); 3、熟悉打擂台、排序、查找等典型算法。 4、理解数组名作函数参数时,实参向形参传递的是数组首地址,可以利用此特性在函数中修改数组元素的值,从而达到改变实参数组的目的。 二、实验内容 1、(基础题)有一个数列,它的第一项为1,第二项为2,第三项为3,以后每一项都等于它的前三项之和。使用一维数组编程实现功能:计算该数列的前20项并赋值给数组,然后以逆序方式输出,每一行5个数据。如下图所示: 2、(基础题)编程计算数组各元素的平方和,要求如下: (1)void array_input(int array[], int n)的功能是:输入整型数组array 的各元素值,参数n是数组元素的个数; (2)int square_sum(int array[], int n)的功能是:对整型数组array的各元素的平方求和,参数n是数组元素的个数; (3)主函数的功能:定义一个是长度为6的整型数组,通过调用array_input()输入各元素的值,再调用square_sum()得到各元素平方和,最后输出结果; (4)主函数在前,上述两个函数在后面定义。程序运行如下图所示:

3、(基础题)编写程序实现如下功能:先定义两个长度为31的字符数组str1、str2,然后输入两个字符串保存到str1、str2中;现调用字符串处理函数分别进行以下处理: (1)分别计算两个字符串的长度并输出; (2)输出两个字符串中的较大值; (3)再定义一个字符数组str,将str1、str2两个字符串连接存至str中并输出。如下图所示: 程序代码:

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:创建选课表:

实验七 数组程序设计

实验七数组程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、掌握数组的定义、赋值和输入输出的方法。 2、学习用数组实现相关的算法(特别是排序算法)。 3、掌握C语言中字符数组和字符串处理函数的使用。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。 1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后 输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include void main( ) { int i,n,a[10],avg; for(i=0;i void main( ) { int i,a[10]; float avg=0; printf("欢迎请输入10个整数:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { if(i%3==0) printf("\n"); printf("%d ",a[i]); } for(i=0;i<10;i++) avg+=a[i];avg=avg/10; printf("\navg=%f\n",avg);

} 实验调试记录:--------------------Configuration: 71ext - Win32 Debug-------------------- Compiling... 71ext.c Linking... 71ext.exe - 0 error(s), 0 warning(s) 参考答案: 2、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡 排序实现)。(实验指导书P147) 实验步骤与过程: /*ex7_1.cpp*/ #include void sort1(int s[],int n) { int i,j; int t; for(i=0;i<10;i++) for(j=0;j<10;j++) if(s[j]

最新实验6-SQL-查询附答案

实验六SQL 查询 一、实验目的: 1.熟练掌握SELECT语句的语法格式 2.掌握联接的几种方法 3.掌握子查询的表示和执行 4.能够对SELECT查询结果进行分组、排序及统计 5.能够运用T-SQL语句对表进行数据的插入、修改、删除6.能够通过导入/导出向导进行数据的导入导出 二、实验内容:

利用实验四中的数据库做如下操作: 1.在“学生表”中,找出性别为“男”的学生记录,字段包括“姓名”、“出生日期”和“专业”。 2.在“课程表”中,找出“课程名”中包含“计算机”三个字的课程。 3.在“成绩表”中,找出“课程编号”为“001”的课程成绩前三名学生。 4.在“成绩表”、“学生表”和“课程表”中,找出“课程编号”为“001”的课程成绩在[80,90]之间的学生的姓名、课程名和成绩。 5.在“学生表”中,找出“专业”为“计算机软件”、“电子商务”专业的学生信息。 6.统计“计算机应用基础”课程的平均分。 7.查找各门课程的修课人数。 8.在“成绩表”中,找出课程编号为“001”的这门课程的所有学生的分数以及最高分、最低分和平均分。 9.找出所有女生的“计算机应用基础”这门课的成绩,包括字段:姓名、课程名、成绩。 10.查找“成绩表”中,课程编号为“001”的成绩高于平均分的所有学生的学号、姓名、课程名和成绩。 11.查找“成绩表”中,高于各门课程平均分的学生信息。 12.查找“课程表”中,没有被学生修课的课程信息。 13.将“课程表”中的课程编号为“001”的学分增加1学分。 14.删除学号为“20030101”学生的相关信息。 三、实验过程:

启动“查询分析器”,在其文本窗口中输入相应的Transcat-SQL语句,分析并执行,观察输出结果。 1.Use 学生 select 姓名,出生日期,专业 from 学生表 where 性别='男' 2.use 学生 select * from 课程表 where 课程名 like '%计算机%' 3.use 学生 select top 3 * from 成绩表 where 课程编号='001' order by 成绩 desc

相关文档
最新文档