/* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 4 月 11 日 * 版 本 号:v1.0 */ (一) 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 #include <iostream> using namespace std; void zhuangzhi(int a[3][3]) { int i,j; for(i=0; i<3; i++) for(j=0; j<i; j++) { int t; t=a[j][i]; a[j][i]=a[i][j]; a[i][j]=t; } } int main() { int a[3][3]; int i,j; for(i=0; i<3; i++) for(j=0; j<3; j++) cin>>a[i][j]; zhuangzhi(a); for(i=0; i<3; i++) { for(j=0; j<3; j++) cout<<a[i][j]<<" "; cout<<endl; } return 0; }
(二)要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。 #include <iostream> #include <string> using namespace std; int main() { string c; cin>>c; for(int i=0;c[i]!='\0';i++) { int d; d=((int)c[i])+4; cout<<(char)d; } return 0; }
(三)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。 #include <iostream> using namespace std; void input(int a[],int n) { for(int i=1; i<=n; i++) cin>>a[i]; } void handle(int a[],int n) { int max=a[1],min=a[n],i; int t=1,p=n; for(i=1; i<=n; i++) { if(a[i]>max) { max=a[i]; t=i; } } for(i=1; i<=n; i++) { if(a[i]<min) { min=a[i]; p=i; } } int t1,t2; t1=a[t]; a[t]=a[n]; a[n]=t1; t2=a[p]; a[p]=a[1]; a[1]=t2; } void output(int a[],int n) { for(int i=1; i<=n; i++) cout<<a[i]<<" "; } int main() { const int n=10; int a[n]; input(a,n); handle(a,n); output(a,n); return 0; }
四)用筛法求之N内的素数。 (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; }
五) 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数 #include <iostream> #include <iomanip> using namespace std; int main() { int n; double m; cin>>m>>n; double s=m; while(n>0) { n--; m=m/2; s=s+m*2; } cout<<setiosflags(ios::fixed)<<setprecision(2)<<m<<" "<<s-2*m<<endl; return 0; }
原文地址:http://blog.csdn.net/nufangdongde/article/details/45000603