#include <iostream> using namespace std; void func(int *p, int n, int k); void main() { int a[]={1,2,3,4,5}; int i; func(a,5,2); for(i=0;i<5;i++) cout<<a[i]<<" "; cout<<endl; } void func(int *p ,int n, int k) { int temp; int i; k=k%n; //n是总长度,k是移位位数,实际移位k%n if(k>=0)//右移 { while(k) { temp=p[n-1]; for(i=n-1;i>0;i--) p[i]=p[i-1]; p[0]=temp; k--; //临时数组存放最后一个数据,然后依次后移,k--; } } else if(k<0) { k=k*(-1);//左移 while(k) { temp=p[0]; for(i=1;i<n;i++) p[i-1]=p[i]; p[n-1]=temp; k--; //临时数组存放第一个数据 } } }
7、数组循环移位
10.将字符串中的所有字母都替换成该字母的下一个字母
#include <iostream> using namespace std; #include <ctype.h> #include <stdio.h> #include <string.h> void func(char *p); void main() { char str1[20]; printf("enter:"); gets(str1); func(str1); puts(str1); } void func(char *p) { char ch; while(*p) { ch=*p;//临时字符 //判断是否是字符,且不是z或者Z if(isalpha(*p)&&(*p!='z')&&(*p!='Z'))、、 *p=ch+1; else if(*p='z') *p='a'; else if(*p='Z') *p='A'; p++; } }
回文判断
#include<iostream> using namespace std; bool func(int m); void main() { int m; cout<<"enter a number:"<<endl; cin>>m; cout<<func(m)<<endl; } bool func(int m) { int i,n=0; i=m; while(i) { n=n*10+i%10; i/=10; } //就是把原数的位从低到高取出来,组成新数,两个数搞出来看看是否相等。。 if(m==n) return true; return false; }
字符串转成整数
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; int func(char a[]); void main() { char a[]={'1','2','3','4','