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 天前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·pdf·1024程序员节·oneflow
学传打活7 天前
【边打字.边学昆仑正义文化】_12_生命价值的体现(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
开开心心就好8 天前
小巧绿色免费关机工具,支持定时倒计时
linux·运维·服务器·安全·powerpoint·1024程序员节·foxmail
开开心心就好9 天前
跨平台高速下载工具,支持浏览器功能强大
运维·服务器·windows·pdf·旅游·媒体·1024程序员节
开开心心就好1 个月前
内存清理软件灵活设置,自动阈值快捷键清
运维·服务器·windows·pdf·harmonyos·risc-v·1024程序员节
学传打活1 个月前
【边打字.边学昆仑正义文化】_5_宇宙物种创造简史(1)
微信公众平台·1024程序员节·汉字·昆伦正义文化
xcLeigh1 个月前
打破机房围墙:VMware+cpolar构建跨网络虚拟实验室
vmware·内网穿透·cpolar·实验室·远程访问·1024程序员节
开开心心就好1 个月前
免费轻量电子书阅读器,多系统记笔记听书
linux·运维·服务器·安全·ddos·可信计算技术·1024程序员节
unable code1 个月前
流量包取证-大流量分析
网络安全·ctf·misc·1024程序员节·流量包取证