练习题
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;
}