华中科技大学c第2次上机作业

合集下载

华中科技大学 类的上机答案

华中科技大学 类的上机答案

第四章上机第一套第一题:class Rectangle{private:double left;double top;double right;double bottom;public:Rectangle(double a=0,double b=0,double c=0,double d=0 );~Rectangle(){};void Assign(double a,double b,double c,double d);void Show();double getLeft(){return left;};double getTop(){return top;};double getRight(){return right;};double getBottom(){return bottom;};double Area();double Perimeter();};Rectangle::Rectangle(double a,double b,double c,double d){left=a; top=b; right=c;bottom=d;}void Rectangle::Assign(double a,double b,double c,double d){left=a; top=b; right=c;bottom=d;}void Rectangle::Show(){cout<<"left-top point is ("<<left<<","<<top<<")"<<'\n';cout<<"right-bottom point is ("<<left<<","<<top<<")"<<'\n';}double Rectangle::Area(){return fabs((right-left)*(bottom-top));}double Rectangle::Perimeter(){return 4*(right-left);}第二题char mid;Person::Person(char *id, char *name, char sex,int birthday,char *homeadd){ strcpy(IdPerson,id);strcpy(Name,name);Sex=sex;Birthday=birthday;strcpy(HomeAddress,homeadd);}Person::Person(){IdPerson[0]='\0';Name[0]='\0';Sex=mid;Birthday=0;HomeAddress[0]='\0';}Person::Person(Person&Ps){cout<<""<<endl;strcpy(IdPerson,Ps.IdPerson);strcpy(Name,);Sex=Ps.Sex;Birthday=Ps.Birthday;strcpy(HomeAddress,Ps.HomeAddress);}第三题class Timedate{private: int year,month,date;int hh,mm,ss;public: Timedate(int=2000,int=1,int=1);void putdate(int y,int m,int d);void puttime(int n,int m,int s);void list();};Timedate::Timedate(int y,int m,int d ){year=y; month=m; date=d;hh=12; mm=30; ss=0;}void Timedate::putdate(int y,int m, int d){year=y; month=m; date=d;} void Timedate::puttime(int h,int m,int s){hh=h; mm=m; ss=s;第四题#include<iostream>#include<cmath>using namespace std;const double PI=3.14159265;class Circle{private:double r;double Circumference;double Area;public:Circle(double a=0);Circle(Circle &);void SetR(double R);~Circle(){};double GetR(){return r;};double GetCircumference(){return Circumference;};double GetAreaCircle(){return Area;};};Circle::Circle(double a){r=a;Area=PI*r*r;Circumference=2*PI*r;}Circle::Circle(Circle &cl){r=cl.r; Area=cl.Area; Circumference=cl.Circumference;}void Circle::SetR(double R){ r=R; Area=PI*r*r; Circumference=2*PI*r;}第二套上机题目第一题;class Circle{private:double radius;public:double area();double circumference();void Set(double r1);Circle(double r=0):radius(r){}};double Circle::circumference(){return 2*PI*radius;}void Circle::Set(double r1){radius=r1;}double Circle::area(){return PI*radius*radius;}class Box{private :double length;public:void Set(double l1);Box(double l=0):length(l){}double area();double circumference();};double Box::circumference(){return 4*length;}void Box::Set(double l1){length=l1;}double Box::area(){return length*length;}class NewStyle{public:Circle a;Box b;NewStyle(Circle a1,Box b1);double S();double L();void Set(Circle a2,Box b2);};NewStyle::NewStyle(Circle a1,Box b1){a=a1;b=b1;}void NewStyle::Set(Circle a2,Box b2){a=a2;b=b2;}double NewStyle::S(){return a.area()-b.area();}double NewStyle::L(){return a.circumference()+b.circumference();}第二题:date::date(int Year,int Month,int Day){year=Year; month=Month; day=Day;}void date::setdate(int Year,int Month,int Day){year=Year; month=Month; day=Day;}int date::get_year(){return year;}int date::get_month(){return month;}int date::get_day(){return day;}card::card(int Book, int Reader,date Borrow_day,int Expiry ):book(Book),reader(Reader),borrow_day(Borrow_day),expiry(Expiry){}date card::get_borrow_day(){return borrow_day;}date card::get_return_day(){date return_day;return_day.setdate(borrow_day.get_year(),borrow_day.get_month(),borrow_day.get_day()+ expiry);int i=return_day.get_month(),a;int year=return_day.get_year();int day=return_day.get_day();if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) a= 31;else if(i!=2) a =30;else if((year%4==0&&year%100!=0)||(year%400==0)) a=29;else a=28;while(day>a){i++;day-=a;if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) a= 31;else if(i!=2) a =30;else if((year%4==0&&year%100!=0)||(year%400==0)) a=29;else a=28;}while(i>12){year++;i-=12;}return_day.setdate(year,i,day);return return_day;}int card::get_book(){return book;}int card::get_reader(){return reader ;}int card::get_expiry(){return expiry;}。

华中科技大学-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。

大学C 上机实验题目(版)

大学C 上机实验题目(版)

20XX年复习资料大学复习资料专业:班级:科目老师:日期:实验前言(建议认真阅读)一、上机实验的目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解C++语言的基本结构和程序设计方法。

通过亲手编程掌握C++语言编程的方法。

二、实验基本内容为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了五个实验。

学生在课内机时先完成指导书中标有“*”号的程序,理解所学的知识,在此基础上再编写其他应用程序。

指导书中的五个个实验如下:1. 函数与编译处理2. 指针与引用3. 类和对象4. 继承和派生类5. 多态性三、实验提交(特别提醒)1. 实验题目以附件形式提交,每个附件限一个源程序,附件以实验编号-题号-自己学号.cpp命名;如学号为20XXXX20XXXX20XXXX34的同学提交实验1的第5题,则附件命名方式为:1-5-20XXXX20XXXX20XXXX34.cpp,错误提交的将视为未提交。

2. 提交时间定为该次实验课的一周内,过期不再接收。

四、评分和作弊处理1. 要求提交实验题总数为6题(带“*”号),占期末总评成绩的20XX%;2. 存在抄袭和被抄袭的作业,无论抄袭与被抄袭者,本门课程平时成绩以零分记。

存在两次及两次以上抄袭和被抄袭者,本门课程以不及格记。

五、实验课要求(重点强调)1. 严禁QQ、MSN等即时软件工具聊天;2. 严紧接听手机、发送短信;3. 严紧玩游戏。

实验1 函数与编译处理一、实验目的1. 掌握函数声明、定义和使用的方法;2. 掌握形参与实参之间的对应关系;3. 掌握函数调用时,形参、实参之间的“值传递”和“引用传递”的区别;4. 掌握函数递归调用的方法;5. 掌握全局变量、局部变量、静态变量的使用方法;6. 掌握文件包含的使用方法。

二、实验内容1. 定义两个函数swap1和swap2,目的是实现两个整数的次序交换,其中swap1的参数是传递值参数,swap2的参数是引用参数,在程序中分别调用这两个函数,其输出结果如下所示:初始值:x=1,y=2调用swap1后的结果:x=1 y=2调用swap2后的结果:x=2 y=12. 编写一个函数,用来计算从键盘上输入的整数的阶乘。

华中科技大学标准C语言程序设计上机试题、答案及报告格式

华中科技大学标准C语言程序设计上机试题、答案及报告格式

《标准C语言程序设计》上机报告实验七指针及函数结构体初步程序设计专业:班级:学号:姓名:完成日期:1一、实验目的1.进一步理解指针的概念,掌握指针变量间接地址访问的本质;2.掌握利用指向数组的指针变量表示一维数组元素及元素地址的方法;3.掌握利用指向二维数组的行指针变量表示二维数组元素及其地址的方法;4.掌握字符串的指针和指向字符串的指针变量;5.掌握指针数组和二级指针;6.熟悉通过动态内存分配实现动态数组,并体会指针在其中的作用。

7.理解函数定义、原型和调用,掌握函数参数的传递(传值、传指针和传引用)二、实验内容及要求(鼓励一题多解)1.深入理解《上机实践训练教程》2.6实验六案例示范和有关概念文字描述中的知识点,给出你的理解。

定义指针时一定要给指针分配好应有的类型和内存空间,防止出现野指针,造成程序不能运行甚至系统崩溃。

数组名不能作为左值,它实际上是一个常量指针,不能通过str=“comrade”给字符数组str赋值。

2.输入每个学生的姓名和线性代数、通信原理和C语言课程成绩,统计每人的平均值,并按平均值降序排列,输出排列后的名次、姓名、课程名(成绩)和平均值。

(注:平均值相同者按姓名的字母表顺序排列)(要求用结构体数据类型实现)#include <stdio.h>#include <math.h>#include <stdlib.h>#define N 3struct student{int rank;char name[20];double score[3];double aver;};void input(struct student *p,int n);void sort(struct student *p,int n);double average (struct student *p,int n);void output(struct student *p,int n,double aver);void main(){struct student stu[N];double aver;input(stu,N);sort(stu,N);aver=average(stu,N);output(stu,N,aver);}void input(struct student *p,int n){int i,j;double a;char str[20];for(i=0;i<n;i++,p++){printf("请输入考生姓名:\n");gets(p->name);printf("请依次输入学生线性代数、通信原理、c语言分数:\n");for(a=0,j=0;j<3;j++){gets(str);p->score[j]=atof(str);a+=p->score[j];}p->aver=a/3;}return;}void sort(struct student *p,int n){struct student temp;int i,j;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(p[j].aver<p[j+1].aver){temp=p[j];p[j]=p[j+1];p[j+1]=temp;}}}}double average(struct student *p,int n){int i;double temp;for(i=0,temp=0;i<n;i++)temp=temp+p[i].aver;return temp/n;}void output(struct student *p,int n,double aver){int i;printf("姓名线性代数通信原理c语言平均分\n");printf("-----------------------------------------\n");for(i=0;i<n;i++){printf("%-10s%8.2lf%8.2lf%8.2lf%8.2lf\n",p[i].name,p[i].score[0],p[i].score[1],p[i].score[2],p[i].aver);}}运行结果:3.利用指向指针的指针方法对N个整数排序并输出。

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说:他乱说。

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

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

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

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

2007(3)矩阵转置题目描述:输入一个N*N的矩阵,将其转置后输出。

要求:不得使用任何数组(就地逆置)。

输入:输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数。

接下来的N行每行有N个整数,分别代表矩阵的元素。

输出:可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。

样例输入:31 2 34 5 67 8 9样例输出:1 4 72 5 83 6 9AC:#include <stdio.h>#include <stdlib.h>#define N 101void main(){int n, i, j;int matrix[N][N];while(scanf("%d", &n) != EOF){for(i = 0; i < n; i ++){for(j = 0; j < n; j ++)scanf("%d", *(matrix + i) + j);}for(i = 0; i < n; i ++){for(j = 0; j < n; j ++){if(j == n - 1)printf("%d\n", matrix[j][i]);elseprintf("%d ", matrix[j][i]);}}}}2008保研(1)农夫、羊、菜和狼的故事题目描述:有一个农夫带一只羊、一筐菜和一只狼过河.果没有农夫看管,则狼要吃羊,羊要吃菜.但是船很小,只够农夫带一样东西过河。

问农夫该如何解此难题?输入:题目没有任何输入。

输出:题目可能有种解决方法,求出步骤最少的解决方法,按顺序输出农夫想把羊、菜、狼全部运过河需要哪几个步骤。

如果需要将羊带过河去则输出“sheep_go”。

如果需要将羊带回来则输出“sheep_come”。

如果需要将菜带过河去则输出“vegetable_go”。

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

第二章上机实验一、实验目的●学会编写选择结构的C++程序。

●掌握if 语句的使用●掌握switch 语句的使用●学会编写简单的循环结构C++程序二、实验内容1.在vc环境下编写下述程序代码,编译调试其语法和逻辑错误,直至得到完全正确的结果。

#include <iostream>using namespace std;int main(){int a,b,c;int max,min;cout<<"请输入三个不等整数:\n";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<<'\n';else if(c<min);cout<<max<<'\t'<<min<<'\t'<<c<<'\n';else ;cout<<max<<'\t'<<c<<'\t'<<min<<'\n';return 0;}语法错误处理:鼠标双击错误信息可跳转到错误源代码位置处,然后进行修改,一个语法错误可能引发系统给出很多条error信息,因此,发现一个错误并修改后最好重新编译一次,以便提高工作效率。

警告错误处理:一般是触发了C/C++的自动规则,如将一个单精度(浮点)型数据赋给整型变量,需要系统将单精度型数据自动转换为整型,此时小数部分会丢失,因而系统给出警告信息,警告信息不会影响程序执行,本例可以通过强制转换去掉警告信息。

连接错误(linking error)产生连接错误的原因可能是缺少所需的库文件或目标文件,或程序中调用的外部函数没有定义等,只要补充相应文档再重新建立即可。

逻辑错误运行程序时,可能发现程序没有编译错误,而且也能执行,但执行结果不对,此时存在的就是逻辑错误。

①编译上述程序,按照上面介绍的方法找出并修改其语法错误。

②语法错误修改完毕后用下列四组数组分别测试其结果,看是否正确,如果不正确,请使用下述调试手段修改。

数据一: 33 60 50数据二: 33 22 10数据三: 88 45 67数据三: 88 45 30调试过程:+首先,在源程序中可能出现错误的行上设置断点,方法是将光标移至该行,然后按F9键,或单击工具栏上的手形按钮(再按一次F9键或单击手形按钮将取消断点),此时该行左侧出现一个红色圆点,断点设置成功,如图1.8就是在A行设置了断点。

然后选择【组建】|【开始调试】|【GO】菜单命令(也可直接单击工具栏上的图标),程序开始执行,但执行到断点处停止,这时选择【查看】|调试窗口|子菜单的Watch 和Variables两个菜单项,打开监视窗口和变量窗口来观察变量的值,分析并查找出错原因。

在Watch窗口加入max和min两个变量,进行监视。

Watch窗口的每一行可以显示一个变量,其中左栏显示变量名,双击它可进行编辑;右栏显示变量的值。

接下来可按F10键从断点位置处单步执行。

通过单步执行(一条一条语句执行)可以看出我们所观察的变量的变化以及程序执行流程是否正确,如果不正确是由哪条语句引起的,因而有针对性的检查错误原因。

例如在本例中,尽管a>b,在执行了if后面的{max=a; min=b; }后,通过单步执行发现仍然执行了else后面的{max=b; min=a; }所以当程序执行到箭头所指位置时,max=45, min=48,如图所示,与预期结果不相符,说明程序的流程有问题。

此时再仔细分析源程序,发现问题在于else后多余的分号。

调试过程中,Variables窗口动态显示各变量值随程序执行而变化的结果。

正确的程序:#include <iostream>using namespace std;int main(){int a,b,c;int max,min;cout<<"请输入三个不等整数:\n";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<<'\n';else if(c<min)cout<<max<<'\t'<<min<<'\t'<<c<<'\n';elsecout<<max<<'\t'<<c<<'\t'<<min<<'\n';return 0;}2.上机编程题1)编写程序,输入一个数,判断其是否是3或7的倍数,可分为4种情况输出。

①是3的倍数,但不是7的倍数。

②不是3的倍数,是7的倍数。

③是3的倍数,也是7的倍数。

④既不是3的被数,也不是7的倍数。

程序原代码。

(直接粘贴在此)#include <iostream>using namespace std;int main (){int a;cin>>a;if (a%7==0&&a%3==0)cout<<"是3的倍数,也是7的倍数"<<endl;else if(a%7==0)cout<<"是7的倍数,但不是3的倍数"<<endl;else if(a%3==0)cout<<"是3的倍数,但不是7的倍数"<<endl;elsecout<<"既不是3的倍数,也不是7的倍数"<<endl;return 0;}解决本题的算法思路描述首先由原题目确定使用if else 语句,然后最终有四种情况的结果,所以需要三个else分支,最终得出程序。

调试过程的记载(包括出现的错误,以及修改过程)未出现错误2)编写程序,输入一门课程的成绩,若高于90分(包括90分),输出“A grade”;若高于80分(包括80分)而低于90分,输出“B grade”;若高于70分(包括70分)而低于80分,输出“C grade ”;若高于60(包括60分)分而低于70分,输出“D grade”;否则输出“Not passed”。

