国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C程序開發經典實例之2

2019-11-17 05:40:54
字體:
來源:轉載
供稿:網友

【程序11】
題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
1.程序分析: 兔子的規律為數列1, 1, 2, 3, 5, 8, 13, 21....
2.程序源代碼:
main()
{
    long f1, f2;
    int i;
    f1 = f2 = 1;
    for(i = 1; i <= 20; i++)
    {
                if(i % 2 == 0)
            printf("/n"); /* 控制輸出,每行四個 */
        f1 = f1 + f2; /* 前兩個月加起來賦值給第三個月 */
        f2 = f1 + f2; /* 前兩個月加起來賦值給第三個月 */
    }
}

【程序12】
題目:判定101-200之間有多少個素數,并輸出所有素數。
1.程序分析:判定素數的方法:用一個數分別去除2到sqrt(這個數),假如能被整除,則表明此數不是素數,反之是素數。
2.程序源代碼:
#include "math.h"
/* 歡迎訪問 C++Builder研究 - www.ccrun.com */
main()
{
    int m, i, k, h=0, leap=1;
    printf("/n");
    for(m = 101; m <= 200; m++)
    {
        k = sqrt(m + 1);
        for(i = 2; i <= k; i++)
        if(m % i == 0)
        {
            leap = 0; break;
        }
        if(leap)
        {
            printf("%-4d", m); h++;
            if(h%10==0)
                printf("/n");
        }
        leap=1;
    }
    printf("/nThe total is %d", h);
}

【程序13】
題目:打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
2.程序源代碼:
main()
{
    int i, j, k, n;
    printf("'water flower'number is:");
    for(n = 100; n < 1000; n++)
    {
        i = n / 100; /* 分解出百位 */
        j = n / 10 % 10; /* 分解出十位 */

        k = n % 10; /* 分解出個位 */
        if(i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k)
        {
            printf("%-5d", n);
        }
    }
    printf("/n");
}

【程序14】
題目:將一個正整數分解質因數。例如:輸入90, 打印出90=2*3*3*5。
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
(1)假如這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。
(2)假如n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商, 作為新的正整數你n, 重復執行第一步。
(3)假如n不能被k整除,則用k+1作為k的值, 重復執行第一步。
2.程序源代碼:
/* zheng int is divided yinshu*/
main()
{
    int n, i;
    printf("/nplease input a number:/n");
    scanf("%d", &n);
    printf("%d=", n);
    for(i=2;i<=n;i++)
    {
        while(n != i)
        {
            if(n % i == 0)
            {
                printf("%d*", i);
                n = n / i;
            }
            else
                break;
        }
    }
    printf("%d", n);
}

【程序15】
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。
1.程序分析:(a>b)?a:b這是條件運算符的基本例子。
2.程序源代碼:
main()
{
    int score;
    char grade;
    printf("please input a score/n");
    scanf("%d", &score);
    grade = score >= 90? 'A': (score>=60?'B':'C');
    printf("%d belongs to %c", score, grade);
}

【程序16】
題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。
1.程序分析:利用輾除法。
2.程序源代碼:
main()
{
    int a, b, num1, num2, temp;
    printf("please input two numbers:/n");
    scanf("%d, %d", &num1, &num2);

    if(num1 < num2)
    {
        temp = num1;
        num1 = num2; 
        num2 = temp;
    }
    a = num1; b = num2;
    while(b != 0) /* 利用輾除法,直到b為0為止 */
    {
        temp = a % b;
        a = b;
        b = temp;
    }
    printf("gongyueshu:%d/n", a);
    printf("gongbeishu:%d/n", num1 * num2 / a);
}

【程序17】
題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。
1.程序分析:利用while語句, 條件為輸入的字符不為'/n'.
2.程序源代碼:
#include "stdio.h"
/* 歡迎訪問 C++Builder研究 - www.ccrun.com */
main()
{
    char c;
    int letters = 0, space = 0, digit = 0, others = 0;
    printf("please input some characters/n");
    while((c = getchar()) != '/n')
    {
        if(c >= 'a' && c <= 'z'  c >= 'A' && c <

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新野县| 浦城县| 钟山县| 旺苍县| 嘉祥县| 彰化县| 北京市| 潜山县| 乌苏市| 天门市| 镇坪县| 江华| 博野县| 漠河县| 含山县| 凌源市| 岳阳县| 隆安县| 若尔盖县| 蓝田县| 宁津县| 左云县| 汾西县| 金阳县| 德清县| 遂溪县| 罗城| 泰来县| 柳州市| 广州市| 吴旗县| 陵川县| 宜君县| 丹棱县| 黄大仙区| 凯里市| 互助| 宁安市| 宁安市| 怀远县| 阳春市|