华科C++第七次上机作业.doc

合集下载

华中科技大学-C语言程序设计_上机2019

华中科技大学-C语言程序设计_上机2019
• 课后习题 • 上机指导书
华中科技大学信息学院平台课—C语言程序设计
8
第五次上机
• 程序编写 ➢ 输入 n 个整数( n<10),排序后输出。排序的原则由函数 的一个参数决定,参数值为 1,按递减顺序排序,否则按递 增顺序排序。 ➢ 课后习题15
➢ 插入排序
• 课后习题 • 上机指导书
华中科技大学信息学院平台课—C语言程序设计
7
第四次上机
• 1. 已知五位数a2b3c能被23整除,编程求此五位数。 • 2. 编写函数GetMaxMin,求3个整形数据的最大值和最小值,
main函数完成输入3个整数值,调用所编函数计算最大值和最小 值,在main函数中输出最大和最小值。 • 3. 掌握程序调试方法,包括断点、单步、观察变量。(验证第四 章一(1-3))
➢ 输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9
。取2位小数。
• 课后习题
➢ 五、程序3
➢ 表达式的值
• 上机指导书
华中科技大学信息学院平台课—C语言程序设计
6
第三次上机
• 程序编写 ➢ 第3章 二 4、6、8、12、14
• 课后习题ቤተ መጻሕፍቲ ባይዱ
• 上机指导书
华中科技大学信息学院平台课—C语言程序设计
华中科技大学信息学院平台课—C语言程序设计
3
上机要求
• 教学方式上机需要实验报告(上机前准备好
),给出测试内容(包括定义程序目标、设
计程序),写出代码
• 上机调试,记录出现问题,给出解释
• 用不同颜色笔修改上机报告中的程序
• 交上机报告
华中科技大学信息学院平台课—C语言程序设计
4
第一次上机

C上机实验6含答案及代码

C上机实验6含答案及代码

