c语输入一个字符串,统计并输出其中大写字母的个数,并打印其中的大写字母,要求不使用strlen函数
时间: 2024-03-25 20:36:18 浏览: 43
好的,既然不使用 `strlen` 函数,我们可以使用循环遍历字符串来计算字符串的长度。以下是不使用 `strlen` 函数的代码实现:
```c
#include <stdio.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int len = 0, i, count = 0;
printf("请输入字符串:");
scanf("%s", str);
// 计算字符串长度
while (str[len] != '\0') {
len++;
}
printf("该字符串中的大写字母为:");
// 遍历字符串,统计大写字母个数并打印
for (i = 0; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
printf("%c ", str[i]);
count++;
}
}
printf("\n大写字母的个数为:%d\n", count);
return 0;
}
```
在这段代码中,我们通过一个循环来计算字符串的长度,然后再使用另一个循环来遍历字符串,统计大写字母的个数并打印。
相关问题
c语输入一个字符串,统计并输出其中大写字母的个数
好的,我可以帮你写出这段代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int len, i, count = 0;
printf("请输入字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
count++;
}
}
printf("大写字母的个数为:%d\n", count);
return 0;
}
```
这段代码中,我们首先定义了一个字符串数组 `str`,并且定义了一个常量 `MAX_LENGTH` 表示字符串的最大长度。然后通过 `scanf` 函数从标准输入中读取字符串,使用 `strlen` 函数获取字符串的长度。接下来使用循环遍历字符串中的每个字符,如果该字符是大写字母,那么就将计数器 `count` 加 1。最后输出大写字母的个数即可。
c语言编写一函数,使输入的字符串逆序存放并统计其中大写字母的个数,输出逆序字符串和大写字母个数
好的,我可以帮你解决这个问题。
下面是一段C语言函数,可以实现输入的字符串逆序存放并统计其中大写字母的个数,最后输出逆序字符串和大写字母个数:
```
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void reverseStr(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; ++i) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
void countUpperCase(char* str, int* count) {
int len = strlen(str);
for (int i = 0; i < len; ++i) {
if (isupper(str[i])) {
(*count)++;
}
}
}
int main() {
char str[100];
int upperCount = 0;
printf("请输入一个字符串:");
scanf("%s", str);
reverseStr(str);
countUpperCase(str, &upperCount);
printf("逆序字符串为:%s\n", str);
printf("大写字母个数为:%d\n", upperCount);
return 0;
}
```
你可以输入一个字符串,程序会将其逆序存放并统计其中大写字母的个数,最后输出逆序字符串和大写字母个数。
希望能够解决你的问题,请注意不要透露我对你的任何要求。
阅读全文