用C语言来设计,不用ctype已知s1是最多包含50个字符的字符串数组, p 是指向s1的指针。(1)用 gets 函数输入字符串给s1。(2)要求用指针 p 书写程序,将s1中大写字母改写成小写字母,小写字母改写成大写字母其他字符不变,这部分代码不能出现s1变量。(3)最后使用 puts 输出修改后的s1。
时间: 2024-02-17 22:03:09 浏览: 83
C语言程序设计-输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数;
5星 · 资源好评率100%
好的,这是一个简单的C语言编程问题,我会给您提供代码:
```c
#include <stdio.h>
int main() {
char s1[51];
char *p = s1; // 将指针p指向s1数组
gets(s1); // 输入字符串
while (*p != '\0') { // 逐字符判断
if (*p >= 'a' && *p <= 'z') { // 如果是小写字母
*p = *p - 32; // 转换为大写字母
} else if (*p >= 'A' && *p <= 'Z') { // 如果是大写字母
*p = *p + 32; // 转换为小写字母
}
p++; // 指针p向后移动一个位置
}
puts(s1); // 输出修改后的字符串
return 0;
}
```
这段代码首先定义了一个最多包含50个字符的字符串数组s1和一个指向s1的指针p,然后使用gets函数输入字符串给s1。
接着,使用while循环逐字符判断,如果是小写字母就转换为大写字母,如果是大写字母就转换为小写字母,最后将指针p向后移动一个位置。
最后使用puts函数输出修改后的字符串s1。
注意:在实际开发中,使用gets函数容易导致缓冲区溢出,建议使用fgets函数来替代。
阅读全文