10)求一个3×4矩阵中的最大元素,将求矩阵中最大元素的过程定义为一个函数。函数的第一个参数是矩阵本身,第二个参数是第一维的大小。这种方法的优点是使函数具有通用性,即无论一个矩阵的第一维是多大,只要该矩阵的第二维是4个元素,都可以用该函数求最大元素
也可以用该函数求一个矩阵开始几行中的最大元素。
#include
using namespace std;
int max_value(int array[][4],int k);
void main()
{
int a[3][4]={{1,3,6,7},{2,4,6,8},{15,17,34,12}};
cout<<max_value(a,3)<<'\n';
}
int max_value(int array[][4],int n)
{
int i,j,max=array[0][0];
for(i=0;i<n;i++)
for(j=0;j<4;j++)
if(array[i][j]>max)
max=array[i][j];
return(max);
}
要求读懂上述程序段,分别改用二级指针和一级指针完成。
(11)判断用户输入的字符串是否为“回文”,所谓“回文”是指滤去所有非字母字符(包括空格)后,不考虑字母的大小写,顺读和反读都一样的串,例如字符串“12321”、“madam” “Mamam, I’m adam”“Golf, No Sir, prefer prison flog!”都是回文。编写程序,判断输入的字符串是否为回文。
(12)分别编写实现下列字符串处理的函数:
① char * trim(char *s)
此函数的功能是删除字符串s的尾部空格
② char *leftstring(char *s1, char *s2, int n)
此函数的功能是得到指定字符串s1中前n个字符的子串s2
③ int index(char *s1, char *s2)
此函数的功能是检查字符串s2是否为字符串s1的子串,根据查找结果返回s2在s1中的开始位置,不成功返回-1。
(13)使用递归和非递归两种方法编写函数itoa(int n, char s[], int b),将整数n转换为以b为基(例如以16为基的十六进制)的数字字符串。
(14)按一定的规则可以将一个字符串经加密转换为一个新的串,例如加密的简单方法是当字符为’a’~’y’的小写字母时用后一个字母代替前一个字母,例’z’变换为’a’,为其它字符时不变。例如:
原串为:This is a secret code!
加密后串为:Tijt jt b tfdsfu dpef!
编写一个程序对输入串加密,输出加密前和加密后的串,再将加密后的字符串解密输出。
自己另设计一个带密钥的加密算法,例如密钥是一个常数,字符串加密的方法是将每个字符的ASII码值加上该常数,然后对128求模。编写程序,以密钥将输入的字符串加密输出,再以相同的密钥,将加密字符串解密输出。
--------------------next---------------------
阅读(1322) | 评论(0) | 转发(0) |