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;ifor(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