習題2-5
#include
int main()
if ((10
*n%b)*10 / b >= 5) //確定末位四捨五入的情況
printf("%d", 10
*n/b + 1);
else
printf("%d", 10
*n/b);
}return
0;}
注意:要及時輸出,防止n越界
習題2-6
#include
void result(int num, int &result_add, int &result_mul)
int main()
return
0;}
注意:1~9加起來真能是45, 1~9乘起來只能是362880
所以我們可以將前面的i, j, k分別分解出來的9位數字相加、相乘。
習題3-2
#include
#include
#define local
char s[110];
const
double d = ;
int main()
else
//是數字
//一直到不是數字為止
sum += d[x-'a']*(n-1);//x在if已經被賦值,-1是因為if裡加了乙個}}
printf("%.3f\n", sum);
}return
0;}
收穫:
1、要用上書上提到的isalpha、isdigit、isprint
等函式,不要再自己費了半天勁檢驗是數字還是字母了
2、少糾結自己的錯誤做法,多看看別人正確的思路和做法
我自己的解法啊啊啊
#include
#include
//#define local
#define maxn 100
int main()
if (y == 48)//y越界(即x達到最後一位)
break;
else
if (47
< y && y < 58 && z > 60 && i+2
< len)
num = y - 48;
else
if (47
< y && y < 58 && 47
< z && z < 58 && i+2
< len)
num = (y - 48)*10 + (z - 48);
else
if (47
< y && y < 58 && i+2 >= len)
num = y - 48;
else
num = 1;
mass += num*atom;
}printf("%.3lf\n", mass);
}return
0;}
收穫:
1、注意邊界判斷!!!
2、注意邊界判斷!!!
3、注意邊界判斷!!!
(謝謝學長的debug,我想努力地追上你的腳步…)
習題3-4
#include
#include
//#define local
#define maxn 100
char a[maxn];
int main()
}if (!flag) break;
}if (flag)
}if (mask)
else
printf("\n%d\n", answer);
}return
0;}
1、注意輸出格式!
2、相信自己,繼續加油!
**(找到乙個因數處理一次)
int getminperiod(char *inputstring)
} if (ok)
} }
return
0;
}
《演算法競賽入門經典(第二版)》習題(二)
習題 2 1 水仙花數 輸出100 999中的所有水仙花數。若3位數abc滿足abc a b c 則稱其為水仙花數。例如 153 1 5 3 所以153是水仙花數。include intmain return0 習題 2 2 韓信點兵 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三...
演算法競賽入門經典 (第二版)習題2 6
用 1,2,3 9組成三個數字abc,def,ghi每個數字恰好使用一次,要求 abc def ghi 1 2 3按照 abc def ghi 的格式輸出所有解 每行乙個解。思路 有a,b,c三個變數,先確定a的範圍,最小的數且符合題目規定的數字為123,最大的數字且符合題目規定的數字是987 所以...
《演算法競賽入門經典(第二版)》 隨筆
c語言中整數值用 d輸出,實數 浮點數 用 f輸出。kiss原則 keep it and stupid 獲得程式執行時間 包括鍵盤輸入時間 include printf 執行時間 2f n double clock clocks per sec 輸入個數未知時 while scanf d x 1 對...