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

本周的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语言的实践技能,为后续的编程学习打下坚实的基础。
165 浏览量
329 浏览量
2021-09-30 上传
2023-02-28 上传
130 浏览量
2024-03-12 上传


创创大帝(水印很浅-下载的文档)
- 粉丝: 2500
最新资源
- Swift实现渐变圆环动画的自定义与应用
- Android绘制日历教程与源码解析
- UCLA LONI管道集成Globus插件开发指南
- 81军事网触屏版自适应HTML5手机网站模板下载
- Bugzilla4.1.2+ActivePerl完整安装包
- Symfony SonataNewsBundle:3.x版本深度解析
- PB11分布式开发简明教程指南
- 掌握SVN代码管理器,提升开发效率与版本控制
- 解决VS2010中ActiveX控件未注册的4个关键ocx文件
- 斯特里尔·梅迪卡尔开发数据跟踪Android应用
- STM32直流无刷电机控制实例源码剖析
- 海豚系统模板:高效日内交易指南
- Symfony CMF路由自动化:routing-auto-bundle的介绍与使用
- 实现仿百度下拉列表框的源码解析
- Tomcat 9.0.4版本特性解析及运行环境介绍
- 冒泡排序小程序:VC6.0实现代码解析