- 小寫字母與大寫字母的ASCII之間的差值爲32。
a = getchar(); //輸入小寫字母
b = a-32; //將小寫字母轉化爲大寫字母
- #include<algorithm>:algorithm意爲"算法",是C++的標準模板庫(STL)中最重要的頭文件之一,提供了大量基於迭代器的非成員模板函數。
- 生成隨機數
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand((unsighed)time(NULL));
for(int i=0;i<10;i++){
printf("%d ",rand%(b-a+1)+a); //生成[a,b]的隨機數(範圍較小)
printf("%d ",(int)(round(1.0*rand()/RAND_MAX*(b-a)+a))) //生成[a,b]的隨機數(範圍較大)
}
return 0;
}
- 使用scanf輸入int型數字之後(int型數字後面存在換行符,使用scanf無法接收),需要使用getchar()接收換行符。
- 最大公約數
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
- 最小公倍數(假設最大公約數是d):a/d*b
-
scanf("%d%*c",&T);
%*c作用時讀取輸入流中數字後的一個字符,並丟棄,使得後面的輸入函數不能讀到那個字符。
-
memset()函數和fill()函數的區別:
fill(),是將一塊單元賦成指定的值,也就是說任何值都可以。
fill(vec.begin(),vec.end(),val);
memset(),是將所指的某一塊內存中的每個字節的內容設置成指定得到ASCII碼,即0,1。
memset(vec,0,sizeof(vec));