中国不少大学计算机专业都在使用卡耐基梅隆的SSD系列教程,上面的作业可谓是让我们学生煞费苦心,这个学期学习了SSD6,将辛辛苦苦做出来的答案整理一下,全都发上来,共享给大家,大家传答案至于别忘了vote啊。。。。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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个文件信息
#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个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)