`特别注意事项:1,文件名“_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。

程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。

实验8_1/******************************************************************* 主程序中定义一个类对象,把新定义的类对象作为参数传递给普通函数***********************************************************************/ // Tdate.h:Tdate类声明#include<iostream>using namespace std;class Tdate{public:void Set(int,int,int); //成员函数的声明int IsLeapYear();void Print();private:int month;int day;int year;};//Tdate.cpp:#include "Tdate.h"void Tdate::Set(int m,int d,int y){month=m;day=d;year=y;}int Tdate::IsLeapYear(){return(year%4==0&&year%100!=0)||(year%400==0);}void Tdate::Print(){ cout<<month<<"/"<<"/"<<year<<endl;}//应用程序:lab12.cpp#include <iostream>using namespace std;# include"Tdate.h"void someFunc(Tdate someday){ someday.Print ();if (someday.IsLeapYear())cout<<"leap yrar\n";elsecout<<"not leap year\n";}void main(){ Tdate s;s.Set (21,10 ,2012);someFunc(s);}程序说明:定义一个日期类Tdate,它的数据成员有年、月、日;它的函数成员有设置值、打印输出和判断是否闰年。

华科上机试题答案

华科上机试题答案

上机考试。

一般网站上公布上机环境要求是TC2.0,但实际上是可以使用VC的。

这里有一点特别要大家注意:TC2.0只支持纯C代码,不支持C++风格代码。

华科的计算机学生称,不管你是用VC还是TC,老师都要在TC2.0上进行验收程序,以确认你的代码是纯C。

比如:p = new Node ; 的代码写法在TC2.0下是通不过的,只能写p = (Node *)malloc (sizeof (Node)) ; 。

另外TC2.0不支持引用,如:Pop (Stack &s , ElemType &e)中含有“&”的引用,在TC2.0下无法通过。

华科的上机题目每年都差不多,经常考的就是排序、链表和树的操作等。

建议在去复试前一定要进行专门练习上机。

08年的华科招收研究生上机试题:(1)输入一个十进制数,将其先转化为八进制数,然后再输出#include<stdio.h>main(){int a = 0 ;printf ("Please enter a decimal number:") ;scanf ("%d",&a) ;printf ("%d's octal number is %o\n",a,a) ;}(2)用户输入一个文本名,编程实现输出文本中最长的一行和最短的一行。

如果最长和最短的不止一行,请全部输出。

#include<stdio.h>#include<stdlib.h>#include<string.h>#define BUFFSIZE 1000int main(){FILE *fp;char filename[255];printf("input file name:");scanf("%s",filename);if (NULL==(fp=fopen(filename,"r"))){printf("file open error!");return 0;}char Line[BUFFSIZE][BUFFSIZE];int i=0;int cnt=0;while((fgets(Line[i], BUFFSIZE, fp))&&i<BUFFSIZE) {//printf("%s",Line[i]);i++;cnt++;}char tempMax[BUFFSIZE];char tempMin[BUFFSIZE];strcpy(tempMax,Line[0]);strcpy(tempMin,Line[0]);//printf("%s\n",tempMax);for(i=1;i<cnt;i++){if(strlen(Line[i])>strlen(tempMax))strcpy(tempMax,Line[i]);if(strlen(Line[i])<strlen(tempMax))strcpy(tempMin,Line[i]);}int j=-1;printf("longest string:\n");for(i=0;i<cnt;i++){if(strlen(Line[i])==strlen(tempMax)){printf("%s\n",Line[i]);}}printf("\n\nshortest string:\n");for(i=0;i<cnt;i++){if(strlen(Line[i])==strlen(tempMin)){printf("%s",Line[i]);}}fclose(fp);return 0;} (3)输入学生信息:学号,三门课程的成绩,学号为0时结束,将其存储在链表A中,从中找出分数大于平均分的学生,并将该学生信息按平均分降序排列存入到链表B中,最后输出链表B。

华科历年上机真题以及解答part4

华科历年上机真题以及解答part4

07年的华科招收研究生上机试题一、编写一个程序输入一个5X6的矩阵存储并输出,并且求出每行的最大值和每行的总和要求把每行总和放入每行最大值的位置,最后把结果矩阵,每行最大值及其原下标及其总和输出。

#include<stdio.h>#include<stdlib.h>int getMat(int a[5][6],int n,int m){int i;int j;for (i=0;i<n;i++){for(j=0;j<m;j++){scanf("%d",&a[i][j]);}}return 0;}int getMax(int a[5][6],int n,int m,int b[5],int c[5],int d[5],int sum[5]){int i;int j;for(i=0;i<n;i++){b[i]=0;c[i]=0;d[i]=0;sum[i]=0;}for(i=0;i<n;i++){int max=a[i][0];int col=0;int r=0;for(j=0;j<m;j++){sum[i]+=a[i][j];if(max<a[i][j])max=a[i][j];r=i;col=j;}b[i]=max;c[i]=r;d[i]=col;}for(i=0;i<n;i++){a[c[i]][d[i]]=sum[i];}return 0;}void displayMat(int a[5][6]){int i;int j;for (i=0;i<5;i++){printf("\n");for(j=0;j<6;j++){printf("%d ",a[i][j]);}}printf("\n");}{int a[5][6];getMat(a,5,6);int c[5],d[5],b[5],sum[5];getMax(a,5,6,b,c,d,sum);printf("每行最大值:\n");for (int i=0;i<5;i++){printf("第%d行:\n最大值:%d\n列:%d\n和:%d\n",i+1,b[i],d[i],sum[i]);}printf("结果矩阵:\n");displayMat(a);return 0;}二、编写程序判断输入的任意字符,任意长度的字符串是否回文(顺读,逆读均相同),最后输出原字符串和判断结果。

C语言上机作业试题5套含答案

C语言上机作业试题5套含答案

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。

程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。

)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。

方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。

例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。

⏹A说:不是我。

⏹B说:是C。

⏹C说:是D。

⏹D说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

C语言上机作业提交的有关说明

C语言上机作业提交的有关说明

C语言上机作业提交的有关说明
1.作业文件的命名规定:
作业文件的文件名为序号-题号。

说明:1)序号见FTP上本班学生的座位安排;
2)如果本次上机只有一个编程题,则题号可以省略。

例子:序号为30的同学举例说明如下:(文件的扩展名为.CPP或.C)
●如果本次上机只有一个编程题,则上交的作业文件名为:30.CPP或30.C
●如果本次上机只有二个编程题,则上交的作业文件名为:30-1.CPP或30-2.C,
以此类推
2.作业上交地点:
上交作业的文件夹与自己的班号(C05班或C17班)和“第几次作业”有关,根据作业次数提交到不同地点:
●第一次作业,上交到ftp://192.168.9.211/2014春学生作业/班号/01/中,
第二次作业,上交到ftp://192.168.9.211/2014春学生作业/班号/02/,以此类推
3.作业上交方法:
打开FTP上指定存放作业的文件夹,再将作业文件(源程序)拖入其中(作业文件必须在关闭状态下才能拖入)。

华中科技大学c+上机作业

华中科技大学c+上机作业

华中科技大学《计算机基础与程序设计(C++)》实验报告实验名称:第四次上机实验实验学时:4姓名:学号:班级:电气实验日期:2017.4.13 教师批阅签字:一、实验目的●掌握一维数组的定义、输入、输出和基本操作。

●掌握二维数组的定义、输入、输出和基本操作。

●掌握字符串的存储和访问。

●使用数组处理解决实际问题的能力。

●动态数组的访问二、实验内容1.阅读程序1)#include <iostream>#include<cmath>using namespace std;int main(){ int n=5;int i,a[n];for(i=0;i<n;i++){ cin>>a[i];cout<<a[i];}return 0;}运行上述的程序,改正其中的错误,并解释错误原因。

错误:1.i后面的逗号为中文。

2.数组长度不能用变量表示。

修改后的程序:#include <iostream>#include<cmath>using namespace std;int main(){ int n=5;int i,a[5];for(i=0;i<n;i++){ cin>>a[i];cout<<a[i];}return 0;}2)#include <iostream>#include<cmath>using namespace std;int main(){ int i,a[5]={0,1,2,3,4};for(i=0;i<=5;i++)cout<<a[i];return 0; }运行上述的程序,其结果是否正确,如不确请修改正确,并解释原因。

错误:1.定义变量时的逗号为中文。

2.i最大值为4。

正确的程序:#include <iostream>#include<cmath>using namespace std;int main(){ int i,a[5]={0,1,2,3,4};for(i=0;i<=4;i++)cout<<a[i];return 0; }3)#include <iostream>using namespace std;int main( ){char rstr[10 ]="abcdefgh",dstr[10];int i;for(i=0; rstr[i]!='\0'; i++) //循环条件可以写成rstr[i]!=0; 或rstrdstr[i]=rstr[i];cout<<"输出字符串dstr:"<<dstr<<endl;return 0;}上述程序的功能是将字符串rstr复制到目标串dstr中,运行该程序结果是否正确,如不正确请修改正确,并解释原因。

华中科技大学C语言实验与课程设计上机实验报告汇总(1~8全部)

华中科技大学C语言实验与课程设计上机实验报告汇总(1~8全部)

华中科技大学C语言实验与课程设计实验报告计算机科学与技术学院指导老师:目录1 表达式和标准输入输出实验 (3)2 流程控制实验 (11)3 函数程序与结构实验 (20)4 编译预处理实验 (28)5 数组实验 (35)6 指针实验 (42)7 结构与联合实验 (52)8 文件实验 (61)华中科技大学C语言实验与课程设计实验报告CS1408赵晓雁1 表达式和标准输入与输出实验1.1 实验目的(1) 熟练掌握各种运算符的运算功能,操作数的类型,运算结果的类型及运算过程中的类型转换,重点是C语言特有的运算符,例如位运算符,问号运算符,逗号运算符等;熟记运算符的优先级和结合性。

(2)掌握scanf 和printf 函数的用法。

(3)掌握简单C程序(顺序结构程序)的编写方法。

1.2 实验内容及结果1.2.1.源程序改错下面给出了一个简单C语言程序例程,用来完成以下工作:(1)输入华氏温度f,将它转换成摄氏温度C后输出;(2)输入圆的半径值r,计算并输出圆的面积s;(3)输入短整数k、p,将k的高字节作为结果的低字节,p的高字节作为结果的高字节,拼成一个新的整数,然后输出;在这个例子程序中存在若干语法和逻辑错误。

要求参照2.1.3和2.1.4的步骤对下面程序进行调试修改,使之能够正确完成指定任务。

程序代码:#include<stdio.h>#define PI 3.14159;voidmain( void ){int f ;short p, k ;double c , r , s ;/* for task 1 */printf(“Input Fahrenheit:” ) ;scanf(“%d”, f ) ;c = 5/9*(f-32) ;printf( “ \n %d (F) = %.2f (C)\n\n ”, f, c ) ;/* for task 2 */printf("input the radius r:");scanf("%f", &r);s = PI * r * r;printf("\nThe acreage is %.2f\n\n",&s);/* for task 3 */printf("input hex int k, p :");scanf("%x %x", &k, &p );3处的语句,使之实现两数对调的操作。

华中科技大学C++上机实验答案(全)

华中科技大学C++上机实验答案(全)

实验一/*要求从键盘输入三个不等的整数后按ENTER键,在屏幕上由大到小的输出。

*/ #include<iostream>using namespace std;int main(){int a,b,c,max,min;cout<<"请输入三个不同的整数:"<<endl;cin>>a>>b>>c;if(a>b){max=a;min=b;}else{max=b;min=a;}if(c>max)cout<<c<<'\t'<<max<<'\t'<<min<<endl;else if(c<min)cout<<max<<'\t'<<min<<'\t'<<c<<endl;else cout<<max<<'\t'<<c<<'\t'<<min<<endl;return 0;}实验二//输入两个数,将它们交换后输出。

#include<iostream>using namespace std;int main(){int a,b,temp;cout<<"输入a,b:";cin>>a>>b;cout<<"a="<<a<<'\t'<<"b="<<b<<endl;temp=a;a=b;b=temp;cout<<"a="<<a<<'\t'<<"b="<<b<<endl;return 0;}//求一个三角形的面积(例题程序)#include<iostream>#include<cmath>using namespace std;int main(){float a,b,c,s,area;cout<<"a,b,c=";cin>>a>>b>>c;s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"area="<<area<<endl;return 0;}//求一个三角形的面积(修改后的程序)#include<iostream>#include<cmath>using namespace std;int main(){int a,b,c,s,area;cout<<"a,b,c=";cin>>a>>b>>c;if(a<b+c&&b<a+c&&c<a+b){s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"area="<<area<<endl;}else cout<<"不能够成三角形"<<endl;return 0;}/*用sizeof运算符计算C++中char,short,int,long,float,double等基本数据类型所占的字节数,并按以下格式输出:sizeof(char)=1 bytesizeof(short)=2 bytessizeof(int)=4 bytes……..*/#include<iostream>using namespace std;int main(){cout<<"sizeof(char)="<<sizeof(char)<<"byte"<<endl;cout<<"sizeof(short)="<<sizeof(short)<<"byte"<<endl;cout<<"sizeof(int)="<<sizeof(int)<<"byte"<<endl;cout<<"sizeof(long)="<<sizeof(long)<<"byte"<<endl;cout<<"sizeof(float)="<<sizeof(float)<<"byte"<<endl;cout<<"sizeof(double)="<<sizeof(double)<<"byte"<<endl;return 0;}//修改后的程序#include<iostream>using namespace std;int main(){cout<<"char"<<'\t'<<sizeof(char)<<"byte"<<endl;cout<<"short"<<'\t'<<sizeof(short)<<"byte"<<endl;cout<<"int"<<'\t'<<sizeof(int)<<"byte"<<endl;cout<<"long"<<'\t'<<sizeof(long)<<"byte"<<endl;cout<<"float"<<'\t'<<sizeof(float)<<"byte"<<endl;cout<<"double"<<'\t'<<sizeof(double)<<"byte"<<endl;return 0;}//用数组列表输出#include<iostream>using namespace std;int main(){char datatype[]="char\tshort\tint\tlong\tfloat\tdouble";cout<<datatype<<endl;cout<<sizeof(char)<<'\t'<<sizeof(short)<<'\t'<<sizeof(int)<<'\t'<<sizeof(long)<<'\t'<<siz eof(float)<<'\t'<<sizeof(double)<<endl;return 0;}/*编写满足下列要求的程序:根据输入的球半径,分别计算球的表面积、体积和质量(假设球的密度为7.8kg/dm3),并输出计算结果。

C--上机作业答案讲解

C--上机作业答案讲解

第一章作业答案.1。

编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F—32)程序代码:#include〈iostream>using namespace std;void main(){float F,C;cout〈<”Please input F:”;cin〉>F;C=5*(F-32)/9。

0;cout<<”C="<〈C<〈endl;}运行结果:2。

编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积.程序代码:#include〈iostream〉using namespace std;#define PI 3。

14159void main(){float r,h,v;cout<<”Please input r h:”;cin〉>r>〉h;v=PI*r*r*h;cout〈<”v="〈<v〈<endl;}运行结果:3.输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area。

若则area=程序代码:#include〈iostream〉#include〈math。

h〉using namespace std;void main(){float a,b,c,p,area;cout〈〈"Please input a b c:";cin>〉a〉>b>>c;if((a+b〉c)&&(b+c>a)&&(a+c〉b)){p=(a+b+c)/2.0;area=sqrt(p*(p—a)*(p—b)*(p-c));cout<<"area=”〈<area<〈endl;}else cout〈<"input error!"〈<endl;运行结果:4。

输入a,b,c的值,求一元二次方程:的解。

华科历年上机真题以及解答part3

华科历年上机真题以及解答part3

//3(1)无冗余的接受键盘输入的n个字符串,并将其无冗余的放入对应的字符数组中,再按照每行一串的格式输出这些字符串。

(2)以单个字符串为数据域,按字典顺序将n个字符串生成为一棵二叉搜索树,并且规定左子树(数据域)小于右子树(数据域)。

(3)先序遍历该二叉树,并输出结果。

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct node{char *data;struct node *lchild,*rchild;}BNode,*BTree;void Insert(BTree *t,char *data){if(!(*t)){(*t) = (BTree)malloc(sizeof(BNode));(*t)->data = data;(*t)->lchild = NULL;(*t)->rchild = NULL;}else{if(strcmp((*t)->data,data)>0)Insert(&((*t)->rchild),data);elseInsert(&((*t)->lchild),data);}}void PreOrder(BTree t){if(t){printf("%s\n",t->data);PreOrder(t->lchild);PreOrder(t->rchild);}}void main(){char **str;int n,count,i;char ch;BTree t=NULL;printf("please input n:");scanf("%d",&n);str = (char **)malloc(n*sizeof(char *));fflush(stdin);for(i=0;i<n;i++){count = 0;str[i] = (char *)malloc(sizeof(char));while((ch= getchar())!=' ' && ch != '\n'){count++;str[i] = (char *)realloc(str[i],count*sizeof(char));str[i][count-1]=ch;}str[i] = (char *)realloc(str[i],(count+1)*sizeof(char));str[i][count]='\0';}for(i=0;i<n;i++)Insert(&t,str[i]);printf("PreOder output:\n");PreOrder(t);fflush(stdin);getchar();}//输入一串数,然后,建立链表,排序输出。

【华科】历年机试题汇总打印下来随身带着

【华科】历年机试题汇总打印下来随身带着

华科历年上机题汇总(欢迎补全)2014华科机试回忆1.超素数就是这样的数,比如2333,2是素数,23是素数,233是素数,2333是素数,找出所有的四位超素数。

每行输出六个,数之间空格隔开。

(我的做法是先开个10000的数组,找出每个是素数的数组值为1,否则为0,对于每个四位数,分别看这几位是否都是素数即可,注意1不是素数)2.两个二进制数加减乘除,short型的,十六位,比如101 100 +,输出1001,也可把前几位0输出。

(我刚开始想用大数运算来计算,发现比较麻烦,就把这两个数转化为十进制,然后运算,再转化为short型的二进制(转化为二进制时我的负数形式估计考虑错了))。

3.判断一个整型变量是否正确,比如02是八进制,0x2是十六进制,12是十进制,只有这三种进制判断。

前面的0是零。

(我判断时将八进制和十六进制的负数形式搞错了,以为这两种也是前面加个负号(比如-01,-0x1)的,其他的都能判断出来,三个大if 语句就行了)。

大致就只能想出这些了,建议你们找找图片版的,其他同学应该已经上传了。

可以看出今年的试题还是很基础的,没有很复杂的算法。

算法一定要注释,首先说出自己的大致想法。

当时时间比较急,我也没细想,做的题想法也不一定好,反正能先运行再说。

2013华科机试试题回忆版1.素数就是不能被等分的数,如3,5,7等。

一个数n是素数,若n+2也是素数,则,这两个数是孪生素数。

找不超过整数m(m在5到10000之间)的最大孪生素数。

2.回旋矩阵:如5的回旋矩阵是1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9输入一个n,求他的回旋矩阵。

3.求一个字符串的最右最长回文子串。

字符串包括字符和标点,空格可忽略。

如abba是回文a bb a也是回文。

你这回忆不完整啊,第三题是考虑回文子串的时候要忽略掉标点符号,打印输出的时候要再加上->12上机按照要求是可以使用VC,TC和CodeBlocks环境。

第七次上机作业答案,高级语言,c程序

第七次上机作业答案,高级语言,c程序

第七次上机作业一、写出以下程序执行了分析过程。

1、#include "stdio.h"main(){int a=50,b=20,c=10;int x=5,y=0;if(a<b)if(b!=10)if(!x)x=1;elseif(y) x=10;x=-9;printf("%d",x);}分析:本题主要测试对if语句和if语句嵌套的理解,C语言规定:else总是与其前面的没有配对的最近的if语句配对。

程序中的else是与if(!x)配对的,不是----------------------------精品word文档值得下载值得拥有--------------------------------------------------------------------------精品word 文档 值得下载 值得拥有----------------------------------------------与if (b !=10),更不是与if ((a<b)配对。

我们可以通过对程序画框架来理解。

框架如下:#include "stdio.h"main(){int a=50,b=20,c=10;int x=5,y=0;if(a<b)if(a<b) if(b!=10) if(!x) x=1; elseif(y) x=10;x=-9;第一条i f 语第二条if 语句第三条if 语句printf("%d",x);}从上面可以看出语句x=-9;不属于任一个if语句。

故结果为-9.2、#include "stdio.h"main(){float c=3.0,d=4.0;if(c>d) c=5.0;elseif(c==d) c=6.0;else c=7.0;printf("%.1f",c);}分析:本题的if语句嵌套再else语句中,请注意C语言中if语句的灵活的书写格式。

华科数据库上机作业_(含答案)

华科数据库上机作业_(含答案)

1、创建某图书馆借书系统数据库,完成要求的SQL语句1)创建表书bookcreate table book(bno char(8)primary key,category char(10),title varchar(40),press char(3),year int,author varchar(20),price decimal(5,2),total int,remains int)2)创建表借书证cardcreate table card(cno char(7)primary key,name varchar(10),department varchar(40),type char(1),days int)3)创建表借书记录borrow,建立与book表、card表的外键关系create table borrow(bno char(8)constraint fk_bno foreign key references book(bno), cno char(7)constraint fk_cno foreign key references card(cno), borrow_date date,return_date date,constraint pk_borrow primary key (bno,cno))4)用INSERT语句为每个表插入不少于10条记录;insert intobook(bno,category,title,press,year,author,price,total,remains) values('200001','文学','水浒传','001',2013,'施耐庵',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains)values('200002','文学','西游记','001',2013,'吴承恩',35.7,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200003','文学','红楼梦','001',2013,'曹雪芹',68.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200004','文学','三国演义','001',2013,'罗贯中',41.5,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200005','教学','机械设计','002',2013,'张三丰',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200006','教学','机械原理','002',2013,'张无忌',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200007','教育','优化设计','002',2013,'武松',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200008','教育','高等数学','002',2013,'唐三藏',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200009','教育','大学物理','002',2013,'沙和尚',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200010','教育','数学物理方程','002',2013,'白骨精',45.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200011','小说','一个人的旅行','001',2013,'白骨精',35.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200012','小说','神机妙扇','001',2013,'铁扇公主',15.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains)values('200013','小说','除却巫山不是云','001',2013,'扈三娘',25.2,50,49);insert intobook(bno,category,title,press,year,author,price,total,remains) values('200014','小说','麻辣烫','001',2013,'孙二娘',11.2,50,49);insert into card(cno,name,department,type,days)values('S000001','孙悟空','花果山','S',30);insert into card(cno,name,department,type,days)values('S000002','林冲','东京','S',30);insert into card(cno,name,department,type,days)values('T000001','赤脚大仙','天庭','T',30);insert into card(cno,name,department,type,days)values('S000003','鲁智深','五台山','S',30);insert into card(cno,name,department,type,days)values('S000004','贾宝玉','大观园','S',30);insert into card(cno,name,department,type,days)values('S000005','贾连','大观园','S',30);insert into card(cno,name,department,type,days)values('S000006','林黛玉','大观园','S',30);insert into card(cno,name,department,type,days)values('S000007','薛宝钗','大观园','S',30);insert into card(cno,name,department,type,days)values('S000008','袭人','大观园','S',30);insert into card(cno,name,department,type,days)values('S000009','猪八戒','高老庄','S',30);insert into card(cno,name,department,type,days)values('S000010','令狐冲','华山','S',30);insert into borrow values('200001','s000002','2015-05-12',null);insert into borrow values('200003','s000002','2015-05-12',null);insert into borrow values('200005','s000002','2015-05-12',null);insert into borrow values('200007','s000007','2015-05-12',null);insert into borrow values('200008','s000005','2015-05-12',null);insert into borrow values('200007','s000008','2015-05-12',null);insert into borrow values('200009','s000004','2015-05-12',null);insert into borrow values('200011','s000003','2015-05-12',null);insert into borrow values('200013','s000008','2015-05-12',null);insert into borrow values('200012','s000009','2015-05-12',null);insert into borrow values('200010','s000010','2015-05-12',null);insert into borrow values('200006','s000001','2015-05-12',null);5)写SQL语句,查询2008年出版的藏书种数、总册数、最高价、最低价。

C上机实验4含答案及代码

C上机实验4含答案及代码

特别注意事项:1,文件名“_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。

程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。

特别注意事项:1,文件名“_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。

程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。

实验4_1_1/*************************************************使用全局变量,求两正整数的最大公约数和最小公倍数*************************************************/#include <iostream>using namespace std;int maxgy;int maxgb;void fun(int a,int b){int t,i;if(a<b){t=a;a=b;b=t;} // 求的a为最大数i=b;while(i>=1){if(b%i==0 && a%i==0){maxgy=i;break;}i--;}i=a;while(i>=a){if(i%a==0 && i%b==0){ maxgb=i;break;}i++;}}void main (){ int x,y;cout<<"input data x,y:";cin>>x>>y;fun (x,y);cout<<"该两个数的最大公约数是:"<<maxgy<<endl;cout<<"该两个数的最大公倍数是:"<<maxgb<<endl;}程序说明:将两正整数的最大公约数和最小公倍数都设为全局变量,先做好函数的声明和定义,再用main主函数调用。

C_上机实验(含作业)总的目的、要求和评分标准

C_上机实验(含作业)总的目的、要求和评分标准

上机实验(含作业)总的目的、要求和评分标准一、实验目的实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。

C程序设计课程实践性很强,即要求独立编写程序,学会独立上机调试程序。

学会独立上机调试程序。

也就是要善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。

计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实践。

对程序设计来说,要求会编写程序并上机调试通过。

因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。

调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来积累,而且有些经验是只能“会意”难以“言传”。

因此,在实验时不但要达到通过程序完成每一次的实验任务,而且应当在已通过的程序基础上作进一步的修改、提高和完善。

甚至于“自设障碍”,即把正确的程序改为有错的(如用scanf函数为输入变量输入数据时,漏写“&”符号,double变量使用格式符“%f”;使数组下标出界;使整数溢出等等),观察和分析所出现的情况。

这样的学习才会有真正的收获。

实验目的可归纳如下:⒈验证自己已建立起来的概念或所编写的程序是否正确;⒉加深对课堂所学内容的理解和语法规则的记忆;⒊理解和掌握运用计算机高级语言进行编程的思想方法;⒋掌握常用算法的设计与应用实现;⒌熟悉Turbo C 2.0程序开发环境,掌握C程序常用的调试手段;⒍学会上机调试程序的方法,不断积累调试经验,提高排错能力;⒎使自己具有独立的应用编程和熟练的程序调试能力。

二、要求:⒈做好每一次上机前的准备以提高上机效率:①预先认真阅读相关实验内容,做到心中有明确的目的要求和任务,要有备而来;②按照实验内容规定的习题题目,事先在实验预习报告上编写好源程序及运行程序所需的典型数据,并经人工静态检查认为无误;手编程序应书写整齐,应在每个题目之间留出一定的空间,以备记录上机调试情况和运行结果等;对程序中自己有疑问的地方,应作出记号,以便上机时给以注意。

华科C++第七次上机作业

华科C++第七次上机作业

第七次上机作业1、范例:设计并测试一个矩形类(Rectangle)。

属性为矩形的左下角与右上角的坐标,矩形水平放置。

操作为计算矩形的周长和面积。

2、#include<cmath>3、#include<iostream>4、using namespace std;5、class Rectangle{6、double left, top;7、double right, bottom;8、public:9、Rectangle(double l=0,double t=0,double r=0,double b=0);10、~Rectangle(){};11、void Assign(double l,double t,double r,double b);12、void Show();13、double Area();14、double Perimeter();};15、Rectangle:: Rectangle(double l ,double t, double r, double b){16、left=l ;top =t;17、right=r; bottom=b;}18、void Rectangle::Assign(double l,double t,double r,double b){19、left=l ;top =t;20、right=r; bottom=b;}21、void Rectangle::Show(){22、cout<< "left-top point is("<<left<<","<<top<<")"<<"\n";23、cout<<"right-bottom point is("<<right<<","<<bottom<<")"<<endl;}24、double Rectangle::Area(){25、return fabs((right-left)*fabs(bottom-top));26、}27、double Rectangle::Perimeter(){28、return 2*(fabs(right-left)+fabs(bottom-top));29、}30、int main(){31、Rectangle rect;32、();33、(100,200,300,400);34、();35、Rectangle rect1(0,0,200,200);36、();37、(100,200,300,400);38、();39、cout<<"Ãæ»ý"<<()<<'\t'<<"Öܳ¤"<<()<<endl;40、cout<<"Ãæ»ý"<<()<<'\t'<<"Öܳ¤"<<()<<endl;41、return 0;}42、(1)将Rectangle(double l=0, double t=0, double r=0, double b=0); 改为Rectangle(double l, double t, double r, double b);程序仍能正确运行吗为什么答:无法正确运行,因为数据成员没有初值。

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

第七次上机作业
1、范例:设计并测试一个矩形类(Rectangle)。

属性为矩形的左下角与右上角的坐标,矩形
水平放置。

操作为计算矩形的周长和面积。

2、 #include<cmath>
3、 #include<iostream>
4、 using namespace std;
5、 class Rectangle{
6、double left, top;
7、double right, bottom;
8、 public:
9、Rectangle(double l=0,double t=0,double r=0,double b=0);
10、~Rectangle(){};
11、void Assign(double l,double t,double r,double b);
12、void Show();
13、double Area();
14、double Perimeter();};
15、Rectangle:: Rectangle(double l ,double t, double r, double b){
16、left=l ;top =t;
17、right=r; bottom=b;}
18、void Rectangle::Assign(double l,double t,double r,double b){
19、left=l ;top =t;
20、right=r; bottom=b;}
21、void Rectangle::Show(){
22、cout<< "left-top point is("<<left<<","<<top<<")"<<"\n";
23、cout<<"right-bottom point is("<<right<<","<<bottom<<")"<<endl;}
24、double Rectangle::Area(){
25、return fabs((right-left)*fabs(bottom-top));
26、}
27、double Rectangle::Perimeter(){
28、return 2*(fabs(right-left)+fabs(bottom-top));
29、}
30、int main(){
31、Rectangle rect;
32、();
33、(100,200,300,400);
34、();
35、Rectangle rect1(0,0,200,200);
36、();
37、(100,200,300,400);
38、();
39、cout<<"?? ?y"<<()<<'\t'<<"? ü3¤ "<<()<<endl;
40、cout<<"?? ?y"<<()<<'\t'<<"? ü3¤ "<<()<<endl;
41、return 0;}
42、
(1)将Rectangle(double l=0, double t=0, double r=0, double b=0); 改为Rectangle(double l, double t, double r, double b);
程序仍能正确运行吗为什么
答:无法正确运行,因为数据成员没有初值。

(2)注意成员函数 void Show( ) 、 double Area () 、 double Perimeter( ) 的使用,因为在第三章
如果需编写类似功能的一般函数是需要带参数(形参)的。

而在此处作为类的成员函数又不需要带参数。

思考为什么
答:构造函数是隐式调用的
(3)理解 void Assign(double l,double t,double r,double b);函数的作用。

将Rectangle(double l=0, double t=0, double r=0, double b=0);
改为 Rectangle(double l, double t, double r, double b); 这时,有人认为 Rectangle(double l, double t, double r, double b) 和 void Assign(double l,double t,
double r,double b) 的功能相同,那么 Assign 函数能否去掉呢请试一试,结果会怎样
答:不能,结果无法运行。

2、定义一个圆类(Circle),要求用两种方法定义:
方法一:要求属性为半径,操作为计算圆的周长和面积。

#include <iostream>
#include <cmath>
using namespace std;
const double PI=;
class Circle{
private:
double Radius;
public :
Circle(double r=0);
~Circle(){};
void Assign(double r);
double zc();
double mj();
};
Circle::Circle(double r){
Radius=r;}
void Circle::Assign( double r){
Radius=r;}
double Circle::zc(){
return (PI*Radius*2);
}
double Circle::mj(){
return (PI*Radius*Radius);}
int main (){
Circle yuan;
;
cout<<" 周长 "<<()<<endl;
cout<<" 面积 "<<()<<endl;
return 0;
}
方法二:要求属性为半径(radius)、圆周长和面积,操作为输入半径,并计算周长、面积,输出半径、周长和面积。

要求定义构造函数(以半径为参数,缺省值为 0,周长和面积在构造函数中生成)和拷贝构造函数。

相关文档
最新文档