1. 程式人生 > >The programming summary (Eighth week)

The programming summary (Eighth week)

題目1 混合型別資料格式化輸入

(1)實驗程式碼

#include <stdio.h>
 
int main()
{
    int a;
    double b,c;
    char d;
    scanf("%lf %d %c %lf",&b,&a,&d,&c);
    printf("%c %d %.2lf %.2lf",d,a,b,c);
    return 0;
}

(2)設計思路

第一步:定義變數
第二步:輸入變數
第三步:輸出結果

(3)本題除錯過程碰到問題及解決辦法(3)本題除錯過程碰到問題及解決辦法

注意字元輸入時空字元的佔位問題

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目2 計算符號函式的值

(1)實驗程式碼

#include <stdio.h>
int main(void)
{
    int n, a;

    scanf("%d", &n);
    if (n < 0)
        a = -1;
    else if (n > 0)
        a = 1;
    else
        a = 0;
    printf("sign(%d) = %d\n", n, a);

    return 0;
}

(2)設計思路

第一步:定義變數
第二步:輸入變數
第三步:if-else

判斷條件
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

本題無錯誤,一次性通過

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目3 計算個人所得稅

(1)實驗程式碼

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int money;
    cin >> money;
    if (money <= 1600)
        printf("0.00");
    else if (money <= 2500)
        printf("%.2f", 0.05 * (money - 1600));
    else if (money <= 3500)
        printf("%.2f", 0.10 * (money - 1600));
    else if (money <= 4500)
        printf("%.2f", 0.15 * (money - 1600));
    else
        printf("%.2f", 0.20 * (money - 1600));
     
    return 0;
}

(2)設計思路

第一步:定義變數
第二步:輸入變數
第三步:if-else判斷條件
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

可在printf函式中直接輸出表達式

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目4 比較大小

(1)實驗程式碼

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int a, b, c, change = 0;;
    cin >> a >> b >> c;
    while (a > b || b > c)
    {
        if (a > b)
        {
            change = a;
            a = b;
            b = change;
        }
        if (b > c)
        {
            change = b;
            b = c;
            c = change;
        }
    }

    printf("%d->%d->%d", a, b, c);

    return 0;
}

(2)設計思路

第一步:定義變數,輸入變數
第二步:定義while迴圈反覆判斷
第三步:if判斷條件,進行數字間的交換
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

本題就一些細節問題,不斷除錯後解決了

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目5 到底是不是太胖了

(1)實驗程式碼

#include<stdio.h>
#include<math.h>
int main()
{   
  int h,w;  
  int N;    
  int z;
  int l,h1; 
  scanf("%d",&N);    
  for(int i=1;i<=N;i++)    
  {     
    scanf("%d %d",&h,&w);       
    z=(h-100)*2*9*1000/10;    
    l=z*9/10;       
    h1=z*11/10;     
    w=w*1000;       
    if(w>l&&w<h1)    
    printf("You are wan mei!\n");    
    if(w<=l)    
    printf("You are tai shou le!\n");   
    if(w>=h1)    
    printf("You are tai pang le!\n");
    }   
  return 0;
}

(2)設計思路

第一步:定義變數
第二步:輸入變數
第三步:if-else判斷條件
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

判斷的時候注意上界和下界的取值

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目6 高速公路超速處罰

(1)實驗程式碼

#include<stdio.h>
int main(void)
{
    float speed, limit;
    scanf("%f %f", &speed, &limit);
    if (speed >= limit * 15 / 10)
    {
        printf("Exceed %.0f%%. License Revoked\n", (speed - limit) / limit * 100);
    }
    else {
        if (speed >= limit * 11 / 10)
        {
            printf("Exceed %.0f%%. Ticket 200\n", (speed - limit) / limit * 100);
        }
        else
        {
            printf("OK\n");
        }
    }
    return 0;
}

(2)設計思路

第一步:定義變數
第二步:輸入變數
第三步:if-else判斷條件
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

注意if-else語句的巢狀使用

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目7 統計字元

(1)實驗程式碼

#include<stdio.h>
int main(void)
{
    char c;
    int letter, blank, digital, other, i, n;
    
    letter=0, blank=0, digital=0, other=0, n=0;
    for(i=0; i<10; i++)
    {
        c = getchar();
        if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
            letter++;
        else if(c == ' '||c == '\n')
            blank++;
        else if( c>='0'&&c<='9')
            digital++;
        else
            other++; 
    }   
    printf("letter = %d, blank = %d, digit = %d, other = %d\n", letter, blank, digital, other);

    return 0; 
} 

(2)設計思路

第一步:定義變數,輸入變數
第二步:定義for迴圈反覆輸入
第三步:if判斷條件,判斷字元應儲存在哪個地方
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

字元的判斷條件

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目8 統計學生平均成績與及格人數

(1)實驗程式碼

#include <stdio.h>
#include <math.h>

int main(void)
{
    double n, number;
    int count = 0;
    double sum = 0.0, average = 0.0;

    scanf("%lf", &n);

    for (int i = 0; i < n; i++)
    {
        scanf("%lf", &number);
        sum = sum + number;
        if (number >= 60)
            count += 1;
    }

    if (n != 0)
        average = sum / n;
    else
        average = 0;

    printf("average = %.1lf\n", average);
    printf("count = %d", count);

    return 0;
}

(2)設計思路

第一步:定義變數,輸入變數
第二步:定義for迴圈反覆輸入
第三步:if判斷條件
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

average條件判斷

(4)執行結果截圖

(考試時間已到,無法獲得截圖)

題目9 輸出閏年

(1)實驗程式碼

#include<stdio.h>
int main()
{
    int year, i, count=0;
    
    scanf("%d", &year);
    
    if(year<=2000||year>2100)
        printf("Invalid year!\n");
    else
    {
        for(i=2001; i<=year; i++)
        {
            if(i%4==0&&i%100!=0||i%400==0)
            {
                printf("%d\n", i);
                count++;
            }
        }
        if(count==0)
            printf("None\n");
    }   
    return 0;
}

(2)設計思路

第一步:判斷閏年的取值範圍
第二步:定義for迴圈遍歷年份
第三步:閏年語句判斷年份
第四步:輸出結果

(3)本題除錯過程碰到問題及解決辦法

本題無錯誤,一次性通過

(4)執行結果截圖

(考試時間已到,無法獲得截圖)