C 输入一串字符,把小写字母变成大写,分别输出大小写、数字、空格的个数

# include<stdio.h>
int main()
{
char ch1[100];
char ch2[100];
printf("Please input a string:\n");
        gets(ch1);
int i,j=0;
int a=0,k=0,m=0,n=0,b=0,x=0;
for(i=0;i<=sizeof(ch1);i++)
{
   if(ch1[i]>='A'&&ch1[i]<='Z')
{
ch2[j]=ch1[i];
j++;
k++;
}
else if(ch1[i]>='a'&&ch1[i]<='z')
{
       ch2[j]=ch1[i]-32;
j++;
m++;
}
else if(ch1[i]>='0'&&ch1[i]<='9')
{
            n++;
}
else if(ch1[i]==' ')
{  
a++;
}
else
x++;
}
ch2[j]='\0';
printf("%s\n",ch2);
    printf("大写字母:%d\n",k);
    printf("小写字母:%d\n",m);
printf("数字的个数:%d\n",n);
    printf("空格的个数:%d\n",a);
    printf("其他字符的个数:%d\n",x);
return 0;
}


在C语言中,你可以通过以下步骤来输入一串字符并将它们存储到组中,然后输出字符串,并统计其中字母量以及大写字母小写字母的具体目: 1. **输入字符串**: ```c #include <stdio.h> #define MAX_SIZE 100 int main() { char str[MAX_SIZE]; printf("请输入一个字符串(不超过100个字符):"); fgets(str, MAX_SIZE, stdin); // 使用fgets读取字符串,避免换行符 } ``` 2. **检查是否包含空格或其他非字母字符,并移除多余的换行符**: ```c size_t len = strlen(str) - 1; // 去掉最后一个'\n' str[len] = '\0'; // 将换行符替换为结束符 ``` 3. **统计字母大写小写字母个数**: ```c int alpha_count = 0; int uppercase_count = 0; int lowercase_count = 0; for (size_t i = 0; i < len; i++) { if (isalpha(str[i])) { // 检查是否为字母 alpha_count++; if (isupper(str[i])) { // 如果是大写字母 uppercase_count++; } else if (islower(str[i])) { // 如果是小写字母 lowercase_count++; } } } printf("原始字符串:%s\n", str); printf("字母:%d\n", alpha_count); printf("大写字母:%d\n", uppercase_count); printf("小写字母:%d\n", lowercase_count); } ``` 4. **完整程序示例**: ```c #include <stdio.h> #include <ctype.h> // 包含处理字符类型的函库 // ... int main() { // ... size_t len = strlen(str) - 1; str[len] = '\0'; int alpha_count = 0; int uppercase_count = 0; int lowercase_count = 0; for (size_t i = 0; i < len; i++) { if (isalpha(str[i])) { alpha_count++; if (isupper(str[i])) uppercase_count++; else if (islower(str[i])) lowercase_count++; } } printf("原始字符串:%s\n", str); printf("字母:%d\n", alpha_count); printf("大写字母:%d\n", uppercase_count); printf("小写字母:%d\n", lowercase_count); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值