西安交大C++随堂练习2.docx

上传人:b****6 文档编号:10195024 上传时间:2023-02-09 格式:DOCX 页数:8 大小:163.92KB
下载 相关 举报
西安交大C++随堂练习2.docx_第1页
第1页 / 共8页
西安交大C++随堂练习2.docx_第2页
第2页 / 共8页
西安交大C++随堂练习2.docx_第3页
第3页 / 共8页
西安交大C++随堂练习2.docx_第4页
第4页 / 共8页
西安交大C++随堂练习2.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

西安交大C++随堂练习2.docx

《西安交大C++随堂练习2.docx》由会员分享,可在线阅读,更多相关《西安交大C++随堂练习2.docx(8页珍藏版)》请在冰豆网上搜索。

西安交大C++随堂练习2.docx

西安交大C++随堂练习2

西安交通大学实验报告

一.实验目的

(1)回顾复习前面学到的C++知识;

(2)发掘自我学习中的漏洞,不断完善自己的C++知识;

(3)尽快补上原来落下的知识。

二、实验内容

(-)实验题目一:

编写函数求反正切三角函数值,函数原型:

doublemy_arctg(doublex);反正切三角函数公式如下:

n=0,1,2,......,要求结果值精确到107,并编写主函数测试。

#include

#include

usingnamespacestd;

doublemy_arctg(doublex)

{

doublei=1,y=0;

while(fabs(y-atan(x))>=1.0E-7)

{

y=y+(pow(-1,i-1)*pow(x,2*i-1))/(2*i-1);

i++;

}

returny;

}

intmain()

{

doubles;

cout<<"Pleaseenterx:

";

cin>>s;

doublet=my_arctg(s);

cout<<"我的arctg("<

cout<<"系统的actg("<

cout<<(fabs(t-atan(s))<=1.0E-7?

"计算正确":

"计算错误")<

return0;

}

(二)实验题目二:

编写程序,用一维数组存储N×N整数矩阵,判断矩阵是否为对称矩阵(沿主对角线对称,N大于3)?

先输出该矩阵,然后输出判断结果。

再将次对角线上的N个元素加到主对角线上N个元素,保持矩阵的对称性,并再输出该矩阵。

(可以不用函数方法)

#include

#include

usingnamespacestd;

intmain()

{

inti,j;

inta[4][4]={1,2,3,4,2,5,6,7,3,6,8,9,4,7,9,0};

cout<<"定义的矩阵为:

"<

for(i=0;i<4;i++)

for(j=0;j<4;j++)

if(a[i][j]==a[j][i])

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

cout<

cout<

cout<<"该矩阵是对角矩阵"<

cout<<"次对角线元素加到主对角线元素上后得到的对角矩阵为:

"<

for(i=0;i<4;i++)

a[i][i]=a[i][i]+a[i][3-i];

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

cout<

cout<

return0;

}

(三)实验题目三:

编写函数,判断任意一个字符串是否为对称字符串,例如:

对称字符串为“IaI”、“POP”、“21++12”。

要求编写主函数加以测试。

判断函数原型如下:

intpanduan(charccc[]);

#include

#include

usingnamespacestd;

intpanduan(charstring[])

{

inti;

for(i=0;i

return(string[i]==string[strlen(string)-1-i]);

return0;

}

intmain()

{

charstr[100];

cout<<"请输入一个字符串:

";

cin>>str;

if(panduan(str)==1)

{cout<<"该字符串是对称字符串";}

else

{cout<<"该字符串不是对称字符串";}

cout<

return0;

}

(四)实验题目四:

编写函数:

intcount(intm);该函数完成如下功能:

输入一个整数m,统计并返回m左端连续相同数字的个数。

如:

2220511左端连续相同数字2的个数是3;-923000左端连续相同数字9的个数是1。

编写主程序,测试该函数。

#include

#include

#include

#include

usingnamespacestd;

intcount(intm)

{

vectornum;

intcut=1,temp;

if(m<0)m=-m;

while(m>0)

{

temp=m%10;

m=m/10;

num.push_back(temp);

}

for(inti=num.size()-2;i>=0;i--)

{

if(num[i]==num[i+1])

cut++;

else

break;

}

returncut;

}

intmain()

{

longm;

cout<<"请输入要统计的数字:

";

cin>>m;

cout<

"<

return0;

}

(五)实验题目五:

编写程序:

求1-9999之内所有递减数的平均数,所谓递减数指该数各位数字从左至右递减排列,例如:

4332211、654321、9955、22222222等都是递减数。

例如:

32768、43987、123498都不是递减数。

假设求出递减数是4个,分别是A、B、C、D,则按下面格式输出结果:

(A+B+C+D)/4=结果值

#include

usingnamespacestd;

intk(intn)

{

inta,b,c,d;

a=n/1000;

b=(n/100)%10;

c=(n/10)%10;

d=n%10;

return(a>=b&&b>=c&&c>=d);

}

intmain()

{

intm=0,sum=0;

cout<<"(";

for(intn=1;n<10000;n++)

if(k(n))

{

m++;

cout<

sum=sum+n;

}

cout<<"\b)/"<

return0;

}

 

三、个人小结

本次程序设计主要是对前面的知识进行梳理和巩固,发现和弥补前面的漏洞。

题目综合度较大,颇有点难度!

经过仔细分析和学习回顾,问题大多得到了解决!

具体到第四题,由于对数位确定不了,无法进行数位分离,觉得无从下手。

所以XX了一个程序代码,运行正确,只是看的一知半解,接下来还要请教老师!

第五题输出困难,要不断调试来使输出结果适应!

恩,再接再厉!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1