(一)输入一行电报文字,将字母变成其下一字母(如’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;
}
心得体会:每天都有人在进步,我努力让自己能够成为他们中的一员!每天积累一些代码,总会对自己有帮助的。继续加油!