精華區beta ESOE-90 關於我們 聯絡資訊
啊啊啊... 不抄題目了. 第二題比較特別, 需要的技巧其實還不算低. 也要用到簡單的離散數學. 除非是暴力求解--擲出重複的, 再擲; 重複的, 再擲... 春天到了, 好懶...................... E1) # include <stdio.h> int main() { int num[] = {1, -5, 85, 5, -2, 0, 7, 10, 23, -56, -7, 2}; int i, sum; for (i = 0, sum = 0; i < sizeof num / sizeof *num; i++) if (num[i] > 0) sum += num[i]; printf("Total sum of positive numbers == %d.\n", sum); return 0; } E2) # include <stdio.h> # include <stdlib.h> # include <time.h> # define nmemb(array) (sizeof array / sizeof *array) int cmp(const void *, const void *); int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { int num[7] = {0,}; int i, sum; srand(time(NULL)); for (i = 1; i < nmemb(num); i++) num[i] = rand() % 37; qsort(num + 1, nmemb(num) - 1, sizeof *num, cmp); for (i = 1, sum = 0; i < nmemb(num); i++) { sum += num[i] - num[i - 1] + 1; printf("num[%d] == %d\n", i, sum); } return 0; } E3) # include <stdio.h> # include <math.h> int main() { double x; double f, sum; int i; x = 2.0, f = 1.0, sum = 0; for (i = 1; i <= 20; i++) { f *= x / i; sum += f; printf("loop[%02d] %.15f\n", i, sum); } printf("e^x-1 == %.15f\n", exp(x) - 1.0); return 0; } -- 新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.58.142