C语言程序设计:现代设计方法习题笔记《chapter4》

第一题

示例代码:

cpp 复制代码
#include<stdio.h>

int main()
{
	printf("Enter a two-digit number: ");
	int number,ten_n,g_n;
	scanf_s("%d", &number);
	ten_n = number / 10;
	g_n = number % 10;
	printf("The reversal is %d%d", g_n, ten_n);
	return 0;
}

输出:

​​​​​​​

第二题

​​​​​​​ ​​​​​​​

解题思路:这道题的解题思路有很多,一种思路就是分别求出每个位上的数字,然后排序输出,不难给出代码。

示例代码:

cpp 复制代码
#include<stdio.h>

int main()
{
	printf("Enter a two-digit number: ");
	int number, hund_n, ten_n, g_n;
	scanf_s("%d", &number);
	hund_n = number / 100;
	ten_n = (number-hund_n*100) / 10;
	g_n = (number-hund_n*100) % 10;
	//g_n = number-hund_n*100-ten_n*10;
	printf("The reversal is %d%d%d", g_n, ten_n, hund_n);
	return 0;
}

输出

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

第三题

解题思路:%1d代表一位整数,所以输入的数字是按照个数组合起来的,而不是眼睛看起来通常意义上的几百,如此可以解答。

示例代码:

cpp 复制代码
#include<stdio.h>

int main()
{
	printf("Enter a two-digit number: ");
	int  hund_n, ten_n, g_n;
	scanf_s("%1d", &hund_n);
	scanf_s("%1d", &ten_n);
	scanf_s("%1d", &g_n);
	
	//g_n = number-hund_n*100-ten_n*10;
	printf("The reversal is %d%d%d", g_n, ten_n, hund_n);
	return 0;
}

输出

​​​​​​​ ​​​​​​​ ​​​​​​​

第四题

解题思路:根据题中提示,需要用累除连续除4次8,然后将余数排列出来即可。

示例代码

cpp 复制代码
#include<stdio.h>

int main()
{
	printf("Enter a number betweeen 0 and 32767: ");
	int number;
	scanf_s("%d", &number);
	int a, b, c, d, e;
	int temp_y, temp_r;
	temp_y = number % 8;
	a = temp_y;

	temp_r = number / 8;
	b = temp_r % 8;

	temp_r = temp_r / 8;
	c = temp_r % 8;

	temp_r = temp_r / 8;
	d = temp_r % 8;

	temp_r = temp_r / 8;
	e = temp_r % 8;
	printf("%d%d%d%d%d", e, d, c, b, a);
	return 0;
}

输出

​​​​​​​ ​​​​​​​ ​​​​​​​

第五题

题目分析:这个题不难,关键在于审题,计算规则要看清楚,别搞错了。

示例代码

cpp 复制代码
#include<stdio.h>
int main()
{
	int b, a1, a2, a3, a4, a5, b1, b2, b3, b4, b5;
	printf("Enter the first 11 digits of UPC: ");
	scanf_s("%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d",&b, &a1, &a2, &a3, &a4, &a5, &b1, &b2, &b3, &b4, &b5);
	int result;
	int first_sum,second_sum, total;
	first_sum = b + a2 + a4 + b1 + b3 + b5;
	second_sum = a1 + a3 + a5 + b2 + b4;
	total = 3 * first_sum + second_sum;
	result = 9 - (total - 1) % 10;
	printf("Check digit: %d", result);
	return 0;
}

输出

​​​​​​​ ​​​​​​​

第六题

题目分析:这种长臭的题,耐心看,提取出有用信息转换为代码语言。

示例代码

cpp 复制代码
#include<stdio.h>
int main()
{
	int a1, a2, a3, a4, a5,a6, b1, b2, b3, b4, b5, b6;
	printf("Enter the first 11 digits of UPC: ");
	scanf_s("%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%d", &a1, &a2, &a3, &a4, &a5,&a6, &b1, &b2, &b3, &b4, &b5,&b6);
	int result;
	int first_sum, second_sum, total;
	first_sum = a6 + a2 + a4 + b2 + b4 + b6;
	second_sum = a1 + a3 + a5 + b1 + b3+b5;
	total = 3 * first_sum + second_sum;
	result = 9 - (total - 1) % 10;
	printf("Check digit: %d", result);
	return 0;
}

输出

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

相关推荐
CoderJia程序员甲5 分钟前
重学SpringBoot3-Spring WebFlux之HttpHandler和HttpServer
java·spring boot·reactor·1024程序员节
长潇若雪1 小时前
指针进阶(四)(C 语言)
c语言·开发语言·经验分享·1024程序员节
混迹网络的权某2 小时前
每天一道C语言精选编程题之求数字的每⼀位之和
c语言·开发语言·考研·算法·改行学it·1024程序员节
IronmanJay5 小时前
【LeetCode每日一题】——862.和至少为 K 的最短子数组
数据结构·算法·leetcode·前缀和·双端队列·1024程序员节·和至少为 k 的最短子数组
加载中loading...6 小时前
Linux线程安全(二)条件变量实现线程同步
linux·运维·服务器·c语言·1024程序员节
Wx120不知道取啥名6 小时前
C语言之长整型有符号数与短整型有符号数转换
c语言·开发语言·单片机·mcu·算法·1024程序员节
biomooc7 小时前
R语言 | paletteer包:拥有2100多个调色板!
r语言·数据可视化·1024程序员节
Hello.Reader7 小时前
FFmpeg 深度教程音视频处理的终极工具
ffmpeg·1024程序员节
Y.O.U..8 小时前
STL学习-容器适配器
开发语言·c++·学习·stl·1024程序员节
就爱敲代码8 小时前
怎么理解ES6 Proxy
1024程序员节