练习题
1.
printf函数格式串中的字符|只是用来帮助显示每个数所占用的空格数量
#include<stdio.h>
int main(void)
{
printf("|%6d,%4d|\n", 86, 1040);
printf("|%12.5e|\n", 30.253);
printf("|%.4f|\n", 83.162);
printf("|%-6.2g|\n", .0000009979);
return 0;
}
2.
printf函数格式串中的字符|只是用来帮助显示每个数所占用的空格数量
#include<stdio.h>
int main(void)
{
float x = 3.1415926;
printf("|%-8.1e|\n", x);
printf("|%10.6e|\n", x);
printf("|%-8.3f|\n", x);
printf("|%6.0f|\n", x);
return 0;
}
3.
(a) 等价
(b) 不等价:尝试1-2-3和1 - 2 - 3
(c) 不等价:原因同书P35页“⚠”中内容
(d) 等价
4.
#include<stdio.h>
int main(void)
{
int i, j;
float x;
scanf_s("%d%f%d", &i, &x, &j);
printf("%d %d %f", i, j, x);
return 0;
}
5.
#include<stdio.h>
int main(void)
{
int i;
float x, y;
scanf_s("%f%d%f", &x, &i, &y);
printf("%d %f %f", i, x, y);
return 0;
}
6.
#include <stdio.h>
int main(void)
{
int num1, denom1, num2, denom2, result_num, result_denom;
printf("Enter first fraction: ");
scanf_s("%d /%d", &num1, &denom1);
printf("Enter second fraction: ");
scanf_s("%d /%d", &num2, &denom2);
result_num = num1 * denom2 + num2 * denom1;
result_denom = denom1 * denom2;
printf("The sum is %d/%d\n", result_num, result_denom);
return 0;
}
编程题
1.
#include<stdio.h>
int main(void)
{
int day, month, year;
scanf_s("%d/%d/%d", &month, &day, &year);
printf("%.4d%.2d%.2d", year, month, day);
return 0;
}
2.
#include<stdio.h>
int main(void)
{
int number, month, day, year;
float price;
printf("Enter item number: ");
scanf_s("%d", &number);
printf("Enter unit price: ");
scanf_s("%f", &price);
printf("Enter purchase date (mm/dd/yyyy): ");
scanf_s("%d/%d/%d", &month, &day, &year);
printf("Item\t\tUnit\t\tPurchase\n\t\tPrice\t\tDate\n");
printf("%d\t\t$%7.2f\t%.2d/%.2d/%.4d", number, price, month, day, year);
return 0;
}
3.
#include<stdio.h>
int main(void)
{
int GS1_predix, Group_identifier, Publisher_code, Check_digit, Item_number;
printf("Enter ISBN: ");
scanf_s("%d-%d-%d-%d-%d", &GS1_predix, &Group_identifier, &Publisher_code, &Item_number, &Check_digit);
printf("GS1 predix: %d\n", GS1_predix);
printf("Group identifier: %d\n", Group_identifier);
printf("Publisher code: %d\n", Publisher_code);
printf("Item number: %d\n", Item_number);
printf("Check digit: %d\n", Check_digit);
return 0;
}
4.
#include<stdio.h>
int main(void)
{
int a, b, c;
printf("Enter phone number [(xxx) xxx-xxxx]: ");
scanf_s("(%d) %d-%d", &a, &b, &c);
printf("yout entered: %d.%d.%d", a, b, c);
return 0;
}
5.
#include<stdio.h>
int main(void)
{
int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16;
printf("Enter the number from 1 to 16 in any order: ");
scanf_s("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", &a1, &a2, &a3, &a4, &a5, &a6, &a7,
&a8, &a9, &a10, &a11, &a12, &a13, &a14, &a15, &a16);
printf("%2d\t%2d\t%2d\t%2d\n", a1, a2, a3, a4);
printf("%2d\t%2d\t%2d\t%2d\n", a5, a6, a7, a8);
printf("%2d\t%2d\t%2d\t%2d\n", a9, a10, a11, a12);
printf("%2d\t%2d\t%2d\t%2d\n", a13, a14, a15, a16);
printf("Row sums: %d %d %d %d\n",
(a1 + a2 + a3 + a4), (a5 + a6 + a7 + a8),
(a9 + a10 + a11 + a12), (a13 + a14 + a15 + a16));
printf("Column sums: %d %d %d %d\n",
(a1 + a5 + a9 + a13), (a2 + a6 + a10 + a14),
(a3 + a7 + a11 + a15), (a4 + a8 + a12 + a16));
printf("Diagonal sums: %d %d\n",
(a1 + a6 + a11 + a16), (a4 + a7 + a10 + a13));
return 0;
}
6.
#include<stdio.h>
int main(void)
{
int num1, num2, denom1, denom2, result_num, result_denom;
printf("Enter two fractions seperated by a plus sign: ");
scanf_s("%d/%d+%d/%d", &num1, &denom1, &num2, &denom2);
result_num = num1 * denom2 + num2 * denom1;
result_denom = denom1 * denom2;
printf("The sum is %d/%d", result_num, result_denom);
return 0;
}