北京科技大学C++上机作业答案
北京科技大学C++上机作业答案

特别注意事项:仅供参考1,文件名“40862533_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“40862533_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。
程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。
实验1_1/***********************************程序功能: 输出一个字符串***********************************/#include "stdafx.h"#include<iostream>using namespace std;void main(){cout<<"This is a C++ program.\n";}程序说明:该程序由一个main函数构成,main函数中的语句cout是一个函数调用语句,其基本功能是实现标准的输出。
实验1_2/***********************************程序功能:比较两个数字大小***********************************/#include "stdafx.h"#include <iostream>using namespace std;int max(int,int);//定义main函数void main(){int a,b,c;cout<<"input two number"<<endl;cin>>a>>b;c=max(a,b);cout<<"max="<<c<<endl;}int max(int x,int y)//输入xy 两个参数{int z;if(x>y) z=x;else z=y;//简单的if else语句,通过这语句,将xy中较大的赋给zreturn(z);}程序说明:先是输入两个数字,比较大小,并输出。
C++上机课题及部分答案(2021年整理精品文档)

(完整版)C++上机课题及部分答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)C++上机课题及部分答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)C++上机课题及部分答案的全部内容。
上机考试题(1)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name [8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。
定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。
在主函数中用Score类定义学生成绩对象数组s[3]。
用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。
实验数据:No Name Math Phi Data Ave1001 Zhou 80 70 601002 Chen 90 80 851003 Wang 70 75 89(2)建立一个存放素数的类Prime,具体要求如下。
①私有数据成员。
int a[25]:存放指定范围内的所有素数。
int n1,n2:存放指定范围的下限和上限int num:存放素数的个数。
②公有成员函数Prime(int m1,int m2):构造函数,用参数m1、m2初始化n1、n2,同时初始化num.void primef():求指定范围内的所有素数,把它们依次存放在数组a中。
并将求出的素数个数赋给num。
void show():显示求出的素数的个数及所有的素数,每行输出5个素数。
C++程序设计实践_北京科技大学中国大学mooc课后章节答案期末考试题库2023年

C++程序设计实践_北京科技大学中国大学mooc课后章节答案期末考试题库2023年1.Raptor流程通过拖动顺序、选择、循环、赋值等流程图框进行算法描述,能够根据输入数据得到运行结果吗?答案:可以,只要raptor流程图正确描述了算法,九能够根据输入执行得到正确结果2.Hanoi塔问题,现要求将塔座A上的所有圆盘移到塔座B上,并仍按同样顺序叠置,移动圆盘时遵守Hanoi塔问题的移动规则,由此设计出解Hanoi塔问题的递归算法正确的是()答案:void Hanoi(int n, int A,int B,int C){ if(n>0){ Hanoi (n-1,A,C,B);Move(n,a,b); Hanoi(n-1,C,B,A);} }3.在寻找n个元素中第k小元素问题中,如快速排序算法思想,运用分治算法对n个元素进行划分,如何选择划分基准?下面()答案解释最合理。
答案:以上皆可行,但不同方法,算法复杂度上界可能不同4.使用分治法求解不需要满足的条件是( )。
答案:子问题必须是一样的5.实现合并排序利用的算法是( )答案:分治策略6.求递归次数,请问当调用f(10)时, f() 被调用()次?int f(int x) { if(x <= 2) return1; returnf(x - 2) + f(x -4) + 1; }答案:157.设计模式一般用来解决什么样的问题( )答案:同一问题的不同表相8.关于继承表述错误的是:()答案:继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
9.应用设计模式的一个优点是【】。
答案:适应需求变化10.某公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。
基于上述需求,采用【】最为合适。
答案:责任链模式11.已知int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, *p = a;,不能表示数组a中元素的式子是()。
c语言上机实验题及参考答案

5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}
C 上机题目及答案1

