3.编程实现:
在计算机的提示下输入某学生的学号、英语成绩、高等数学成绩、线性代数成绩,计算得出三门课程平均成绩,并按如下格式输出显示。
成绩单
学号20100002
****************************************
科目成绩
-----------------------------------------------------------------
英语85
高等数学90
线性代数88.5
****************************************
平均成绩87.8
源程序:
#include
#include"iomanip"
usingnamespacestd;
intmain()
{floata,score1,score2,score3,average;
cout<<"20131054"<cout<<"请输入三门课程的考试成绩:
"<cin>>score1>>score2>>score3;
average=(score1+score2+score3)/3;/*计算平均分*/
cout<<"成绩单"<cout<<"学号";
cin>>setw(6)>>a;
cout<<"***************************"<cout<<"科目"<cout<<"-------------------------------"<cout<<"英语"<cout<<"高等数学"<cout<<"线性代数"<cout<<"***************************"<cout<cout.precision
(1);/*确定精度*/
cout<<"平均成绩:
"<}
实验__3__实验报告
一、实验目的
1.掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行”的编程思路和方法;
2.掌握简单分支程序设计,以及if和if-else语句的使用方法。
二、实验任务
1.已知一函数
,输入x的值,求解并输出相应的y值。
2.求一元二次方程ax2+bx+c=0的根,其中a、b、c为实数,由键盘输入。
三、实验结果(源程序+注释)
1.源代码及运行结果:
#include
usingnamespacestd;
voidmain()
{doublex,y;//定义变量
cout<<"20131054"<while
(1)//不断进行运算
{cout<<"请输入x的值:
";
cin>>x;
if(x<1)
y=x;//x<10
else
if(x<10)
y=2*x-1;//1≤x<10
else
y=3*x-11;//x≥10
cout<<"y的值为:
"<2.源代码及运行结果:
#include
#include"math.h"
usingnamespacestd;
voidmain()
{floata,b,c,t,del,tw,term1,term2;
cout<<"20131054"<cout<<"请输入a、b、c的值:
"<cin>>a>>b>>c;
if(a==0)
if(b==0)
cout<<"该方程无根!
"<else
cout<<"该一元二次方程的单根为:
"<else
{del=b*b-4*a*c;//求del
tw=2*a;//代表被除数
t=abs(del);//取del的绝对值
term1=-b/tw;//根的前半部分
term2=sqrt(t)/tw;//根的后半部分
if(del<0)//del为负,有复数根
cout<<"该一元二次方程的复数根(两个)的实部和虚部分别为:
"<else
cout<<"该一元二次方程的两个实数根分别为:
"<}
实验__4__实验报告
一、实验目的
1.掌握多路分支结构的程序设计,以及switch语句的使用方法;
2.学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化情况。
二、实验任务
1.模拟二人猜拳游戏:
剪刀石头布。
要求:
(1)给出选项菜单如下
**********新一局************
1.出剪子
2.出石头
3.出布
*******************************
请输入选择的数字:
根据两个用户输入给出猜拳“战况”。
2.键盘输入一个数,判定:
能不能被3、5和7整除,并如果失败输出失败的具体原因。
3.输入某年某月某日,判断这一天是这一年的第几天。
三、实验结果(源程序+注释)
1.源程序:
#include
usingnamespacestd;
voidmain()
{inta,b;/*定义甲乙出拳情况*/
cout<<"20131054"<while
(1)/*使游戏可以循环进行*/
{cout<<"**********新一局************"<cout<<"1.出剪子"<cout<<"****************************"<cout<<"请甲出拳:
"<cin>>a;
switch(a)
{case0:
cout<<"游戏已经结束!
"<break;
case1:
{cout<<"请乙出拳:
"<cin>>b;
for(;b!
=1&&b!
=2&&b!
=3;)
{cout<<"乙出拳无效!
"<cout<<"请乙再次出拳:
"<cin>>b;}
if(b==1)
cout<<"甲乙出拳相同,游戏重新开始!
"<elseif(b==2)
cout<<"乙赢了!
"<elseif(b==3)
cout<<"甲赢了!
"<case2:
{cout<<"请乙出拳:
"<cin>>b;
for(;b!
=1&&b!
=2&&b!
=3;)
{cout<<"乙出拳无效!
"<cout<<"请乙再次出拳:
"<cin>>b;}
if(b==1)
cout<<"甲赢了!
"<elseif(b==2)
cout<<"甲乙出拳相同,游戏重新开始!
"<elseif(b==3)
cout<<"乙赢了!
"<case3:
{cout<<"请乙出拳:
"<cin>>b;
for(;b!
=1&&b!
=2&&b!
=3;)
{cout<<"乙出拳无效!
"<cout<<"请乙再次出拳:
"<cin>>b;}
if(b==1)
cout<<"乙赢了!
"<elseif(b==2)
cout<<"甲赢了!
"<elseif(b==3)
cout<<"甲乙出拳相同,游戏重新开始!
"<default:
cout<<"甲出拳无效,请甲再次出拳!
"<
2.源程序:
#include
usingnamespacestd;
voidmain()
{inta;
cout<<"20131054"<while
(1)/*使程序一直运行,更易于显示*/
{cout<<"请输入一个整数:
"<cin>>a;
if(a%3==0)/*此时a能被3整除*/
{
if(a%5==0||a%7==0)/*a能被5或7整除*/
{
if(a%5==0&&a%7==0)/*a能被5和7整除*/
cout<<"a能被3,5,7整除!
"<elseif(a%5==0)/*a能被5整除*/
cout<<"a能被3,5整除,但不能被7整除!
"<else
cout<<"a能被3,7整除,但不能被5整除!
"<}
else
cout<<"a能被3整除,但不能被5和7整除!
"<}
else
if(a%5==0||a%7==0)/*a能被5或7整除*/
{if(a%5==0&&a%7==0)/*a能被5和7整除*/
cout<<"a能被5,7整除,但不能被3整除!
"<elseif(a%5==0)/*a能被5整除*/
cout<<"a能被5整除,但不能被3和7整除!
"<else
cout<<"a能被7整除,但不能被3和5整除!
"<}
else
cout<<"a不能被3,5,7整除!
"<}
3.源程序:
#include
usingnamespacestd;
voidmain()
{intday,month,year,sum,leap;
cout<<"20131054"<cout<<"请输入某年某月某日:
"<cin>>year>>month>>day;
switch(month)/*先计算某月以前月份的总天数*/
{case1:
sum=0;break;
case2:
sum=31;break;
case3:
sum=59;break;
case4:
sum=90;break;
case5:
sum=120;break;
case6:
sum=151;break;
case7:
sum=181;break;
case8:
sum=212;break;
case9:
sum=243;break;
case10:
sum=273;break;
case11:
sum=304;break;
case12:
sum=334;break;
default:
cout<<"输入数据错误!
"<sum=sum+day;/*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!
=0))/*判断year年是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2)/*如果是闰年且月份大于等于2,总天数应该加一天*/
sum++;
cout<<"这是"<"<实验__5__实验报告
一、实验目的
1.理解“处理某一或某些操作需要被有条件地重复执行”的编程思路和方法;
2.掌握循环结构的程序设计,以及while、do-while和for循环语句的使用方法。
二、实验任务
1.一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个,求N的值。
2.将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
3.编程实现十进制整数和八进制整数之间的转换(即将10进制数转换为8进制数,或将8进制数转换为10进制数)。
(提示:
在程序中计算xy,可采用教材p233的pow(x,y),以及文件包含命令#include)
三、实验结果(源程序+注释)
1.源程序:
#include
usingnamespacestd;
voidmain()
{inttotal=1,i=10,day=10;/*赋初值*/
cout<<"20131054"<for(i=10;i>0;i--)
{cout<<"第"<"<total=(total+1)*2;/*通项公式*/
day--;}}
2.源程序:
#include
usingnamespacestd;
voidmain()
{intnum,i;
cout<<"20131054"<while
(1)
{cout<<"请输入一个要分解质因数的正整数:
"<cin>>num;
cout<i=2;
while(num!
=i)/*如果倒数两个质因数相同,能保证最后一个输出因数不为"1"*/
{if(num%i==0)/*因式分解:
从2到num检查,看看是不是所求质因数*/
{cout<
num/=i;}
else
i++;}
cout<3.源程序:
①十进制转换为八进制
#include
#include
usingnamespacestd;
voidmain()
{cout<<"20131054"<while
(1)/*保证可以进行多次运算*/
{intm=0,x=0,n=1;/*每次都要赋初值,防止上一个m对下一个运算起干扰作用*/
cout<<"请输入一个十进制整数:
"<cin>>x;
while(x>0)
{m+=x%8*n;/*将所要求的八进制整数显示出来*/
x=x/8;/*将十进制整数除8取余*/
n=n*10;}
cout<<"则对应的八进制整数为:
"<②八进制转换为十进制
#include
#include
usingnamespacestd;
voidmain()
{cout<<"20131054"<while
(1)
{inti=0,m=0,x=0,n=1;/*赋初值*/
cout<<"请输入一个八进制整数:
";
cin>>x;
while(x>0)/*控制位数*/
{m=m+(x%10)*pow(8.0,i);/*主要计算公式*/
x=x/10;
i=i+1;}/*计数*/
cout<<"则对应的十进制整数为:
"<实验__6__实验报告
一、实验目的
1.掌握循环与选择结构的嵌套的使用方法;
2.掌握嵌套循环的使用方法。
二、实验任务
1.计算多项式
前n项的和。
截止到最后一项的值与1的差小于0.02。
2.求1-1000中能被3整除,且不能被7整除,且至少有一位数是5的整数。
3.用循环结构语句编程并输出下图,其行数和每行的数据个数由键盘给出。
例如:
键盘输入:
5和8,则运行结果如下
三、实验结果(源程序+注释)
1.源程序:
①全部显示:
#include
usingnamespacestd;
voidmain()
{cout<<"20131054"<doubles,sum=0,n=1;/*定义变量,赋初值*/
do
{s=n*(n+2)/((n+1)*(n+3));
su