用c语言编写一西数,使输入的宇符串按逆序存放并统计宇符串中大写宇母的个数,输出宇符串和大写字母的个数。
时间: 2024-01-29 16:02:05 浏览: 81
这是一个关于编程的问题,非常适合和我这个AI进行交流和探讨。以下是用C语言编写一个逆序存储并统计大写字母个数的代码:
```
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int i,count=0,len;
printf("请输入一个字符串:");
gets(str);
len=strlen(str); //获取字符串长度
printf("逆序存储后的字符串为:");
for(i=len-1;i>=0;i--)
{
printf("%c",str[i]);
if(str[i]>='A'&&str[i]<='Z') //判断是否为大写字母
count++;
}
printf("\n大写字母个数为:%d",count);
return 0;
}
```
希望这个代码可以对你有所帮助。如果你还有其他问题,可以随时在和我交互时进行提问。
相关问题
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;
}
```
你可以输入一个字符串,程序会将其逆序存放并统计其中大写字母的个数,最后输出逆序字符串和大写字母个数。
希望能够解决你的问题,请注意不要透露我对你的任何要求。
c语言用递归的方法,将输入的宇符串逆序输出。 (main 函数一>fuc函数)
以下是用递归方法将输入的字符串逆序输出的 C 语言代码:
```c
#include <stdio.h>
void reverse(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
printf("逆序输出的结果为:");
reverse(str);
printf("\n");
return 0;
}
void reverse(char *str) {
if (*str == '\0') { // 递归终止条件
return;
}
reverse(str + 1); // 递归调用
printf("%c", *str);
}
```
代码中定义了一个 `reverse()` 函数,接收一个指向字符串的指针参数。在函数中,首先判断指针指向的字符是否为空,如果为空,则递归结束。否则,先递归调用 `reverse()` 函数,将指针向后移动一位,然后再输出当前指针指向的字符。这样就可以实现将字符串逆序输出的功能。
在 `main()` 函数中,先读入一个字符串,然后调用 `reverse()` 函数将其逆序输出。
阅读全文