The programming summary (Eighth week)
阿新 • • 發佈:2018-11-12
題目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)執行結果截圖
(考試時間已到,無法獲得截圖)