return0;
}
3.编程实现功能:
对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码值之差。
例如:
输入的两个字符串分别为abcdefg和abceef,则输出为-1。
思路:
题目要求实现的功能,相当于字符串处理函数strcmp的功能,即:
图4-3字符串比较示意图
使用循环逐个比较两个字符串的每个字符,当字符出现不相等时,跳出循求不相同的两个字符的ASCII码值的差输出。
程序代码如下:
#include
usingnamespacestd;
#include"string.h"
intmain()
{charstr1[80],str2[80],c;inti=0,s;
gets(str1);
gets(str2);
while((str1[i]==str2[i])&&(str1[i]!
='\0'))
i++;
s=str1[i]-str2[i];
cout<
return0;
}
4.编程实现功能:
求二维数组周边元素之和。
思路:
二维数组中的数据可以看成一个二维矩阵,例如下面的二维数组,输出周边元素之和为:
sum=48,用两个并列的for循环实现求累加和。
1234
2345
3456
4567
程序代码如下:
#include
usingnamespacestd;
#include"string.h"
constM=4;
constN=4;
intmain()
{inta[M][N],i,j,sum=0;
for(i=0;ifor(j=0;jcin>>a[i][j];
for(i=0;i{sum+=a[0][i];
sum+=a[M-1][i];
}
for(i=1;i但不包括a[0][0],a[3][0],a[0][3],a[3][3]四个角上的元素*/
{sum+=a[i][0];
sum+=a[i][N-1];
}
cout<<"二维数组周边元素之和为:
"<return0;
}
5.编程求出3阶方阵的两条对角线上元素之和。
程序代码如下:
#include
usingnamespacestd;
intmain()
{intarr[3][3]={0,2,2,3,4,4,5,6,6},a=0,b=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)/*求主对角线上元素和*/
if(i==j)
a=a+arr[i][j];
for(i=0;i<3;i++)/*求次对角线上元素和*/
for(j=2;j>=0;j--)
if(i+j==2)
b=b+arr[i][j];
cout<<"主对角线元素和为:
"<cout<<"次对角线元素和为:
"<
return0;
}
6.编程序求Fibonacci数列的前10项,并按每行3个数的格式输出该数列。
Fibonacci数列的定义为:
1(n=1)
1(n=2)
fn-1+fn-2(n>2)
fn=
程序代码如下:
#include
#include
usingnamespacestd;
intmain()
{inti;
longf[10]={1,1};
for(i=2;i<30;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<10;i++)
{if(i%3==0)cout<<"\n";
cout<}
cout<return0;
}