(一)输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)
(1) #include <iostream> using namespace std; int main() { int i=0; char a[i]; while(cin>>a[i]) { if(a[i]>='a'&&a[i]<'z') { a[i]=(int)a[i]+1; cout<<a[i]; } else if(a[i]=='z') cout<<'a'; else cout<<a[i]; i++; } return 0; } 方法(2) #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int i=0; char a[100]; gets(a); int len=strlen(a); while (a[i]!='\0') { if (a[i]>='a'&&a[i]<'z') a[i]+=1; else if (a[i]=='z') a[i]='a'; i++; } for(i=0; i<len; i++) cout<<a[i]; return 0; }
(二)求一个3×3矩阵对角线元素之和。
#include <iostream> using namespace std; int main() { int a[3][3],i,j; int s1,s2; for(i=0;i<3;i++) for(j=0;j<3;j++) cin>>a[i][j]; s1=a[0][0]+a[1][1]+a[2][2]; s2=a[0][2]+a[1][1]+a[2][0]; cout<<s1<<" "<<s2<<endl; return 0; }
(三)用筛法求N(<1000)之内的素数。
(1) #include <iostream> using namespace std; int main() { int n,i,j; cin>>n; for(i=1; i<n; i++) { for(j=2;j<i;j++) { if(i%j==0) break; } if(j==i) cout<<i<<endl; } return 0; } (2) #include <iostream> #include <cmath> using namespace std; bool isprimer(int ); int main() { int n,i; cin>>n; for(i=2; i<n; i++) { if(isprimer(i)) cout<<i<<" "<<endl; } } bool isprimer(int n) { int r; for (r=2; r<=sqrt(n); ++r) if(n%r==0) break; if(r>sqrt(n)) return n; }
(四)有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
#include <iostream> using namespace std; int main() { int n,i,m,k,*p; cin>>n; int a[n]; p=a; //指针p指向num for(i=0;i<=n;i++) *(p+i)=i+1; ////以1至n为序给每个人编号 i=0; //i为每次循环时计数变量 k=0; //k为按1,2,3报数时的计数变量 m=0; //m为退出人数 while(m<n-1) //当退出人数比n-1少时(即未推出人数大于1时) 执行循环体 { if(*(p+i)!=0) k++; //将推出的人的编号置为0 if(k==3) { *(p+i)=0; k=0; m++; } i++; if(i==n)i=0; //报数到尾后,i恢复为0 } while(*p==0)p++; cout<<*p<<endl; return 0; }
(五)写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
#include <iostream> #include <cmath> using namespace std; int is_prime(int n) { int r; if(n==1) return 0; else { for (r=2; r<=sqrt(n); ++r) if(n%r==0) break; if(r>sqrt(n)) return 1; } } int main() { int flag,n; int is_prime(int); cin>>n; flag=is_prime(n); if(flag==1) cout<<"prime"<<endl; else cout<<"not prime"<<endl; return 0; }
心得体会:每天都有人在进步,我努力让自己能够成为他们中的一员!每天积累一些代码,总会对自己有帮助的。继续加油!
时间: 2024-10-20 10:26:26