首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言經典程式設計實例精選(九):數學遊戲與字符處理

     編輯:關於C語言

例 81:解方程 809×?? = 800×?? + 9×?? + 1

條件:?? 為兩位數,8×?? 為兩位數,9×?? 為三位數。
暴力枚舉 10-99,驗證條件輸出結果。

for (i=10; i<100; i++) {
    b = 809*i + 1;
    if (b>=1000 && b<=10000 && 8*i<100 && 9*i>=100)
        printf("%ld = 809*%ld + %ld\n", b, i, b%809);
}

例 82:八進制字符串轉十進制整數

char s[6]; gets(s);
int n = 0;
for (char *p=s; *p; p++) n = n*8 + (*p - '0');
printf("%d", n);

例 83:0-7 組成的奇數個數統計

按位數累加:1位 4個,2位 4×7,3位 4×7×8 ... 利用乘法原理累加。

例 84:哥德巴赫猜想驗證(偶數拆分為兩素數和)


for (b=3; b<=a/2; b+=2) if (isPrime(b) && isPrime(a-b)) printf("%d=%d+%d\n",a,b,a-b);

例 85:素數能被幾個 9 整除(9, 99, 999...)

構造 9, 99, 999... 直到模素數為 0,計數器即為答案。

例 86:有序字符串合併(歸併思想)


while (a[i] && b[j]) c[k++] = (a[i] < b[j]) ? a[i++] : b[j++];
strcat(c, a[i]? a+i : b+j);

例 87:結構體值傳遞不改變原值

函數參數為結構體變量(非指針),屬值傳遞,函數內修改不影響實參。

例 88:讀 7 個 1-50 數字,每行打印對應數量的 *

例 89:四位數加密:各位+5 模10,再首尾/中間交換

例 90:陣列原地逆序(雙指針交換)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved