#openjudge习题整理:
##常用语法:
###1、数字反转:
#include
using namespace std;
int main()
{
int n,i,z=0;
cin>>n;
while(n!=0)
{
i=n%10; //i保存每次n的个位
z=z10+i; //从低位数第几位放到从高位数第几位
n=n/10; //去掉每次n的最后一位,取整
}
cout<<z;
return 0;
}
###2、求两个数的最小公倍数:
####(1):
#include
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
for(int i=max(a,b);;i++)//最小公倍数必然大于等于a和b中相对较大的那个。
{
if(i>=a&&i>=b&&i%a=0&&i%b=0) //判断i是否为a,b的最小公倍数
{
cout<<i<<endl;
break; //无限制跳出该循环
}
}
return 0;
}
####(2):
#include<stdio.h>
int main()
{
int m,n,r,g;
scanf("%d %d",&n,&m);
g=nm;
while(1)
{
r=m%n;
if(r==0)
break;
m=n;
n=r;
} //while 用于计算m和n的最大公约数
g=g/n;//乘积除最大公约数等于最小公倍数
printf("%d",g);
return 0;
}
##常用函数:
###1、sqrt:
sqrt 存在于头文件#include中,用于求平方根。
用法:sqrt(x)//对x求算数平方根。
###2、pow:
pow 也存在于头文件#include,用于求n的x幂。
用法:pow(x,n)//x为底数,n为指数。
例如:
###3、swap:
swap存在于头文件#include中,是用于交换两个变量数值的交换函数。
用法:swap(a,b)//使a为b的值,b为a原来的值。
###4、setprecision:
保留数字精确度函数,存在于头文件#include中
用法:cout<<fixed<<setprecision(x)<<a;//保留a小数点后x位;
cout<<setprecision(x)<<a;//保留a的x位;
###5、setiosflags(iOS::right):
右对齐函数存在于头文件中
用法:
#include
#include
using namespace std;
int main(){
cout<<setiosflags(ios::left)<<setw(30)<<“Hello”<<“world”<<endl
<<setiosflags(ios::left)<<setw(30)<<“生活”<<“诗和远方”<<endl;//setw()调整后面输出的长度(width)
}
###6、ceil and floor:
向上向下取整函数 存在于头文件中
用法:
ceil(a)//对a向上取整
floor(a)//对a向下取整
例如a=1.2 则ceil(a)=2;而floor(a)=1;
###7、sort排序:
存在于头文件#include中
用法:
Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
Sort函数使用模板:
Sort(start,end,排序方法)
(sort函数没有第三个参数,实现的是从小到大)
若要实现从大到小需要定义函数bool complare(int a,int b)
{
return a>b;
}
在sort中第三个参数调用此函数。
##习题实例:
###1、金中的蛋糕裱花:
将所要输出的菱形分为上三角和下三角两部分,进行数学分析判断“*”和“ ”的输出位置。
###2、杨老师6班测试 送命题
###3、津津的储蓄计划
###4、正方形长方形的个数
###5、