Q500.(10分数, 语言: C)利用指针能直接操作内存的特点来编程输出字符串中每个字符在内存中的存储编码(字符串中可以包含英文数字和汉字)。
程序的运行示例1如下:
请输入一个字符串,长度小于等于100:abcABC012中国人
该字符串的内存编码为: 61 62 63 41 42 43 30 31 32 d6 d0 b9 fa c8 cb
程序的运行示例2如下:
请输入一个字符串,长度小于等于100:12345上山打老虎
该字符串的内存编码为: 31 32 33 34 35 c9 cf c9 bd b4 f2 c0 cf bb a2
提示:
输出格式用"%x "
提示:为了不输出多余的ffff,
请用printf("%x ", (unsigned char)str[i] & 0xff);
或者
if (str[i] > 0xffffff00) printf("%x ", str[i] -0xffffff00);
#include <stdio.h>
#include <string.h>
#define N 100
void main(){
char a[N];
printf("请输入一个字符串,长度小于等于100:");
gets(a);
printf("该字符串的内存编码为:");
printf(" ");
for(int i=0;a[i]!='\0';i++){
printf("%x ",(unsigned char)a[i] & 0xff);
}
}
Q3335.(10分数, 语言: C)英雄卡。小明非常迷恋收集各种干脆面里面的英雄卡,为此他曾经连续一个月都只吃干脆面这一种零食,但是有些稀有英雄卡真的是太难收集到了。后来某商场搞了一次英雄卡兑换活动,只要你有三张编号连续的英雄卡,你就可以换任意编号的英雄卡。小明想知道他最多可以换到几张英雄卡(新换来的英雄卡不可以再次兑换)
输入提示信息:"Input n:", "Input card numbers:"
输入数据格式:"%d"
输出数据