/* 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