今年的考试题目不同以前,本以为是2小时时间做个小项目(图书管理,商品管理)之类,但是今年却考了三个小程序题,代码如下:
//第一题:输出100内所有素数,5个一行。
#include <iostream>
using namespace std;
bool isPrime(int);
int main ()
{
int m=0;
for(int i=1; i<=100; ++i)
{
if(isPrime(i))
{
cout<<i<<" ";
m++;
if(m%5==0)
cout<<endl;
}
}
return 0;
}
bool isPrime(int n)
{
bool flag=true;
for(int j=2; j<=n/2; ++j)
{
if(n%j==0)
{
flag=false;
break;
}
}
return flag;
}
//这题去年已经做过,对大部分人说都不是难事,不做解释。
运行结果:
//第二题:输出两个数的最大公约数和最小公倍数。
#include <iostream>
using namespace std;
int gcd(int,int);//公约数
int lcm(int,int);//公倍数
int main ()
{
int m,n;
cin>>m>>n;
cout<<"最大公约数为:"<<gcd(m,n)<<endl;
cout<<"最小公倍数为:"<<lcm(m,n)<<endl;
return 0;
}
int gcd(int m,int n)
{
int t,result;
if(m<n)
{
t=m;
m=n;
n=t;
}
for(int i=1; i<=n; ++i)
{
if(m%i==0&&n%i==0)
result=i;//此处没有break 意在求最大
}
return result;
}
int lcm(int m,int n)
{
int result;
for(int i=1; i<=m*n; ++i)
{
if(i%m==0&&i%n==0)
{
result=i;
break;//有break 意在求最小
}
}
return result;
}
//求最大公约数和最小公倍数好几种方法,我是用的循环。
运行结果:
//第三题:输入10个整数,去掉重复的,剩下的由大到小排序。
#include <iostream>
using namespace std;
void sort(int []);//排序
void quChongAndOutPut(int []);//去重复并输出
int main ()
{
int a[10];
for(int i=0; i<10; ++i)
cin>>a[i];
sort(a);
quChongAndOutPut(a);
return 0;
}
void sort(int a[])
{
int t;
for(int i=0; i<10-1; ++i)
for(int j=i+1; j<10; ++j)
{
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
void quChongAndOutPut(int a[])
{
for(int i=0; i<10; ++i)
{
cout<<a[i]<<" ";
while(a[i]==a[i+1])
i++;
}
}
//题中说明去重复并排序,可先排序,但输出时做点“手脚”。
运行结果:
所见所想:虽然这次考试不是最终目的,但确实也能显示出一些问题。
给那些不愿学,甚至不学的人算是提了个醒吧。但愿你们考试顺利,
并且希望你们认识到问题的严重性。毕竟2个小时一个程序写不出来的
滋味太难受了。只要努力,一切都还不晚,你们看到我半小时交卷出来
时的光荣,但你们没有看到我背后的努力。希望每个人都能前进,
但这些都在于个人,加油吧,奋进吧我的小伙伴们。