练习题
1.
(a) 1
(b) 1
(c) 1
(d) 0
2.
(a) 1
(b) 1
(c) 1
(d) 1
3.
(a) 1 3 4 5
(b) 0 7 8 9
(c) 1 8 8 9
(d) 1 2 1 1
4.
i = i < j ? -1 : (i > j ? 1 : 0);
5.
合法
当n等于0时,printf将会执行
6.
合法
除非n等于-9,否则printf永远不会执行
7.
结果都为17
8.
if (age >= 13 && age <= 19)
{
teenager = true;
}
else
{
teenager = false;
}
9.
等价
10.
onetwo
11.
switch (area_code)
{
case 229:
printf("Albany");
break;
case 404:
case 470:
case 678:
case 770:
printf("Atlanta");
break;
case 478:
printf("Macon");
break;
case 706:
case 762:
printf("Columbus");
break;
case 912:
printf("Savannah");
break;
default:
printf("Area code not recognized");
break;
}
编程题
1.
#include<stdio.h>
int main(void)
{
int number;
printf("Enter a number: ");
scanf_s("%d", &number);
if (number < 10)
{
printf("The number %d has 1 digits\n", number);
}
else if (number < 100)
{
printf("The number %d has 2 digits\n", number);
}
else if (number < 1000)
{
printf("The number %d has 3 digits\n", number);
}
else if (number < 10000)
{
printf("The number %d has 4 digits\n", number);
}
else
{
printf("Illegal number!");
}
return 0;
}
2.
#include<stdio.h>
int main(void)
{
int hour, minute;
printf("Enter a 24-hour time: ");
scanf_s("%d:%d", &hour, &minute);
if (hour < 13)
{
printf("Equivalent 12-hour time: %d:%.2d AM", hour, minute);
}
else
{
printf("Equivalent 12-hour time: %d:%.2d PM", hour - 12, minute);
}
return 0;
}
3.
题(a)的答案与题(b)的有所重复,所以直接给出题(b)的答案
#include<stdio.h>
int main(void)
{
float price, value, commission, competitor;
int amount;
printf("Enter price: ");
scanf_s("%f", &price);
printf("Enter amount: ");
scanf_s("%d", &amount);
value = price * amount;
if (value < 2500.00f)
{
commission = 30.00f + .017f * value;
}
else if (value < 6250.00f)
{
commission = 56.00f + .0066f * value;
}
else if (value < 20000.00f)
{
commission = 76.00f + .0034f * value;
}
else if (value < 50000.00f)
{
commission = 100.00f + .0022f * value;
}
else if (value < 500000.00f)
{
commission = 155.00f + .0011f * value;
}
else
{
commission = 255.00f + .0009f * value;
}
if (commission < 39.00f)
{
commission = 39.00f;
}
if (amount < 2000)
{
competitor = 33.03f * amount;
}
else
{
competitor = 33.02f * amount;
}
printf("Commission: %.2f\n", commission);
printf("Competitor: %.2f", competitor);
return 0;
}
4.
#include<stdio.h>
int main(void)
{
int velocity;
printf("Enter the velocity of the wind: ");
scanf_s("%d", &velocity);
if (velocity < 1)
{
printf("Calm");
}
else if (velocity < 4)
{
printf("Light air");
}
else if (velocity < 28)
{
printf("Breeze");
}
else if (velocity < 48)
{
printf("Gale");
}
else if (velocity < 64)
{
printf("Strom");
}
else
{
printf("Hurricane");
}
return 0;
}
5.
#include<stdio.h>
int main(void)
{
float income, tax;
printf("Enter your income: ");
scanf_s("%f", &income);
if (income < 750.00f)
{
tax = 0.01f * income;
}
else if (income < 2250.00f)
{
tax = 0.02f * (income - 750.00f) + 7.50f;
}
else if (income < 3750.00f)
{
tax = 0.03f * (income - 2250.00f) + 37.50f;
}
else if (income < 5250.00f)
{
tax = 0.04f * (income - 3750.00f) + 82.50f;
}
else if (income < 7000.00f)
{
tax = 0.05f * (income - 5250.00f) + 142.50f;
}
else
{
tax = 0.06f * (income - 7000.00f) + 230.00f;
}
printf("Your tax is: %.2f", tax);
return 0;
}
6.
#include<stdio.h>
int main(void)
{
int d, i1, i2, i3, i4, i5, j1, j2, j3, j4, j5, c,
first_sum, second_sum, total, check_digit;
printf("Enter the UPC: ");
scanf_s("%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d",
&d, &i1, &i2, &i3, &i4, &i5, &j1, &j2, &j3, &j4, &j5, &c);
first_sum = d + i2 + i4 + j1 + j3 + j5;
second_sum = i1 + i3 + i5 + j2 + j4;
total = 3 * first_sum + second_sum;
check_digit = 9 - ((total - 1) % 10);
if (c == check_digit)
{
printf("VALID");
}
else
{
printf("NOT VALID");
}
return 0;
}
7.
#include<stdio.h>
int main(void)
{
int a, b, c, d,
max1, max2, min1, min2;
printf("Enter four integers: ");
scanf_s("%d%d%d%d", &a, &b, &c, &d);
if (a > b)
{
max1 = a;
min1 = b;
}
else
{
max1 = b;
min1 = a;
}
if (c > d)
{
max2 = c;
min2 = d;
}
else
{
max2 = d;
min2 = c;
}
if (max1 > max2)
{
printf("Largest: %d\n", max1);
}
else
{
printf("Largest: %d\n", max2);
}
if (min1 < min2)
{
printf("Smallest: %d\n", min1);
}
else
{
printf("Smallest: %d", min2);
}
return 0;
}
8.
#include<stdio.h>
int main(void)
{
int hour, minute, time;
int d1 = 480;
int d2 = 583;
int d3 = 679;
int d4 = 767;
int d5 = 840;
int d6 = 945;
int d7 = 1140;
int d8 = 1305;
printf("Enter a 24-hour time: ");
scanf_s("%d:%d", &hour, &minute);
time = hour * 60 + minute;
if (time <= (d1 + d2) / 2)
{
printf("Closest departure time is 8:00 a.m., arriving at 10:16 a.m.\n");
}
else if (time <= (d2 + d3) / 2)
{
printf("Closest departure time is 9:43 a.m., arriving at 11:52 a.m.\n");
}
else if (time <= (d3 + d4) / 2)
{
printf("Closest departure time is 11:19 a.m., arriving at 1:31 p.m.\n");
}
else if (time <= (d4 + d5) / 2)
{
printf("Closest departure time is 12:47 p.m., arriving at 3:00 p.m.\n");
}
else if (time <= (d5 + d6) / 2)
{
printf("Closest departure time is 2:00 p.m., arriving at 4:08 p.m.\n");
}
else if (time <= (d6 + d7) / 2)
{
printf("Closest departure time is 3:45 p.m., arriving at 5:55 p.m.\n");
}
else if (time <= (d7 + d8) / 2)
{
printf("Closest departure time is 7:00 p.m., arriving at 9:20 p.m.\n");
}
else
{
printf("Closest departure time is 9:45 p.m., arriving at 11:58 p.m.\n");
}
return 0;
}
9.
#include<stdio.h>
int main(void)
{
int month1, month2, day1, day2, year1, year2;
printf("Enter first date (mm/dd/yy): ");
scanf_s("%d /%d /%d", &month1, &day1, &year1);
printf("Enter second date (mm/dd/yy): ");
scanf_s("%d/%d/%d", &month2, &day2, &year2);
if (year1 > year2)
{
printf("The %.2d/%.2d/%.2d is earlier", month2, day2, year2);
}
else if (year1 < year2)
{
printf("The %.2d/%.2d/%.2d is earlier", month1, day1, year1);
}
else
{
if (month1 > month2)
{
printf("The %.2d/%.2d/%.2d is earlier", month2, day2, year2);
}
else if (month1 < month2)
{
printf("The %.2d/%.2d/%.2d is earlier", month1, day1, year1);
}
else
{
if (day1 > day2)
{
printf("The %.2d/%.2d/%.2d is earlier", month2, day2, year2);
}
else if (day1 < day2)
{
printf("The %.2d/%.2d/%.2d is earlier", month1, day1, year1);
}
else
{
printf("SAME!");
}
}
}
return 0;
}
10.
#include<stdio.h>
int main(void)
{
int grade;
printf("Enter your numercial grade: ");
scanf_s("%d", &grade);
if (grade < 0 || grade>100)
{
printf("llegal grade!");
return 0;
}
grade = grade / 10;
switch (grade)
{
case 10:
case 9:
printf("Your latter grade is A");
break;
case 8:
printf("Your latter grade is B");
break;
case 7:
printf("Your latter grade is C");
break;
case 6:
printf("Your latter grade is D");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("Your latter grade is F");
break;
}
return 0;
}
11.
#include<stdio.h>
int main(void)
{
int number, i;
printf("Enter a two-digit number: ");
scanf_s("%d", &number);
i = number / 10;
if (i == 1)
{
i = number % 10;
switch (i)
{
case 9:
printf("nineteen");
break;
case 8:
printf("eighteen");
break;
case 7:
printf("seventeen");
break;
case 6:
printf("sixteen");
break;
case 5:
printf("fifteen");
break;
case 4:
printf("fourteen");
break;
case 3:
printf("thirteen");
break;
case 2:
printf("twelve");
break;
case 1:
printf("eleven");
break;
}
}
else
{
switch (i)
{
case 9:
printf("ninety");
break;
case 8:
printf("eighty");
break;
case 7:
printf("seventy");
break;
case 6:
printf("sixty");
break;
case 5:
printf("fifty");
break;
case 4:
printf("forty");
break;
case 3:
printf("thirty");
break;
case 2:
printf("twenty");
break;
}
i = number % 10;
switch (i)
{
case 9:
printf("nine");
break;
case 8:
printf("eight");
break;
case 7:
printf("seven");
break;
case 6:
printf("sixt");
break;
case 5:
printf("five");
break;
case 4:
printf("four");
break;
case 3:
printf("three");
break;
case 2:
printf("two");
break;
case 1:
printf("one");
break;
}
}
return 0;
}