PTA作业笔记

您所在的位置:网站首页 汉字的机内码由两个字节组成,每个字节的取值 PTA作业笔记

PTA作业笔记

2024-07-12 03:35| 来源: 网络整理| 查看: 265

PTA前十题 7-2 输入输出整数7-3 输入输出单精度实数7-4 输入输出双精度实数7-5 输入输出字符7-6 整数的各种形式输出7-7 混合无间隔输入输出7-8 日期格式化7-9 区位码输入法

写在前面:不是很难的题目直接放上代码,只作为记录 初学C语言的时候涉及到的输入输出不会很难,但是需注意“原样输入这个问题”。特别是在一些期末考试或者二级题目中会出现这样的问题。 这一部分重要的不是把答案做出来,更重要的是培养一个C语言的语法习惯,比如:括号成对出现、单词拼写正确、不是void的函数直接先写return,这些习惯会让后期写长代码减少很多的编译问题和逻辑问题。写给自己!!!习惯和思维远比刷题本身更重要!!

7-2 输入输出整数

输入1个绝对值不超过100000的整数A。 在这里插入图片描述

#include int main() { int a=0; scanf("%d",&a); printf("%d",a); return 0; } 7-3 输入输出单精度实数

本题目要求读入1个单精度实数,然后输出这个实数,显示两位小数。 小贴士:输入/输出的单精度控制格式用%f,输出用%.nf表示输出的数显示n位小数。 在这里插入图片描述

#include int main() { float a; scanf("%f", &a); printf("%.2f",a); return 0; } 7-4 输入输出双精度实数

本题目要求读入1个双精度实数,然后再输出它,显示两位小数。 小贴士:双精度输入时候用%lf ,不是%f,输出和float相同%f. 在这里插入图片描述

#include int main() { double a; scanf("%lf", &a); printf("%.2f",a); return 0; } 7-5 输入输出字符

本题目要求读入1个字符,输出此字符和其对应的十进制数。 小贴士:字符输入输出控制格式是%c 。题目有逗号,注意一并输出。另外,char 变量在内存中存储的是字符对应的 ASCII 码值,因此 如果以 %d 输出,那么是 ASCII码值整数。反过来一个整型,也能用%c输出。 在这里插入图片描述

#include int main() { char a; scanf("%c",&a); printf("%c,%d",a,a); return 0; } 7-6 整数的各种形式输出

本题目要求读入1个整数,输出此整数的十进制表示,八进制表示和十六进制表示,还有无符号整数表示。 小贴士:%o是八进制整数格式,十六进制请自己查阅资料。 八进制和十六进制是对二进制的改进,增加二进制数的可读性,二进制表示内存地址时候太长了,且容易出错,因此都采用十六进制来表示内存地址,一个32位地址只需要8位十六进制的数,而如果用二进制表示则是32位0和1构成的码,八进制是中间过渡产品,比如工业领域的PLC控制器仍然保留八进制的使用。 在这里插入图片描述

#include int main() { int a; scanf("%d",&a); printf("%d,%o,%x,%u",a,a,a,a); return 0; } 7-7 混合无间隔输入输出

本题目要求读入1个整数,1个字符和1个双精度实数,然后依次输出它们,用逗号隔开。 小贴士:用%c输入数据时候,要特别小心,%c会把空格当作字符读进来,因此不能用空格当作输入的分隔符。比如scanf(“%d%c”,&p1,&p2);输入的时候:10 a是错误的,因为10和a之间有空格,空格会当作有效输入赋给p2. 在这里插入图片描述

#include int main() { int a; char b; double c; scanf("%d%c%lf",&a,&b,&c); printf("%d,%c,%lf",a,b,c); return 0; } 7-8 日期格式化

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

本题需要注意的的是输出日和月需要有0来填充十位

在这里插入图片描述

#include int main() { int a, b, c; scanf("%d-%d-%d",&a,&b,&c); //注意需要控制前导零 printf("%d-%02d-%02d",c,a,b); return 0; } 7-9 区位码输入法

国标 GB2312-80 全部汉字与图形符号排列成 94×94 的一张大表:

每一行称为一个“区”(01 区 ~ 94 区), 每一列称为一个“位”(01 位 ~ 94 位)。 汉字的机内码由高、低字节两个字节组成,它们分别是区码和位码加 160 得到的。即:

高字节 = 区码 + 160 低字节 = 位码 + 160

以汉字“爱”为例,其区位码为 1614,即 16 区、14 位,该汉字的两个字节分别为:

16 + 160 = 176 14 + 160 = 174

依次输出这两个字节(字符) putchar(176); putchar(174); 在这里插入图片描述

#include int main() { int a, b; scanf("%d", &a); b = a / 100 + 160;//高两位 a = a % 100 + 160;//低两位 putchar(b); putchar(a); return 0; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3