要求:①使用if-else 语句和switch 语句两种方法实现。

②分析if-else 语句和switch 语句的区别,switch 语句特别适合于什么情况使用?Switch语句适用于多分支结构③思考使用switch 语句时应注意什么?加括号和花括号Switch ()后面不能加分号①程序原代码。

(直接粘贴在此)使用if else语句#include <iostream>using namespace std;int main(){int a;cin>>a;if (!(a<90)&&a<=100)cout<<"A grade"<<endl;else if (!(a<80)&&a<90)cout<<"B grade"<<endl;else if(!(a<70)&&a<80)cout<<"C grade"<<endl;else if(!(a<60)&&a<70)cout<<"D grade"<<endl;else if(!(a<0)&&a<60)cout<<"Not passed"<<endl;elsecout<<"请输入正确的分数"<<endl;}使用switch语句#include <iostream>using namespace std;int main(){int a;cin>>a;if (a<=100){switch (a/10){case 10:;case 9:cout<<"A grade"<<endl;break;case 8:cout<<"B grade"<<endl;break;case 7:cout<<"C grade"<<endl;break;case 6:cout<<"D grade"<<endl;break;case 5:case 4:case 3:case 2:case 1:case 0:cout<<"Not passed"<<endl;break;default:cout<<"请输入正确的分数"<<endl;}}elsecout<<"请输入正确的分数"<<endl;return 0;}②解决本题的算法思路描述If else 一共有五种结果,,故有四个分支;Switch 五种结果,六种情况(其中一情况为满分)即可③调试过程的记载(包括出现的错误,以及修改过程)If else语句未出现错误Switch 语句①switch后面需要判断的变量未加括号②switch 后面未加上花括号③switch (a/10)后面误加分号3)编写程序,求一元二次方程ax2+bx+c=0的根。

相关文档
最新文档