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

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

C程序開發經典實例之1

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

【程序1】
題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。
2.程序源代碼:
main()
{
    int i, j, k;
        for(i=1; i<5; i++) /*以下為三重循環*/
        for(j=1; j<5; j++) 
            for(k=1; k<5; k++)
            {
                if(i != k && i !=j && j != k) /* 確保i、j、k三位互不相同 */
                    printf("%d, %d, %d/n", i, j, k);
            }
}

【程序2】
題目:企業發放的獎金根據利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
1.程序分析:請利用數軸來分界,定位。注重定義時需把獎金定義成長整型。 
2.程序源代碼:
main()
{
    long int i;
    int bonus1, bonus2, bonus4, bonus6, bonus10, bonus;
    scanf("%ld", &i);
    bonus1 = 100000 * 0.1;
    bonus2 = bonus1 + 100000 * 0.75;
    bonus4 = bonus2 + 200000 * 0.5;
    bonus6 = bonus4 + 200000 * 0.3;
    bonus10 = bonus6 + 400000 * 0.15;
    if(i <= 100000)
        bonus = i * 0.1;
    else if(i <= 200000)
        bonus = bonus1 + (i - 100000) * 0.075;
    else if(i <= 400000)
        bonus = bonus2 + (i - 200000) * 0.05;
    else if(i <= 600000)
        bonus = bonus4 + (i - 400000) * 0.03;
    else if(i <= 1000000)
        bonus = bonus6 + (i - 600000) * 0.015;
    else
        bonus = bonus10 + (i - 1000000) * 0.01;
    printf("bonus=%d", bonus);

}

【程序3】
題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
1.程序分析:在10萬以內判定,先將該數加上100后再開方,再將該數加上268后再開方,假如開方后的結果滿足如下條件,即是結果。請看具體分析:
2.程序源代碼:
#include <math.h>
/* 歡迎訪問 C++Builder研究 - www.ccrun.com */
main()
{
    long int i, x, y, z;
    for(i=1; i<100000; i++)
    {
        x = sqrt(i + 100); /* x為加上100后開方后的結果 */
        y = sqrt(i + 268); /* y為再加上168后開方后的結果 */
        /* 假如一個數的平方根的平方等于該數,這說明此數是完全平方數 */
        if(x * x == i + 100 && y * y == i + 268)
            printf("/n%ld/n", i);
    }
}

【程序4】
題目:輸入某年某月某日,判定這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,非凡情況,閏年且輸入月份大于3時需考慮多加一天。
2.程序源代碼:
main()
{
    int day, month, year, sum, leap;
    printf("/nplease input year, month, day/n");
    scanf("%d, %d, %d", &year, &month, &day);
    switch(month) /* 先計算某月以前月份的總天數 */
    {
    case 1: sum=0; break;
    case 2: sum=31; break;
    case 3: sum=59; break;
    case 4: sum=90; break;
    case 5: sum=120; break;
    case 6: sum=151; break;
    case 7: sum=181; break;
    case 8: sum=212; break;
    case 9: sum=243; break;
    case 10: sum=273; break;
    case 11: sum=304; break;
    case 12: sum=334; break;
    default: printf("data error");break;
    }
    sum = sum + day; /* 再加上某天的天數 */
    if(year %400 == 0  (year % 4 == 0 && year % 100 != 0)) /* 判定是不是閏年 */
        leap = 1;
    else
        leap = 0;
    if(leap == 1 && month > 2) /* 假如是閏年且月份大于2, 總天數應該加一天 */
        sum++;

    printf("It is the %dth day.", sum);
}

【程序5】
題目:輸入三個整數x, y, z,請把這三個數由小到大輸出。
1.程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,假如x>y則將x與y的值進行交換,然后再用x與z進行比較,假如x>z則將x與z的值進行交換,這樣能使x最? ?
2.程序源代碼:
main()
{
    int x, y, z, t;
    scanf("%d%d%d", &x, &y, &z);
    if(x>y)
    {
        t = x; x = y; y = t;
    } /* 交換x, y的值 */
    if(x > z)
    {
        t = z; z = x; x = t;
    } /* 交換x, z的值 */
    if(y > z)
    {
        t = y; y = z; z = t;
    } /* 交換z, y的值 */
    printf("small to big: %d %d %d/n", x, y, z);
}

【程序6】
題目:用*號輸出字母C的圖案。
1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。
2.程序源代碼:
#include "stdio.h"
main()
{
    /* 63 63 72 75 6E 2E 63 6F 6D */
    pri

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺平县| 大关县| 获嘉县| 泾阳县| 寿光市| 孟津县| 锦州市| 延长县| 西丰县| 高邑县| 卢氏县| 花莲市| 五寨县| 凌源市| 麦盖提县| 东阳市| 双鸭山市| 九龙县| 内黄县| 酒泉市| 巫山县| 莱州市| 吉木乃县| 江安县| 长岭县| 昂仁县| 徐汇区| 尉氏县| 仙桃市| 米泉市| 晋城| 永康市| 丰县| 望江县| 永和县| 古交市| 保山市| 明星| 南丹县| 吕梁市| 霍邱县|