输入一个字符串,输出字符串中所有的大写字母。我的代码是这样的 #include
int main() {char a[80], b[80];gets(a);int i, j = 0;for (i = 0; a[i] != '\0'; i++) {if (a[i] >= 'A'&&a[i] <= 'Z') {b[j] = a[i]; j++;}
干嘛还要放到b数组?直接输出不就完事了么
#include <stdio.h>
int main()
{
char s[1000];
int i=0;
gets(s);
while(s[i] != 0)
{
if(s[i] >='A' && s[i] <='Z')
printf("%c",s[i]);
i++;
}
}
ChatGPT尝试为您解答,仅供参考
为了输出字符串中所有的大写字母,可以在循环中判断字符是否在 'A' 和 'Z' 之间,如果是,就将字符加入新的字符串 b 中。最后,可以使用 puts 函数将 b 输出到屏幕上。
代码如下:
#include <stdio.h>
int main()
{
char a[80], b[80];
gets(a); // 输入字符串 a
int i, j = 0; // j 用于记录 b 的长度
for (i = 0; a[i] != '\0'; i++)
{ // 遍历字符串 a
if (a[i] >= 'A' && a[i] <= 'Z')
{ // 判断字符是否为大写字母
b[j] = a[i]; // 将字符加入新的字符串 b
j++; // 增加 b 的长度
}
}
puts(b); // 输出字符串 b
return 0;
}
请注意,在这里使用了 gets 函数来输入字符串,但是 gets 函数已经被废弃,它会有安全风险,因此建议使用 fgets 函数来替代 gets 函数。