第一周上机题1.以下语句描述了包含数学成绩的学生信息结构体及其数组a:struct student{ char name[20]; float math; };student a[10] = {{"张三", 90},{"李四",85},{"王五",73}};int count=3; // 数组中包含的学生数编写两个函数分别实现在a数组中添加和删除学生信息。
要求:1) 原数组已按数学成绩排序(降序),添加和删除学生信息后数组应仍为降序;2)以下数据用于添加:{"赵二", 96}, {"钱六",65},{"孙七",80}3) 注意:添加,删除后count数据要相应变化。
#include<iostream.h>#include<string.h>struct student{char name[20];float math;};int count=3;void add(student a[10]);void dele(student a[10]);void print(student a[]);void main(){student a[10] = {{"张三", 90},{"李四",85},{"王五",73}};int n=0;do{cout<<".................学生信息处理系统.................."<<"\n 1-删除"<<"\n 2-增加"<<"\n 3-结束\n"<<"\n请选择: ";cin>>n;if(n==1) dele(a);else if(n==2) add(a) ;else cout<<"谢谢使用本系统!\n";}while(n!=3);}void add(student a[10]){student stu;int i=0,n=count;cout<<"请输入需增加的学生信息(姓名,成绩): ";cin>>>>stu.math;while(stu.math<a[i].math && i<n) i++;//找插入的位置for(;n>i;n--) a[n]=a[n-1]; //腾位置a[i]=stu; //插入count++;print(a);}void dele(student a[10]){char name[20];int i=0,n=count;print(a);cout<<"请输入需删除学生的姓名: ";cin>>name;while(strcmp(name,a[i].name)!=0 && i<n) i++;//找人if(i>=n) cout<<"查无此人!\n";else {for(;i<n-1;i++) a[i]=a[i+1]; //删除count--;print(a);}}void print(student a[]){cout<<"\n最新学生信息: \n";for(int i=0;i<count;i++)cout<<a[i].name<<'\t'<<a[i].math<<'\n';}2.定义描述三维坐标点(x,y,z)的结构体类型变量,完成坐标点的输入和输出,并求两坐标点之间的距离。
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章C语言概述1-1编写程序,在屏幕上显示一个如下输出:---------------------------------Programming in C is fun!I love C language.---------------------------------Program#includemain(){ printf("---------------------------------\n");printf("Programming in C is fun!\n");printf("I love C language.\n");printf("---------------------------------\n");}1-2编写程序,在屏幕上显示一个如下图案:* * * ** * ** **Program (1)#includemain(){ printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n ");}Program (2)#includemain(){ printf("%c%4c%4c%4c\n", '*', '*', '*', '*');printf("%3c%4c%4c\n", '*', '*', '*');printf("%5c%4c\n", '*', '*');printf("%7c\n ", '*');}1-3已知某个圆的半径,编写一个程序,用来计算并显示面积。
C语言程序设计 上机实验指导与习题 参考答案(第四版)

