C语言描述:
#include <stdio.h>
#include <ctype.h> // 包含tolower函数的头文件
int main() {
char sentence[1000];
fgets(sentence, sizeof(sentence), stdin); // 读取用户输入的句子
for (int i = 0; sentence[i] != '\0'; i++) {
if (isupper(sentence[i])) { // 判断是否为大写字母
sentence[i] = tolower(sentence[i]); // 转换为小写字母
}
}
printf("转换后的句子为:%s", sentence);
return 0;
}
汇编语言:
include irvine32.inc
.data
sentence BYTE "I am A aPpLe",0 ; 已知的句子
.code
main PROC
mov edx, OFFSET sentence ; edx指向句子数组的起始地址
call ConvertToLower ; 调用转换函数
mov edx, OFFSET sentence ; edx重新指向句子数组的起始地址
call WriteString ; 输出转换后的句子
exit
main ENDP
ConvertToLower PROC
mov esi, edx ; esi指向句子数组的起始地址
L1:
mov al, [esi] ; 将句子中的字符复制到al
cmp al, 0 ; 判断是否到达字符串结束符
je Done ; 如果是,则结束程序
cmp al, 'A' ; 检查字符是否为大写字母
jb NextChar ; 如果不是大写字母,则跳到下一个字符
cmp al, 'Z'
ja NextChar
add al, 32 ; 将大写字母转换为小写字母
mov [esi], al ; 将转换后的字符存回句子数组中
NextChar:
inc esi ; 指向下一个字符
jmp L1 ; 继续处理下一个字符
Done:
ret
ConvertToLower ENDP
END main
运行结果:

本文展示了如何使用C语言和汇编语言分别对用户输入的句子进行大写字母转小写操作,通过`tolower`函数实现字符转换并输出结果。
8603

被折叠的 条评论
为什么被折叠?



