標籤:style 資料 for size log 字串 電腦 最佳化
1、scanf("%s",s);
//for(i=0;i<11;i++)
//scanf("%d",s[i]);
輸入數位時候,每個數字之間必須隔一個空格電腦才能識別和分辨
若輸入連續的11個數字,電腦會認為他是一個數字
只有1 8 3 3 6 8 6 3 0 9 9,電腦才能認為這是11個
所以用字串
2、若題目給出了一個數學公式,讓你求第 N項的值
對於一道給出了運算公式的數學,凡是沒有最佳化的話,逾時超記憶體等等是避免不了的了。
這題很顯然是一個找規律的題目,也就是該題的求解中是存在迴圈節的。
3、log函數
1>函數 log是以 e為底的,log10是以 10為底的
2>double log10(double x)
即要求所求數為 double型,而且他的返回值也為double型
3>#include<math.h>
4>可以用來求數x的位元
4、int i,j;
double l;
l=(i*i+j*j+m)/(i*j*1.0);
//整數除以整數,得到的永遠是整數,即便左端的類型是double
//若要得到小數,則需要將右端的某個資料 *1.0,將其變成 double型
5、memset(s,0,sizeof(s));
將數組s初始化為0,這樣寫是正確的
若要將數組s初始化為1,用memset(s,1,sizeof(s));這樣寫是錯誤的,因為memset函數是按位元組賦值的
若要將數組s初始化為1,只能用for迴圈或者while迴圈
6、s[0]=1,s[1]=5,s[2]=-1,,,,,,s[n]=8;
對s進行快排,
qsort(s,n,sizeof(s[0]),cmp); ---這是從s[0]開始進行排序
若要從s[1]開始排序,該怎麼樣寫呢?
qsort(s+1,n-1,sizeof(s[0]),cmp); ---s不僅僅是數組名,其真正作用是需要排序的數組的首地址
---n是要進行排序的次數