提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
有关9-15的解答
一、题目
二、代码解答
1.9-12
代码如下(示例):
9.#include<iostream>
using namespace std;
#define N 3
#define M 4
void sum(int a[N][M])
{
int i=0,j=0,sum=0;
for(j=0;j<M;j++)
sum=sum+a[0][j];
for(i=0;i<N;i++)
sum=sum+a[i][0];
for(j=0;j<M;j++)
sum=sum+a[N-1][j];
for(i=0;i<N;i++)
sum=sum+a[i][M-1];
sum=sum-a[0][0]-a[0][M-1]-a[N-1][0]-a[N-1][M-1];
cout<<"该二维数组中周边元素之和为:"<<sum<<endl;
}
int main(void)
{
int a[N][M]={1,2,3,4,5,6,7,8,9,10,11,12};
sum(a);
return 0;
}
10.#include<iostream>
using namespace std;
#define N 5
#define M 5
void sum(int a[N][M])
{
int i=0,j=0,sum=0;
while(i<N)
sum=sum+a[i++][j++];
j--;
i=0;
while(j>=0)
{
sum=sum+a[i][j];
i++;
j--;
}
cout<<"该二维数组两条对角线元素之和为:"<<sum<<endl;
}
int main(void)
{
int a[N][M]={1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,5,6,7,8,9};
sum(a);
return 0;
}
11.#include<iostream>
using namespace std;
#define N 5
#define M 5
void my_strlwr(char a[N])
{
int i;
for(i=0;i<N;i++)
if(a[i]>64&&a[i]<91) a[i]=a[i]+'a'-'A';
for(i=0;i<N;i++)
cout<<a[i]<<'\t';
cout<<endl;
}
int main(void)
{
char a[N]={0};
int i;
for(i=0;i<N;i++)
cin>>a[i];
my_strlwr(a);
return 0;
}
12.#include<iostream>
using namespace std;
void fz(char a[],int n)
{
int i,t;
for(i=0;i<n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
}
int main()
{
int n,i;
char a[30]={0};
cout<<"请您输入字符,注意少于30个"<<endl;
cout<<"请您先输入字符个数"<<endl;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
fz(a,n);
for(i=0;i<n;i++)
cout<<a[i]<<'\t';
cout<<endl;
return 0;
}
2.13-15
代码如下(示例):
13.#include<iostream>
using namespace std;
void pd(char zhu[],char zi[])
{
int i,j,k,s=0;
for(i=0;zhu[i]!='\0';i++)
{
for(j=i,k=0;zhu[j]!='\0'&&zi[k]==zhu[j];j++,k++) ;
if(zi[k]=='\0') s=i+1;
}
if(s!=0) cout<<"恭喜,是子串,初始位置为:"<<s<<endl;
else cout<<"很抱歉,不是子串。"<<endl;
}
int main()
{
int i,n,m;
char a[30]={0},b[30]={0};
cout<<"请您输入主串个数:(注意:不要多于30)"<<endl;
cin>>n;
cout<<"请您输入主串:"<<endl;
for(i=0;i<n;i++)
cin>>a[i];
cout<<"请您输入子串个数:(注意:不要多于30)"<<endl;
cin>>m;
cout<<"请您输入子串:"<<endl;
for(i=0;i<m;i++)
cin>>b[i];
pd(a,b);
return 0;
}
14.#include<iostream>
using namespace std;
#define N 200
void tj(char c[])
{
int i,m=0;
for(i=0;i<N;i++)
{
if(c[i]=='t'||c[i]=='T')
{
if(c[i-1]==' '||i==0||c[i-1]=='\n')
{
if(c[i+1]=='h'||c[i+1]=='H')
{
if(c[i+2]=='e'||c[i+2]=='E')
{
if(c[i+3]==' '||c[i+3]=='\n') m=m+1;
}
}
}
}
}
cout<<"这篇文章中的the的个数为:"<<m<<endl;
}
int main()
{
char c[N]={0};
int i;
for(i=0;i<N;i++)
{
cin.get(c[i]);
if(c[i-1]=='\n'&&c[i]=='\n') break;
}
tj(c);
return 0;
}
15.#include<iostream>
using namespace std;
void xkh(char c[],int n)
{
int i,j=0,m=0;
for(i=0;i<n;i++)
if(c[i]=='(') j++;
for(i=0;i<n;i++)
if(c[i]==')') m++;
if(j==m) cout<<"圆括号匹配。"<<endl;
else cout<<"圆括号不匹配。"<<endl;
}
void zkh(char c[],int n)
{
int i,j=0,m=0;
for(i=0;i<n;i++)
if(c[i]=='[') j++;
for(i=0;i<n;i++)
if(c[i]==']') m++;
if(j==m) cout<<"方括号匹配。"<<endl;
else cout<<"方括号不匹配。"<<endl;
}
void dkh(char c[],int n)
{
int i,j=0,m=0;
for(i=0;i<n;i++)
if(c[i]=='{') j++;
for(i=0;i<n;i++)
if(c[i]=='}') m++;
if(j==m) cout<<"花括号匹配。"<<endl;
else cout<<"花括号不匹配。"<<endl;
}
int main()
{
char c[30];
int i,n;
cout<<"请先输入您要输入的字符个数"<<endl;
cin>>n;
cout<<"请您开始输入字符串"<<endl;
for(i=0;i<n;i++)
cin>>c[i];
xkh(c,n);
zkh(c,n);
dkh(c,n);
return 0;
}