c语言将大写字母改为小写数据结构,C语言之实现字符串小写变大写的实例

这篇博客介绍了如何使用C语言将字符串中的小写字母转换为大写字母。通过示例代码展示了如何读取输入的字符串,遍历每个字符,将小写字母转换并输出。同时,提供了不同场景下的字符串处理实例,如每3个单词换行输出,以及字符串首字母转大写等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言之实现字符串小写变大写的实例

C语言之实现字符串小写变大写的实例

输入字符串单词,将单词小写全部变为大写。

#include

#include

#include

using namespace std;

int main()

{

vector ss;

string s;

while(cin>>s)

ss.push_back(s);

for(int i=0;i

{

for(int j=0;j

if(islower(ss[i][j]))//单词中下标为j的字符为小写字母

ss[i][j]=toupper(ss[i][j]);

cout<

if((i+1)%3==0)//每3个单词为一行输出

cout<

}

return 0;

}

337bc4ce0fe89f44617889f85f331da6.png

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-05-10

### C语言中大小写字母的转换方法 在C语言中,可以通过多种方式实现字母的大写小写之间的相互转换。以下是几种常见的方法及其具体实现: #### 使用标准库函数 `toupper` 和 `tolower` C语言的标准库 `<ctype.h>` 提供了两个常用的函数用于字符的大小写转换:`toupper()` 和 `tolower()`。这两个函数分别可以将一个小写字母转换大写字母或将一个大写字母转换小写字母。 ```c #include <stdio.h> #include <ctype.h> int main() { char c = 'a'; if (islower(c)) { // 判断是否为小写字母 c = toupper(c); // 转换大写字母 } printf("转换后的字符:%c\n", c); return 0; } ``` 这种方法简单易用,并且能够自动判断输入字符是否属于字母范围[^2]。 #### 手动计算 ASCII 值差异 除了使用标准库函数外,还可以通过手动调整字符的ASCII码值来进行大小写转换。英文字母的小写形式与其对应的大写形式之间相差固定的32个单位(即 `'a' - 'A' = 32`)。因此可以直接利用这一特性完成转换。 对于从小写大写转换: ```c if (ch >= 'a' && ch <= 'z') { ch -= 32; // 减去偏移量得到相应的大写字母 } ``` 而对于从大写小写转换则相反: ```c else if (ch >= 'A' && ch <= 'Z') { ch += 32; // 加上偏移量获得相对应的小写字母 } ``` 此逻辑已在某些参考资料中有提及并给出了具体的例子程序[^3]。 #### 综合应用实例 当面对更复杂的场景比如整个字符串都需要做类似的换时,则需遍历每一个字符逐一处理。下面展示了一个完整的案例,它接受用户输入的一文本直到遇到特定终止符'#', 并按照题目描述的要求执行相应的大小写互换操作: ```c #include <stdio.h> #define MAX_LEN 50 void swapCase(char *str){ while(*str!='\0'){ if((*str>='a'&&*str<='z')){ *str=*str-('a'-'A'); } else if ((*str>='A')&&(*str<='Z')) { *str+=('a'-'A'); } str++; } } int main(){ char inputStr[MAX_LEN]; printf("Enter a string ending with '#': "); fgets(inputStr,sizeof(inputStr),stdin); int length=strlen(inputStr)-1; if(inputStr[length]=='#') inputStr[length]='\0'; swapCase(inputStr); puts(inputStr); return 0; } ``` 该段代码实现了基本功能的同时也考虑到了边界条件如字符串结尾标记等问题[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值