CH4作业:
1、求一个3×4矩阵中的最大元素。(自己定义二维数组实现)
2、判断用户输入的C风格字符串是否为“回文”。 “回文”是指从左向右读和从右向左读都是一样的字符串,例如12321、madam。(用数组操作实现)
3、按一定的规则可以将一个字符串经过加密转换为一个新的字符串。(用指针操作实现)
加密的简单方法是:当为‘a’~‘y’中的小写字母时,用后一个字母代替前一个字母,例如,‘a’加密后为‘b’,其中‘z’加密后为‘a’;为其他字符时不变。例如:
原字符串: This is a secret code!
加密后的字符串: Tijt jt b tfdsfu dpef!
A1:
#include <iostream>
using namespace std;
int Findmax(int m[3][4])
{
int max = m[0][0];
for(int i=0;i<3;i ++)
{
for(int j=0;j<4;j++)
{
if(m[i][j]>max)
max=m[i][j];
}
}
return max;
}
int main()
{
int a[3][4]=
{
{1,2,3},
{4,5,6},
{7,8,9}
};//二维数组居然是以分号结尾的,天!
cout<<Findmax(a)<<endl;
return 0;
}
A2与A3:
#include <iostream>
#include <string>using namespace std;
bool isRever(string s)
{
int k=s.length();
for(int i=0;i < k/2;i ++)
{
if(s[i]!=s[k-1-i])//注意用数组时反转要从length-1的位置开始!!否则会发生数组越界的情况
return 0;
}
return 1;
}
void Addsecret(char str[])
{
char *p = str;
for(*p;*p!=NULL;*p ++)
{
if((*p)>='a' &&(*p)<='z')
*p = (*p)+1;//注意一定要加括号,因为优先级的关系,不然会默认p+1报错,发生越界
cout<<*p;
}
}
int main()
{
string temp;
cin>>temp;
cout<<isRever(temp);
char buffer[20];
while(cin>>buffer)
{
Addsecret(buffer);
}
return 0;
}
CH5上机作业:
1、根据cos(x)的麦克劳林展开式可求当x<1时x余弦的近似值,展开式如下:
如果取前n项作为累计和的近似值,则第n+1项就是误差项。设计程序求cos(0.3)的近似值,要求误差小于0.0001。
【第1题提示】利用后项与前项的关系逐步推进;注