大连理工C语言作业答案解析:整数判断与字符操作

版权申诉
5星 · 超过95%的资源 33 下载量 31 浏览量 更新于2024-07-20 9 收藏 367KB PDF 举报
本周的C语言作业涵盖了大连理工大学的基础课程,包括对整数和浮点数的处理以及字符操作。首先,我们来看第一个题目,要求根据输入的整数`m`判断其是否能被3或5整除。通过`%`运算符检查余数,如果`m`除以3或5的余数为0,那么输出1,否则输出-1。代码中使用了`if-else`语句结构来实现这一逻辑: ```c #include<stdio.h> int main() { int m, x; scanf("%d", &m); if (m % 3 == 0 || m % 5 == 0) x = 1; else x = -1; printf("%d", x); return 0; } ``` 接下来是教材P57上的程序完善题,涉及到浮点数`x`的正负判断。当`x`小于0时,结果赋值为-1;如果`x`在0到1之间,结果为0;否则结果为1。这展示了如何根据条件给变量`y`赋值,并用`printf`输出结果: ```c #include<stdio.h> int main() { int y; float x; scanf("%f", &x); if (x < 0) y = -1; else if (x >= 0 && x <= 1) y = 0; else y = 1; printf("y=%d\n", y); return 0; } ``` 到了Week2,学习内容转向字符操作。第5章的编程题涉及字符的大小写转换。首先,当用户输入一个小写字母时,通过将ASCII码减去32将其转换为大写;反之,对于大写字母,通过加上32转为小写: ```c #include<stdio.h> main() { char c; c = getchar(); if (c >= 'A' && c <= 'Z') c = c + 32; // 转换为小写 else if (c >= 'a' && c <= 'z') c = c - 32; // 转换为大写 printf("c=%c", c); } ``` 最后一个题目是要求输入一个大写字母,然后输出其前后两个字母。当输入的是'A'或'Z'时,由于它们已经是边界,所以提示没有前一个或后一个字母。代码实现了这个逻辑: ```c #include<stdio.h> main() { char c; c = getchar(); if (c > 'A' && c < 'Z') printf("%c%c\n", c - 1, c + 1); // 输出前后字母 else if (c == 'A') printf("no character ahead!\n"); // 没有前一个字母 else printf("no character behind!\n"); // 没有后一个字母 } ``` 这些题目不仅考察了基础的C语言语法,还涉及到了条件控制结构、输入输出和字符编码的理解。通过完成这些练习,学生可以巩固C语言的实践技能,为后续的编程学习打下坚实的基础。