程序功能:输入一个长度小于80的字符串,查找其中的大写字母,并按原输入的顺序生成一个新的字符串输出到屏幕。 输入样例: Hello C Program! 输出样例: HCP 源程序: #include <stdio.h> #include <string.h> int main(void) { char s[80],t[80]; int i,j=0; gets(s); for(i=0; i< ; i++) if(s[i]>='A' s[i]<='Z') { t[j]= ; j++; } t[j]= '\0'; printf(" ",t); return 0; }
时间: 2024-03-25 12:35:42 浏览: 13
感谢提供源程序。这个程序的功能和我前面给出的 Python 示例程序是一样的。
这里是该程序的修改版,请根据下面给出的代码进行修改:
```c
#include <stdio.h>
#include <string.h>
int main(void) {
char s[80], t[80];
int i, j = 0;
// 获取用户输入的字符串
gets(s);
// 遍历输入的字符串中的每个字符
for (i = 0; i < strlen(s); i++) {
// 如果该字符是大写字母,则将其添加到新字符串中
if (s[i] >= 'A' && s[i] <= 'Z') {
t[j] = s[i];
j++;
}
}
// 在新字符串的末尾添加结束符
t[j] = '\0';
// 输出生成的新字符串
printf("%s", t);
return 0;
}
```
需要注意的是,`gets()` 函数在 C11 标准中已经被废弃,因为它会存在安全问题。建议使用 `fgets()` 函数来代替 `gets()` 函数。
相关问题
程序功能:输入一个长度小于80的字符串,查找其中的大写字母,并按原输入的顺序生成一个新的字符串输出到屏幕。
好的,以下是实现该功能的 Python 代码:
```python
string = input("请输入一个长度小于80的字符串:")
new_string = ""
for char in string:
if char.isupper():
new_string += char
print("新字符串为:", new_string)
```
代码解释:
1. 用户输入一个字符串。
2. 初始化一个空字符串 `new_string`,用于存储新生成的字符串。
3. 遍历输入的字符串中的每一个字符 `char`。
4. 如果 `char` 是大写字母,就将其加入到 `new_string` 中。
5. 遍历完成后,输出新字符串 `new_string`。
c语言编写:输入一个长度小于80的字符串,统计其中字母的个数
好的,以下是使用C语言编写的程序,实现统计输入字符串中字母的个数:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[80];
int i, count = 0;
printf("请输入一个字符串(长度小于80):");
fgets(str, 80, stdin);
for (i = 0; i < strlen(str); i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
count++;
}
}
printf("该字符串中字母的个数为:%d\n", count);
return 0;
}
```
程序首先使用`fgets()`函数从标准输入中读取一个字符串,存储在字符数组`str`中。接着,使用一个循环遍历字符串中的每一个字符,如果该字符是字母(即ASCII码在65~90或97~122之间),就将计数器加1。最后输出字母的个数。
需要注意的是,使用`fgets()`函数可以避免输入字符串长度超过80个字符的问题,而使用`gets()`函数可能会导致缓冲区溢出。此外,为了判断一个字符是否是字母,程序使用了ASCII码值的比较。