SSD6全部Exercise答案


中国不少大学计算机专业都在使用卡耐基梅隆的SSD系列教程,上面的作业可谓是让我们学生煞费苦心,这个学期学习了SSD6,将辛辛苦苦做出来的答案整理一下,全都发上来,共享给大家,大家传答案至于别忘了vote啊。。。。
资源截图
代码片段和文件信息
#include 
#include 
//46 72 6F 6D 3A
int prologue [] = {
0x5920453A 0x54756F0A 0x6F6F470A 0x21643A6F
0x6E617920 0x680A6474 0x6F697661 0x20646E69
0x63636363 0x63636363 0x72464663 0x6F6D6F72
0x63636363 0x63636363 0x72464663 0x6F6D6F72
0x2C336573 0x7420346E 0x20216F74 0x726F5966
0x7565636F 0x20206120 0x6C616763 0x74206C6F
0x20206F74 0x74786565 0x65617276 0x32727463
0x594E2020 0x206F776F 0x79727574 0x4563200A
};

int data [] = {
0x63636363 0x63636363 0x72464663 0x6F6D6F72
       0x466D203A 0x65693A72 0x43646E20 0x6F54540A
       0x5920453A 0x54756F0A 0x6F6F470A 0x21643A6F
       0x594E2020 0x206F776F 0x79727574 0x4563200A
       0x6F786F68 0x6E696373 0x6C206765 0x796C656B
       0x2C336573 0x7420346E 0x20216F74 0x726F5966
       0x7565636F 0x20206120 0x6C616763 0x74206C6F
       0x20206F74 0x74786565 0x65617276 0x32727463
       0x6E617920 0x680A6474 0x6F697661 0x20646E69
       0x21687467 0x63002065 0x6C6C7861 0x78742078
       0x6578206F 0x72747878 0x78636178 0x00783174
};

int epilogue [] = {
0x594E2020 0x206F776F 0x79727574 0x4563200A
0x6E617920 0x680A6474 0x6F697661 0x20646E69
0x7565636F 0x20206120 0x6C616763 0x74206C6F
0x2C336573 0x7420346E 0x20216F74 0x726F5966
0x20206F74 0x74786565 0x65617276 0x32727463
};

char message[100];

void usage_and_exit(char * program_name) {
fprintf(stderr “USAGE: %s key1 key2 key3 key4
“ program_name);
exit(1);
}

void process_keys12 (int * key1 int * key2) {

*((int *) (key1 + *key1)) = *key2;
}

void process_keys34 (int * key3 int * key4) {

*(((int *)&key3) + *key3) += *key4;
}

char * extract_message1(int start int stride) {
int i j k;
int done = 0;

for (i = 0 j = start + 1; ! done; j++) {
for (k = 1; k < stride; k++ j++ i++) {

if (*(((char *) data) + j) == ‘‘) {
done = 1;
break;
}
 
message[i] = *(((char *) data) + j);
}
}
message[i] = ‘‘;
return message;
}


char * extract_message2(int start int stride) {
int i j;

for (i = 0 j = start; 
 *(((char *) data) + j) != ‘‘;
 i++ j += stride) 
 {
 message[i] = *(((char *) data) + j);
 }
message[i] = ‘‘;
return message;
}

int main (int argc char *argv[])
{
int dummy = 1;
int start stride;
int key1 key2 key3 key4;
char * msg1 * msg2;

key3 = key4 = 0;
if (argc < 3) {
usage_and_exit(argv[0]);
}
key1 = strtol(argv[1] NULL 0);
key2 = strtol(argv[2] NULL 0);
if (argc > 3) key3 = strtol(argv[3] NULL 0);
if (argc > 4) key4 = strtol(argv[4] NULL 0);

process_keys12(&key1 &key2);

start = (int)(*(((char *) &dummy)));
stride = (int)(*(((char *) &dummy) + 1));

if (key3 != 0 && key4 != 0) {
process_keys34(&key3 &key4);
}

msg1 = extract_message1(start stride);

if (*msg1 == ‘‘) {
process_keys34(&key3 &key4);
msg2 = e

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     119296  2010-12-05 22:20  SSD6Exercise答案exec1asc.doc

     文件      31744  2010-12-05 22:20  SSD6Exercise答案exec1exec1.doc

     文件     496128  2010-12-05 22:20  SSD6Exercise答案exec1exec1_an.doc

     文件         94  2010-12-05 22:20  SSD6Exercise答案exec1key.txt

     文件       3117  2010-12-05 22:20  SSD6Exercise答案exec1secret.cpp

     文件       3401  2010-12-05 22:20  SSD6Exercise答案exec1secret.dsp

     文件        537  2010-12-05 22:20  SSD6Exercise答案exec1secret.dsw

     文件      50176  2010-12-05 22:20  SSD6Exercise答案exec1secret.ncb

     文件      49664  2010-12-05 22:20  SSD6Exercise答案exec1secret.opt

     文件       1128  2010-12-05 22:20  SSD6Exercise答案exec1secret.plg

     文件        162  2010-12-05 22:20  SSD6Exercise答案exec1~$asc.doc

     文件     128512  2010-12-05 22:20  SSD6Exercise答案exec1~WRL0004.tmp

     文件       4849  2010-12-05 22:20  SSD6Exercise答案exec2its.c

     文件        499  2010-12-05 22:20  SSD6Exercise答案exec2its.h

     文件       9254  2010-12-05 22:20  SSD6Exercise答案exec2test.c

     文件        771  2010-12-05 22:20  SSD6Exercise答案exec2test.h

     文件       1536  2010-12-05 22:20  SSD6Exercise答案exec2decl.c

     文件      21822  2010-12-05 22:20  SSD6Exercise答案exec2dlab-handout.zip

     文件       4964  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutionits-solve.c

     文件       4968  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutionits.c

     文件        499  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutionits.h

     文件       9254  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiontest.c

     文件     188489  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiontest.exe

     文件        771  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiontest.h

     文件     206332  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiontest.ilk

     文件        622  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutionconfig.pm

     文件       1536  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiondecl.c

     文件       3893  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiondlab.dsp

     文件        531  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiondlab.dsw

     文件      82944  2010-12-05 22:20  SSD6Exercise答案exec2dlab-solutiondlab.ncb

............此处省略391个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)