常用math函数
- fabs(float a);(%.2f):求浮点数的绝对值
- floor(float a);向下取整(如,23.22--->23;-23.22--->-24)
- ceil(float a);向上取整,与floor相反
- pow(float a,float b);a的b次幂,其中a>0
- sqrt(float a);根号a,其中a>0
- log(float a);自然对数--->c语言中不存在对任意底数求对数的函数,因此需要使用换底公式
- sin(pi/6);弧度制--->结果是:0.500000
- round(3.299);---->四舍五入取整
选择结构
switch语句:case中的常量表达式是入口标号,由此开始顺序执行。如果需要每个不同条件执行相对应的语句的话,需要在每一个case分支后面加上break。
int main() {
char a ;
// cin>>a;
while(cin>>a){
switch(a){
case 'a':
cout<
循环结构
- while(条件){语句}----->当条件满足时执行循环体
- do{语句}while(条件);--->先执行循环体,当条件满足时继续循环。语句中必须包含改变条件值的语句。相对于第一种至少会执行一次语句。
- break;跳出循环体或者switch语句;continue;结束本次循环。
学长作业
题目描述:任意给定 n 个整数,求这 n 个整数序列的和、最小值、最大值
输入描述:输入一个整数n,代表接下来输入整数个数,0 < n <= 100,接着输入n个整数,整数用int表示即可。
输出描述:输出整数序列的和、最小值、最大值。用空格隔开,占一行
样例输入
2
1 2
样例输出
3 1 2
#include
#Include
using namespace std;
int main() {
int n,sum=0;
cin>>n;
int a[n];
for(int i=0;i>a[i];
sum+=a[i];
}
sort(a,a+n);
cout<
题目描述:已知一个只包含 0 和 1 的二进制数,长度不大于 10 ,将其转换为十进制并输出。
输入描述:输入一个二进制整数n,其长度大于0且不大于10
输出描述:输出转换后的十进制数, 占一行
样例输入
110
样例输出
6
/*
1.将二进制数当作十进制数,将其每一位分出来
2.用该位数n乘相对应的2的n次方,sum加和
*/
#include
#include
using namespace std;
int main() {
int n,sum=0,i=0;
cin>>n;// 读取二进制数
for(; i < 10; i++){
sum += n % 10 * pow(2.0,i);
n/=10;
if(n==0){
break;
}
}
cout<,数字表示长度,不足用0补齐;若输入含有除0、1以外的数会报错*/
#include
#include
using namespace std;
int main(){
bitset<16> bint;
cin>>bint;
cout<
题目描述:打印 n 阶实心菱形
输入描述:输入一个整数n,0 < n <= 10
输出描述:输出 n 阶实心菱形 , 占 2*n-1 行
样例输入
3
样例输出
*
***
*****
***
*
#include
using namespace std;
/*
1,n阶实心菱形 ,分上下两部分
2,上部分的空格数与*数和n的关系搞对就ok了
*/
int main() {
int n,i,j;
cin>>n; // 读取阶数
for(i=1;i<=n;i++){
for(j=n-i;j>0;j--){
cout<<" ";
}
for(j=1;j<2*i;j++){
cout<<"*";
}
cout<0;i--){
for(j=n-i;j>0;j--){
cout<<" ";
}
for(j=1;j<2*i;j++){
cout<<"*";
}
cout<