ICPC--1171:加密&1172:矩阵边界和(指针专题)

ICPC--1171: 加密(指针专题)题目描述将一段明文加密 。 加密的规则如下:将每个字符的ascii码的值减去24作为每个字符加密后的值 , 例如'a'的ascii码的值为97 , 那么加密后就变成了73 。 "73"就是'a'的密文 , 例如 , 字符串"abc" , 在加密之后变为"737475" , 最后 , 整个密文再进行翻转 , 得到最终的密文"574737" 。 现在请你编写程序 , 对一段文字加密 。 请定义并使用如下函数: void encrypt(char *plain, char *cipher) { //把原文字符串plain加密后存入字符串cipher }
输入输入一串字符串 , 只包含数字和字母 , 最长为200.
输出输出加密后的字符串 。
样例输入zero12样例输出625278097789提示直接输出密文当然是最简单的方法 , 不过本题要求你将密文存入字符串(以备程序的其它模块使用) 。
代码#include#includeint main(){void encrypt(char *plain, char *cipher);char p[200],c[200];gets(p);encrypt(p,c);return 0;}void encrypt(char *plain, char *cipher){int l;l=strlen(plain);int i;for(i=l-1;i>=0;i--){cipher[i]=plain[i]-24;printf("%d%d",cipher[i]%10,cipher[i]/10);}printf("\n");}ICPC--1172: 矩阵边界和(指针专题)题目描述给定一个m行n列的二维矩阵 , 求其四周边元素和 。 1<=m、n<=100000 , 可能是1行100000列 , 也可能是10000行50列 , 但保证矩阵元素不多于500000 。 你可能不能预定义数组的大小了 , 你要学会使用动态内存分配哦 。 你可以动态申请mn个内存单元 , 然后用一维数组来存储二维数组 , 二维数组元素ai对应一维数组a[in+j] , i、j均从0开始 。
输入输入第一行是m和n , 然后是一个m行n列的矩阵 。
输出【ICPC--1171:加密&1172:矩阵边界和(指针专题)】输出一个整数 , 表示矩阵所有边界元素的和 。
样例输入3 41 2 3 4 5 6 7 8 9 5 4 6 样例输出47代码#include#include#include int main(){intm, n;int ret = 0;int *buf;scanf("%d%d",buf = (int*)malloc(m*n*sizeof(int));//此时的内存大小是 m*n ,相当于把二维数组展开for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){scanf("%d",//n是列大小 , 利用偏移量来找到每一个元素}}for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){if (i==0||j==0||i==m-1||j==n-1){ret += buf[i*n+j];}}}printf("%d\n",ret);free(buf);//只需要释放一个一级指针}