第3章 格式化输入/输出

练习题

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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值