目前共有97篇帖子。
【期末複習】C語言期末複習
34樓 巨大八爪鱼 2016-1-9 23:10
【8】
#include <stdio.h>

void main()
{
    int i, j;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= 9 - i; j++)
            printf("       ");
        for (; j <= 9; j++)
            printf("%d*%d=%-2d ", i, j, i * j);
        putchar('\n');
    }
}
特別注意在%-2d後有一個空格,減號表示靠左顯示。
35樓 巨大八爪鱼 2016-1-9 23:10
減號靠左顯示可以按如下方法記憶:
-+
左右
36樓 巨大八爪鱼 2016-1-9 23:15
【第7題和第8題一模一樣】
寫的時候注意printf("%d*%d=%-2d ", i, j, i * j);一定要把最後三個參數寫全,不要疏忽大意寫成了:printf("%d*%d=%-2d ", i * j);導致不必要的丟分。
37樓 巨大八爪鱼 2016-1-9 23:18
【6】
#include <stdio.h>

void main()
{
    int i, j;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j < i; j++)
            printf("       ");
        for (; j <= 9; j++)
            printf("%d*%d=%-2d ", i, j, i * j);
        putchar('\n');
    }
}
38樓 巨大八爪鱼 2016-1-9 23:20
【5】
#include <stdio.h>

void main()
{
    int i, j;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= i; j++)
            printf("%d*%d=%-2d ", i, j, i * j);
        putchar('\n');
    }
}
39樓 巨大八爪鱼 2016-1-9 23:34
【4】
#include <stdio.h>

void main()
{
    int y, m, d;
    int sum = 0;
    int month;
    int leap = 0;
    scanf("%d%d%d", &y, &m, &d);
    if (y % 100 == 0 && y % 400 == 0)
        leap = 1;
    if (y % 100 != 0 && y % 4 == 0)
        leap = 1;
   
    for (month = 1; month <= m - 1; month++)
    {
        switch (month)
        {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            sum += 31;
            break;
        case 2:
            if (leap)
                sum += 29;
            else
                sum += 28;
            break;
        default:
            sum += 30;
        }
    }
    sum += d;
    printf("第%d天\n", sum);
}
40樓 巨大八爪鱼 2016-1-9 23:40
最後還剩下第2題和第3題。
41樓 巨大八爪鱼 2016-1-16 13:30
今天接着複習。
42樓 巨大八爪鱼 2016-1-16 13:53
【2】
#include <stdio.h>

void main2()
{
    long int i, bonus;
    scanf("%ld", &i);
   
    if (i <= 100000)
        bonus = i * 0.1;
    else if (i <= 200000)
        bonus = 0.1 * 100000 + 0.075 * (i - 100000);
    else if (i <= 400000)
        bonus = 0.05 * (i - 200000);
    else if (i <= 600000)
        bonus = 0.03 * (i - 400000);
    else if (i <= 1000000)
        bonus = 0.015 * (i - 600000);
    else
        bonus = 0.01 * (i - 1000000);
    printf("%d\n", bonus);
}
【3】
#include <stdio.h>
#include <math.h>

void main()
{
    long int i, j;
    for (i = 0; i < 100000; i++)
    {
        j = sqrt(i + 100);
        if (j * j == i + 100)
        {
            j = sqrt(i + 268);
            if (j * j == i + 268)
                printf("%ld\n", i);
        }
    }
}
43樓 巨大八爪鱼 2016-1-16 13:55
特別注意,在輸出long int的時候要寫%ld,而不是%d,這個特別容易出錯。

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。