多组数据,每组数据包括整数m、n,m为内存的长度,以byte为单位,
n为指令的个数,其后n行包括n条指令,2<=m<=20, 1<=n<=10。输入数据保证不越界。
标签:
每组数据一行,用16进制输出最后的内存值,16进制中的ABCDEF用大写字母
1 #include <stdio.h> 2 #include <string.h> 3 int main() { 4 int m, n; 5 char buf[20], cmd[5]; 6 int i; 7 int from, size, to_value; 8 while (scanf("%d%d", &m, &n) != EOF) { 9 memset(buf, 0, m); 10 for (i = 0; i < n; i++) { 11 scanf("%s%d%d%d", cmd, &from, &size, &to_value); 12 if (cmd[0] == ‘s‘) { 13 memset(buf + from, to_value, size); 14 } else { 15 memmove(buf + to_value, buf + from, size); 16 } 17 } 18 for (i = 0; i < m; i++) { 19 printf("%02X", buf[i]); 20 } 21 printf("\n"); 22 } 23 return 0; 24 }
代码不是我修改的,同学帮我看的。
下面是三个需要了解的函数,我在百度上找到的,虽然不太精确,但也可以懂了。
http://baike.baidu.com/link?url=yOyPxGIYBZrTpi5_AqCNZVJ2QoG6I5yuVfVgjZRvzWwMFVH7_-mhoqzGsGFVm7uir698K9bjy_1O2vY8aY1Ky_
http://baike.baidu.com/link?url=ovGppkijQ9ODwKa1Pm43gllSTBL3dIQkmsaXQXl6JSMpsudOpaorA0eJl_npokIgQgQhzt0fXJ1r9e2n6gRMVK
http://baike.baidu.com/link?url=B-ZYULjMcrjtJ9DVLXzhIpFveAwnV4NOlxmYqEQjxIITntepIcWE8ELmm7hdGPgy0pYBWP_kzRqj3rTu1-O1v_
标签:
原文地址:http://www.cnblogs.com/baigg1995/p/4604595.html