刷题遇到的各种
Posted expedition
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题遇到的各种相关的知识,希望对你有一定的参考价值。
一、C语言四舍五入
有一个浮点数float a,要四舍五入只要这样:
int x = (int)(a + 0.5)
只要a的小数 >=0.5,a+0.5的整数位就会进一,然后取整;小于0.5呢,取整还是原数
二、c++ sort函数
包含在头文件为 #include<algorithm> c++标准库中
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
(1)第一个参数first:是要排序的数组的起始地址。
(2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)
(3)第三个参数comp是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序。
#include<iostream> #include<algorithm> using namespace std; main() //sort函数第三个参数采用默认从小到大 int a[]=45,12,34,77,90,11,2,4,5,55; sort(a,a+10); //数组最后一个数据的地址是9,其后一个数据的地址就是10,即 a + 10 for(int i=0;i<10;i++) cout<<a[i]<<" ";
详细的戳 链接 进入吧
三、break 和 continue
break 语句,它不仅可以跳出“循环体”,还可以跳出 switch。但事实上,break 也只能用于这两种情况。break 语句不能用于循环语句和 switch 语句之外的任何其他语句中。
不管是 for 循环,还是 while 循环,或者是 do…while 循环,都可以用 break 跳出来,但是 break 只能跳出一层循环。当有多层循环嵌套的时候,break只能跳出“包裹”它的最里面的那一层循环,无法一次跳出所有循环。
同样,在多层 switch 嵌套的程序中,break 也只能跳出其所在的距离它最近的 switch。但多层 switch 嵌套实在是少见。
continue 的用法十分简单,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,然后进行下一次是否执行循环的判定
# include <stdio.h> int main(void) int val; //variable的缩写, “变量”的意思 printf("请输入您想去的楼层:"); while (1) scanf("%d", &val); switch (val) case 1: printf("1层开!\\n"); break; //跳出switch case 2: printf("2层开!\\n"); break; //跳出switch case 3: printf("3层开!\\n"); break; //跳出switch default: printf("该层不存在, 请重新输入:"); continue; //结束本次while循环 break; //跳出switch后,到此条语句,将跳出while return 0;
以上是关于刷题遇到的各种的主要内容,如果未能解决你的问题,请参考以下文章