test 8.2 GPS数据处理(6分)
现在,你的程序要读入一系列GPS输出,其中包含$GPRMC,也包含其他语句。在数据的最后,有一行单独的 END 表示数据的结束。
你的程序要从中找出$GPRMC语句,计算校验和,找出其中校验正确,并且字段2表示已定位的语句,从中计算出时间,换算成北京时间。一次数据中会包含多条$GPRMC语句,以最后一条语句得到的北京时间作为结果输出。
题目内容NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。
NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。
NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$G ...
win10 音量调节快捷键设置
小米的悦米机械键盘买回家以后,发现键盘上没有提供音量调节的快捷键。因为早都被笔记本和带音量调节快捷键的键盘惯坏了,每次到任务栏调节音量感觉特别不方便,所以必须手动设置一个。
导入注册表在网上找到了一个导入注册表的方法。
1234 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,30,E0,43,00,2E,E0,42,00,00,00,00,00
新建一个文本文档,将上面这段代码复制进去保存,修改文件后缀名为.reg,双击运行之后重启计算机。键盘上的F8就被替换成音量减,F9被替换成音量加。反正F8和F9基本没怎么用过,换成音量加减多发挥作用也好。
hex 后的数字的含义前 8 个 00前8个00是版本号和头部字节.
03,00,00,0003表示映射数,02表示 ...
test 8.1 单词长度(4分))
输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
题目内容你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it’s”算一个单词,长度为4。注意,行中可能出现连续的空格。
输入格式输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。
输出格式在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例It’s great to see you here.
输出样例4 5 2 3 3 4
限制时间限制:500ms内存限制:32000kb
代码实现C语言123456789101112131415161718192021#include<stdio.h>#include<string.h>int main() { char words[100]; while (1) { sc ...
test 7.2 鞍点(5分)
给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。你的任务是找出A的鞍点。
题目内容给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。
你的任务是找出A的鞍点。
输入格式输入的第1行是一个正整数n, (1<=n<=100),然后有n行,每一行有n个整数,同一行上两个整数之间有一个或多个空格。
输出格式对输入的矩阵,如果找到鞍点,就输出其下标。下标为两个数字,第一个数字是行号,第二个数字是列号,均从0开始计数。如果找不到,就输出NO题目所给的数据保证了不会出现多个鞍点。
输入样例41 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9
输出样例2 1
限制时间限制:500ms 内存限制:32000kb
代码实现C语言12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505 ...
test 7.1 多项式加法(5分)
一个多项式可以表达为x的各次幂与系数乘积的和,比如:2x6+3x5+12x3+6x+20。现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。程序要处理的幂最大为100。
题目内容一个多项式可以表达为x的各次幂与系数乘积的和,比如:2x6+3x5+12x3+6x+20现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。
程序要处理的幂最大为100。
输入格式总共要输入两个多项式,每个多项式的输入格式如下:
每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。
注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某个幂次的系数为0,就不出现在输入数据中了;0次幂的系数为0时还是会出现在输入数据中。
输出格式从最高幂开始依次降到0幂,如:2x6+3x5+12x3-6x+20注意其中的x是小写字母x,而且所有的符号之间都没有空格,如果某个幂的系数为0则不需要有那项。
输入样例6 25 33 121 60 206 25 32 121 ...
test 6.2 完数(5分)
一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
题目内容一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数。
提示:可以写一个函数来判断某个数是否是完数。
输入格式两个正整数,以空格分隔。
输出格式其间所有的完数,以空格分隔,最后一个数字后面没有空格。如果没有,则输出一行文字:NIL(输出NIL三个大写字母加回车)。
输入样例1 10
输出样例6
限制时间限制:500ms 内存限制:32000kb
代码实现C语言12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include<stdio.h>int isPerfect(int n)& ...
test 6.1 分解质因数(5分)
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
题目内容每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
提示:可以用一个函数来判断某数是否是素数。
输入格式一个整数,范围在[2,100000]内。
输出格式形如:n=axbxcxd或n=n所有的符号之间都没有空格,x是小写字母x。abcd这样的数字一定是从小到大排列的。
输入样例18
输出样例18=2x3x3
限制时间限制:500ms 内存限制:32000kb
代码实现C语言1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859# ...
test 5.1 高精度小数(10分)
请写一个程序,输入一个分数,计算出它的小数形式。无论是否可以除尽,输出最多小数点后200位。
题目内容由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。
(0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果以多个整数来表示,每个整数表示结果的一位。即商的第一位用一个整数来表示,第二位用另一个整数来表示,以此类推,就可以输出一个高精度的除法结果了。
如16/19的结果0.8421052631…就可以依次输出8、4、2、1、0、5、2、6、3、1…。
而除法的过程,则可以模仿人工列竖式做除法的方式,先将被除数乘以10,得到一位商以后,将余数乘以10作为下一轮计算的被除数:
160/19->8余8
80/19->4余4
...
当某次余数为0时,则表明除尽。
现在,请写一个程序,输入一个分数,计算出它的小数形式。无论是否可以除尽,输出最多小数点后200位。
输入格式形如 a/b 的两个数,其中10<=a<b<100。也就是说,这个小数一定是小于1的正数。
提示:输入是 ...
test 4.2 念整数(5分)
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
题目内容你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。如输入1234,则输出:yi er san si注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:fu er san si yi
输入格式一个整数,范围是[-100000,100000]。
输出格式表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
输入样例-30
输出样例fu san ling
限制时间限制:500ms 内存限制:32000kb
代码实现C语言1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465#include<stdio.h>int main( ...
test 4.1 素数和(5分)
给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
题目内容我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式两个整数,第一个表示n,第二个表示m。
输出格式一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例2 4
输出样例15
限制时间限制:500ms内存限制:32000kb
代码实现C语言12345678910111213141516171819202122232425262728#include<stdio.h>int main() { int n; int m; scanf("%d %d", &n, &m); int cnt = 1; int sum = 0; for (int di ...