1、输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。
//输出字符串#include#include void main(){ int i,n; char a[]="abcABCD"; //定义数组字符 char c1[10],*p,*q; p=a; q=c1; scanf("%d",&n); if(strlen(a)>=n) p+=n-1; for(;*p!='\0';p++,q++) *q=*p; *q='\0'; printf("string a:%s\n",a); printf("string c1:%s\n",c1);}
2、为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:小写字母z变换成为a,其它字符变换成为该字符ASCII码顺序后1位的字符,比如o变换为p。
//密码变换问题#include#include #define MAXLINE 100void encrypt(char*);int main(void){ char s[MAXLINE]; printf("Input the string:"); gets(s); encrypt(s); printf("%s%s\n","After being encrypted:",s); return 0;}void encrypt(char*s){ for(;*s!='\0';s++) if(*s=='z') *s='a'; else *s=*s+1;}
3、请编一个程序,可以将英语规则名词由单数变成复数。已知规则如下:(a)以辅音字母y结尾,则将y改成i,再加es;(b)以s、x、ch、sh结尾,则加es;(c)以元音字母o结尾,则加es;(d)其他情况直接加s。要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。
4、有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。
//循环,输出留下来的人的编号#includemain(void){ int a[30],index; int n,i,j,*p; printf("Input n:"); //输出退圈子报的数字 scanf("%d",&n); //循环开始 for(i=0;i