程序功能:输入一个字符串s1,将其中的大写字母转换为对应的小写字母,小写字母转换为对应的大写字母,其它字符不变。用s2存储转换后的结果(s1不变),并输出串s2,编写转换函数完成此功能。 如:输入串s1:a#Bc345D3 输出串s2:A#bC345d3 #include<stdio.h> #define L 256 void convert( char str1char str2 ); #include<stdio.h> main() { char s1[L],s2[L]; puts("input a string:"); gets(s1); convert(s1s2); puts(s2); } void convert( char str1char str21) {/*填写相应代码*/
时间: 2024-03-17 16:40:03 浏览: 22
代码如下:
```c
#include <stdio.h>
#include <string.h>
#define L 256
void convert(char str1[], char str2[]) {
int i;
for (i = 0; str1[i] != '\0'; i++) {
if (str1[i] >= 'a' && str1[i] <= 'z') {
str2[i] = str1[i] - 'a' + 'A';
} else if (str1[i] >= 'A' && str1[i] <= 'Z') {
str2[i] = str1[i] - 'A' + 'a';
} else {
str2[i] = str1[i];
}
}
str2[i] = '\0';
}
int main() {
char s1[L], s2[L];
puts("input a string:");
gets(s1);
convert(s1, s2);
printf("%s\n", s2);
return 0;
}
```
注意:这里使用了C标准库中的`gets()`函数,但是这个函数不安全,容易导致缓冲区溢出漏洞,建议使用`fgets()`函数代替。
相关问题
输入一个字符串s1,统计大写字母,小写字母,数字,空格,以及其他字符出现的次数。字符串长度不超过50。
题意:输入一个字符串s1,统计大写字母、小写字母、数字、空格,以及其他字符出现的次数。字符串长度不超过50。
解题思路:遍历字符串s1,用isupper()、islower()、isdigit()、isspace()等函数判断每个字符的类型,用计数器来统计出现次数。
代码实现:
s1 = input("请输入一个字符串:")
upper_count = 0 # 大写字母计数器
lower_count = 0 # 小写字母计数器
digit_count = 0 # 数字计数器
space_count = 0 # 空格计数器
other_count = 0 # 其他字符计数器
for ch in s1:
if ch.isupper():
upper_count += 1
elif ch.islower():
lower_count += 1
elif ch.isdigit():
digit_count += 1
elif ch.isspace():
space_count += 1
else:
other_count += 1
print("大写字母个数:%d" % upper_count)
print("小写字母个数:%d" % lower_count)
print("数字个数:%d" % digit_count)
print("空格个数:%d" % space_count)
print("其他字符个数:%d" % other_count)
C语言:输入一个字符串S1,统计大写字母,小写字母,数字,空格,以及其他字符出现的次数。字符串长度不超过50。 输入格式: 输入S1。 输出格式: 输出占5行,依次为大写字母,小写字母,数字,空格,以及其他字符出现的次数。
ChitGPT: 好的,下面是C语言的程序实现:
```c
#include <stdio.h>
int main()
{
char str[51];
int i, upper=0, lower=0, digit=0, space=0, other=0;
printf("请输入字符串S1:\n");
gets(str);
for(i=0; str[i]!='\0'; i++)
{
if(str[i]>='A' && str[i]<='Z')
upper++;
else if(str[i]>='a' && str[i]<='z')
lower++;
else if(str[i]>='0' && str[i]<='9')
digit++;
else if(str[i]==' ')
space++;
else
other++;
}
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("数字:%d\n", digit);
printf("空格:%d\n", space);
printf("其他字符:%d\n", other);
return 0;
}
```
请确认以上程序是否符合您的要求。