c语言写一段程序,要求:定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转变为小写字母,将原来的小写字母转变为大写字母,其他字符不变。
时间: 2023-06-02 16:08:32 浏览: 36
好的,以下是程序代码:
```
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[80];
int i, len;
printf("请输入一段字符串:\n");
fgets(str, 80, stdin);
len = strlen(str);
for(i=0; i<len; i++) {
if(isupper(str[i])) {
putchar(tolower(str[i]));
}
else if(islower(str[i])) {
putchar(toupper(str[i]));
}
else {
putchar(str[i]);
}
}
return 0;
}
```
相关问题
请用C语言编写如下程序:定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。
以下是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[80];
printf("请输入一串字符:\n");
fgets(str, 80, stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
str[i] = toupper(str[i]);
}
else if (isupper(str[i])) {
str[i] = tolower(str[i]);
}
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
输入一串字符后,程序会遍历字符数组,利用 `islower()` 和 `isupper()` 函数判断每个字符的大小写,然后再利用 `toupper()` 和 `tolower()` 函数转换大小写,最后输出转换后的字符串。
注:如果输入的字符串长度超过了 80,则可能出现问题。
从键盘输入一个字符串到字符数组a中,将其中的大写字符复制到另一个字符数组b中。用C语言
下面是一个简单的C语言程序,可实现输入一个字符串到字符数组a中,将其中的大写字符复制到另一个字符数组b中的功能:
```c
#include <stdio.h>
#include <ctype.h>
#define MAXLEN 100
int main()
{
char a[MAXLEN], b[MAXLEN];
int i, j = 0;
printf("请输入一个字符串:");
fgets(a, MAXLEN, stdin);
for (i = 0; a[i] != '\0'; i++) {
if (isupper(a[i])) {
b[j] = a[i];
j++;
}
}
b[j] = '\0';
printf("大写字符复制到b中的结果为:%s\n", b);
return 0;
}
```
这个程序中,我们使用了C标准库中的`ctype.h`头文件中的`isupper()`函数来判断字符是否为大写字符。`fgets()`函数用于从标准输入(即键盘)读取用户输入的字符串,`MAXLEN`定义了数组a和数组b的最大长度。最后,我们使用了一个循环来遍历数组a中的所有字符,如果该字符是大写字符,则将其复制到数组b中,并将计数器j加1。最后,我们在数组b的末尾加上一个空字符('\0'),以便将其作为字符串输出。