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;
}

输出

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

相关推荐
开开心心就好3 天前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
数据皮皮侠AI4 天前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节
计算机毕业论文辅导7 天前
物联网实战:基于MQTT协议的智能家居数据传输系统设计与实现
1024程序员节
开开心心就好8 天前
支持批量处理的视频分割工具推荐
安全·智能手机·rust·pdf·电脑·1024程序员节·lavarel
liuyao_xianhui10 天前
Linux开发工具结尾 _make
linux·运维·服务器·数据结构·哈希算法·宽度优先·1024程序员节
学传打活12 天前
【边打字.边学昆仑正义文化】_21_爱的结晶(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
数据皮皮侠AI19 天前
顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备
大数据·人工智能·笔记·能源·1024程序员节
Fab1an20 天前
Busqueda——Hack The Box 靶机
linux·服务器·学习·1024程序员节
技术专家20 天前
Stable Diffusion系列的详细讨论 / Detailed Discussion of the Stable Diffusion Series
人工智能·python·算法·推荐算法·1024程序员节
学传打活23 天前
古代汉语是源,现代汉语是流,源与流一脉相承。
微信公众平台·1024程序员节·汉字·中华文化