C 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C程序。
(3)通过运行简单的 C 程序,初步了解 C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。
includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
,则该题完成。
4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
特别注意事项:仅供参考1,文件名“40862533_王小小_数学0801_实验1.doc”中的实验1指的是第几次上机实验,与“实验指导书”中的实验几没有关系;2,文件名“40862533_王小小_数学0801_实验1.doc”中的doc是文件扩展名,请注意不要提交如“*******.doc.doc”的文件;3,上机实验作业一律以word形式提交;4,若上机实验有多个作业,请按照下列加粗方式给每个作业命名,如:实验1_1,实验1_25,实验作业的word文件的页眉不可少,请每次注意修改;6,每个实验作业均要给出比较详细的程序说明,且程序说明位于程序之后。
程序说明是特别重点考察的部分,请按照你的理解进行撰写;7,该部分“特别注意事项”可以随同作业一并提交,请提交作业前进行对照。
实验1_1/***********************************程序功能: 输出一个字符串***********************************/#include "stdafx.h"#include<iostream>using namespace std;void main(){cout<<"This is a C++ program.\n";}程序说明:该程序由一个main函数构成,main函数中的语句cout是一个函数调用语句,其基本功能是实现标准的输出。
实验1_2/***********************************程序功能:比较两个数字大小***********************************/#include "stdafx.h"#include <iostream>using namespace std;int max(int,int);//定义main函数void main(){int a,b,c;cout<<"input two number"<<endl;cin>>a>>b;c=max(a,b);cout<<"max="<<c<<endl;}int max(int x,int y)//输入xy 两个参数{int z;if(x>y) z=x;else z=y;//简单的if else语句,通过这语句,将xy中较大的赋给zreturn(z);}程序说明:先是输入两个数字,比较大小,并输出。
注意要定义两个main函数,一起使用,才能起作用试验2_1/****************使用sizeof***************/#include <iostream>using namespace std;void main(){cout<<"char:"<<sizeof(char)<<"字节\n";cout<<"short:"<<sizeof(short)<<"字节\n";cout<<"int:"<<sizeof(int)<<"字节\n";cout<<"long:"<<sizeof(long)<<"字节\n";cout<<"float:"<<sizeof(float)<<"字节\n";cout<<"double:"<<sizeof(double)<<"字节\n";}程序说明:用sizeof这一操作符,用以确定某种数据类型的长度。
实验2_2_1/*************************了解++及++的功能,并会使用***************************/#include <iostream>using namespace std;void main(){int x=6,y;//先对x,y赋值y=++x;cout<<"x="<<x<<"y="<<y<<endl;x=6;y=x++;cout<<"x="<<x<<"y="<<y<<endl;x=6,y=x--;cout<<"x="<<x<<"y="<<y<<endl;x=6,y=--x;//不断变换各种算法cout<<"x="<<x<<"y="<<y<<endl;}程序说明:该程序以对++和--运算为主。
注意使自身先加一,还是先输出实验2_2_2/**********************主要是对+=,-=,*=,/=,%=的应用**********************/#include <iostream>using namespace std;void main(){int a=20,b=6;//定义整型a,ba=20,a-= a; cout<<a<<endl;a=20,a*=a; cout<<a<<endl;a=20,a/=b; cout<<a<<endl;a=20,a%=b; cout<<a<<endl;a=20,a=a-b; cout<<a<<endl;a=10;b=4;a+=a*=a-=a/b;// 注意a的值在不断变化cout<<a<<endl;}程序说明:该程序考察*=等符号的用法,注意其优先级比较低,且都是a*=b都是表示a=a*b试验2_2_3/****************使用各种逻辑运算符*****************/#include <iostream>using namespace std;void main(){int a=3,b=4,c=5,x,y;//先对其赋值x=(a+b>c&&b==c);cout<<x<<endl;x=(a||b+c&&b-c);//两个逻辑运算符同时出现,从左向右计算cout<<x<<endl;x=(a>b&&!c||1);//逻辑非的优先级很高cout<<x<<endl;x=(!(a+b)+c-1&&b+c/2);cout<<x<<endl;!(x=a)&&(y==b)&&0;//短路效应,&&之前的值为1,后面的不计算,Y为随机数cout<<"x="<<x<<"y="<<y<<endl;}程序说明:使用逻辑运算符注意运算的优先级,及短路实验2_2_4/***************使用?:运算符***************/#include <iostream>using namespace std;void main(){int a=3,b=4,c=5,max;max=(a>b)?a:b;//a>b不成立,所以选:以后的值cout<<max<<endl;max=b>c?a:a<c?a:b;//结合性是右到左cout<<"max="<<max<<endl;}程序说明:用此程序会用?:实验2_3/***************摄氏温度与华氏温度的转换***************/#include <iostream>using namespace std;void main(){cout<<"华氏温度F=";double F,C;//定义数据类型cin>>F;//输入温度C=(5.0/9)*(F-32);cout<<"摄氏温度C="<<C<<endl;}程序说明:学会输入输出流,及简单运算。
试验3_1/**********************实现用do-while语句编程求出自然数1到100之和**********************/#include <iostream>using namespace std;void main(){int i(1),sum(0);//定义两个整型变量,也可用int i=1的形式do{sum+=i;i++;}while(i<=100);//在i<=100时再次进行循环,直到括号中为false.cout<<"sum="<<sum<<endl;}程序说明:使用do-while 语句,先执行do后的语句,再在while中进行判断,为true 则再进行循环,为false 则跳出循环实验3_2/**********************实现用for语句编程求出自然数1到100之和**********************/#include <iostream>using namespace std;void main(){int sum(0),i;//定义i及sum为整型for(i=1;i<=100;i++)//有三个语句,用;隔开sum+=i;//每循环一次,sum加一个自然数cout<<"sum="<<sum<<endl;//最后输出和}程序说明:用for语句只要注意三条语句之间的关系即可.是先运行第一条语句,再运行第二条,然后是循环体,接着是第三条,再进行第二条,如此循环.直至第二条不满足.注意起始值和最终值容易出错.实验3_3/**********************使用switch语句进行选择**********************/#include <iostream>using namespace std;void main(){cout<<"请选择图形的类型:1,圆;2,长方形;3,正方形"<<endl;//用数字方便 int a;cin>>a;switch(a)//注意形式{case 1:cout<<"请输入圆的半径:"<<endl;//再次输入计算周长的条件float r,l;cin>>r;cout<<"圆的周长是"<<3.1416*2*r<<endl;break;case 2:cout<<"请输入长方形的长和宽:"<<endl;float a,b;cin>>a>>b;cout<<"长方形的周长"<<a*2.0+2.0*b<<endl;break;case 3:cout<<"请输入正方形的边长:"<<endl;float c;cin>>c;cout<<"正方形的周长是"<<c*4.0<<endl;break;default://不可少,可能输入错误,如开始输入4等cout<<"输入错误"<<endl;}}使用说明:形式为switch(表达式){case 1:语句;break;}.要有break语句和default语句.实验3 _5/**********************将一个三位数逐位颠倒**********************/#include <iostream>using namespace std;void main(){cout<<"请输入一个三位数"<<endl;int a,x,y,z;cin>>a;x=a/100;//求出三位数的百位数y=(a-x*100)/10;//求出三位数的十位数z=a-100*x-10*y;//求出三位数的个位数cout<<z<<y<<x<<endl;//输出顺序颠倒}程序说明:注意分离出一个三位数分离成三个数的方法,即除100,10.试验4_1_1/****************求两个正整数的最大公约数和最小公倍数*****************/#include<iostream>using namespace std;int m;int n;void fun1(int a,int b)//定义函数,求最大公约数{int i;for(i=a;i>=1;i--)if(a%i==0&&b%i==0)break;m=i;}void fun2(int a,int b)//定义函数,求最小公倍数{int i;for(i=a;i>=1;i--)if(a%i==0&&b%i==0)break;n=a*b/i;}void main()//开始用主函数{cout<<"input two numbers"<<endl;int x,y;cin>>x>>y;fun1(x,y);//调用1fun2(x,y);//调用2cout<<"最大公约数是"<<m<<endl;cout<<"最小公倍数是"<<n<<endl;}实验4_1_2#include<iostream>using namespace std;int fun(int a,int b){int i;int m;for(i=a;i>=1;i--)if(a%i==0&&b%i==0)break;m=i;return m;}int funa(int a,int b){int i;int n;for(i=a;i>=1;i--)if(a%i==0&&b%i==0)break;n=a*b/i;return n;}void main(){int x,y,m,n;cin>>x>>y;cout<<"最大公约数是:"<<fun(x,y)<<endl;cout<<"最小公倍数是:"<<funa(x,y)<<endl;}实验4_2/************************编写重载函数Maxl分别求两个整数,三个整数,两个双精度数,三个双精度数的最大值************************/#include<iostream>using namespace std;int max(int x,int y )//调入两个整数{return x>y?x:y;}int max(int x,int y,int z )//调入三个整数{int t;t=x>y?x:y;t=z>t?z:t;return t;}double max(double x,double y)//调入两个双精度数{return x>y?x:y;}double max(double x ,double y, double z)//调入三个双精度数{double t;t=x>y?x:y;t=z>t?z:t;return t;}//注意再定义tvoid main(){int a1,a2;cout<<"请输入两个整数"<<endl;cin>>a1>>a2;cout<<max(a1,a2)<<endl;int b1,b2,b3;cout<<"请输入三个整数"<<endl;cin>>b1>>b2>>b3;cout<<max(b1,b2,b3)<<endl;double c1,c2;cout<<"请输入两个双精度数"<<endl;cin>>c1>>c2;cout<<max(c1,c2)<<endl;double d1,d2,d3;cout<<"请输入三个双精度数"<<endl;cin>>d1>>d2>>d3;cout<<max(d1,d2,d3);}实验4_3/*******************十进制转化为二进制和十六进制*****************/#include<iostream>#include<cmath>using namespace std;int fun(int x){int a,b,c,d,e,f,g,h,m;a=x/pow(2,7);b=(x-a*pow(2,7))/pow(2,6);c=(x-a*pow(2,7)-b*pow(2,6))/pow(2,5);d=(x-a*pow(2,7)-b*pow(2,6)-c*pow(2,5))/pow(2,4);e=(x-a*pow(2,7)-b*pow(2,6)-c*pow(2,5)-d*pow(2,4))/pow(2,3);f=(x-a*pow(2,7)-b*pow(2,6)-c*pow(2,5)-d*pow(2,4)-e*pow(2,3))/pow(2,2);g=(x-a*pow(2,7)-b*pow(2,6)-c*pow(2,5)-d*pow(2,4)-e*pow(2,3)-f*pow(2,2))/pow (2,1);h=(x-a*pow(2,7)-b*pow(2,6)-c*pow(2,5)-d*pow(2,4)-e*pow(2,3)-f*pow(2,2)-g*po w(2,1))/pow(2,0);m=a*pow(10,7)+b*pow(10,6)+c*pow(10,5)+d*pow(10,4)+e*pow(10,3)+f*pow(10,2)+g*pow (10,1)+h;return m;}void main(){int p,x;cout<<"请输入一个十进制数:"<<endl;cin>>x;p=fun(x);cout<<p<<endl;}实验4_4/***************使用系统函数sin(x)**************/#include<iostream>#include<cmath>//使用数学库函数using namespace std;void main(){double x,y;cin>>x;y=sin(x);//函数调用cout<<y<<endl;}试验5_1/*******************把一个数组中的10个数按从小到大顺序排列*******************/#include <iostream>using namespace std;void main(){int shuzu[10];//定义数组,注意格式,且中括号内为正整数cout<<"enter ten numbers\n";for(int i=0;i<10;i++)cin>>shuzu[i];//用for循环输入这个数组for (int j=0;j<10;j++)//这是外循环,将较小的数放在前面{ for (int i=j+1;i<10;i++)//内循环将这个数与后面的挨个比较{if (shuzu[j]<shuzu[i])shuzu[j]=shuzu[j];else//如果前面的数比后面大,则二者交换{int p=1;p=shuzu[j];shuzu[j]=shuzu[i];shuzu[i]=p;}}}cout<<"顺序从小到大"<<endl;for (int k=0;k<10;k++)cout<<shuzu[k]<<endl;//和输入一样,要用for循环,不可直接cout<<shuzu[k];}试验说明:这是数组的初步使用,注意数组的输入和输出都要用for循环,其次要使用选择排序法,外循环每进行一次就把最小的前放,也可用冒泡排序法,具体如下:#include <iostream>using namespace std;void main(){int shuzu[10];//定义数组,注意格式,且中括号内为正整数cout<<"enter ten numbers\n";for(int i=0;i<10;i++)cin>>shuzu[i];//用for循环输入这个数组for (int j=0;j<10;j++)//这是外循环{ for (int i=0;i<9;i++)//内循环将相邻的数比较{if (shuzu[i]<shuzu[i+1])shuzu[i]=shuzu[i];else//如果前面的数比后面大,则二者交换{int p=1;p=shuzu[i];shuzu[i]=shuzu[i+1];shuzu[i+1]=p;}}}cout<<"顺序从小到大"<<endl;for (int k=0;k<10;k++)cout<<shuzu[k]<<endl;//和输入一样,要用for循环,不可直接cout<<shuzu[k];}实验5_2/********************实现两个字符串的连接********************/#include <iostream>using namespace std;void main(){char a[100];char b[100];//定义两个数组,尽量大一些cout<<"输入第一个字符串"<<endl;cin>>a;cout<<"输入第二个字符串"<<endl;cin>>b;for(int i=strlen(a),j=0;i<strlen(a)+strlen(b);i++,j++)a[i]=b[j];//将b的组成赋到a后面for(int k=0;k<strlen(a);k++)cout<<a[k];//输出结果cout<<endl;}使用说明:要将两个字符串连接起来,不能直接在第一个后输出第二个,而是通过赋值将b中的字符挨个赋到a后面,实现字符串的连接。