C语言编写程序,将一个字符串中的大写字母转换为对应的小写字母,小写字母转换为对应的大写字母,并统计数
6个回答
展开全部
在 C 语言中区分字母的大小写,利用 ASCII 码中大写字母和小写字母之间的转换关系(差值为 32),可以将小写字母转换为大写字母。编写程序实现,从键盘上输入一个小写字母,按回车键,程序将该小写字母转换为大写字母,并输出其 ASCII 值。
算法思想
由于大写字母与小写字母之间的差值为 32,因此小写字母转换为大写字母的方法就是将小写字母的 ASCII 码值减去 32,便可得到与之对应的大写字母。
利用 getchar 函数从键盘上输入一个小写字母,并将其赋给一个字符变量 a;然后将 a—32 的值赋给字符变量 b;最后进行输出,输出时先输出字母,再将字母以整数形式输出。其具体步骤如下:
① 定义两个字符变量 a、b;
② a=get char();
③ b=a—32;
算法思想
由于大写字母与小写字母之间的差值为 32,因此小写字母转换为大写字母的方法就是将小写字母的 ASCII 码值减去 32,便可得到与之对应的大写字母。
利用 getchar 函数从键盘上输入一个小写字母,并将其赋给一个字符变量 a;然后将 a—32 的值赋给字符变量 b;最后进行输出,输出时先输出字母,再将字母以整数形式输出。其具体步骤如下:
① 定义两个字符变量 a、b;
② a=get char();
③ b=a—32;
展开全部
#include "stdio.h"
int main()
{
char ch[100]={0};
int i;
printf("请输入一个字符串:");
gets(ch);
for(i=0;ch[i]!='\0';i++)
if(ch[i]>='a' && ch[i]<='z')
ch[i]+='A'-'a';
else if(ch[i]>='A' && ch[i]<='Z')
ch[i]+='a'-'A';
printf("字符串的小写字母转换成大写字母,大写字母转化成小写字母后输出为:\n");
puts(ch);
int main()
{
char ch[100]={0};
int i;
printf("请输入一个字符串:");
gets(ch);
for(i=0;ch[i]!='\0';i++)
if(ch[i]>='a' && ch[i]<='z')
ch[i]+='A'-'a';
else if(ch[i]>='A' && ch[i]<='Z')
ch[i]+='a'-'A';
printf("字符串的小写字母转换成大写字母,大写字母转化成小写字母后输出为:\n");
puts(ch);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
int i = 0,j = 0;
char str1[100] = {0};
printf("输入要转换的字符串:\n");
scanf("%s",str1);
while(str1[i]>0)
{
if(str1[i]>='a'&&str1[i]<='z')
{
str1[i] += 'A'-'a';
j++;
}
else if(str1[i]>='A'&&str1[i]<='Z')
{
str1[i] += 'a'-'A';
j++;
}
i++;
}
printf("转换个数:%d\n",j);
printf("转换字串:%s\n",str1);
getchar();
return;
}
{
int i = 0,j = 0;
char str1[100] = {0};
printf("输入要转换的字符串:\n");
scanf("%s",str1);
while(str1[i]>0)
{
if(str1[i]>='a'&&str1[i]<='z')
{
str1[i] += 'A'-'a';
j++;
}
else if(str1[i]>='A'&&str1[i]<='Z')
{
str1[i] += 'a'-'A';
j++;
}
i++;
}
printf("转换个数:%d\n",j);
printf("转换字串:%s\n",str1);
getchar();
return;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-02-28
展开全部
#include "stdio.h"
#include "string.h"
void main()
{
int num=0;
char s1[200];
gets(s1);
for(int i=0;i<strlen(s1);i++)
{
if(s1[i]>='a'&&s1[i]<='z')
{
s1[i] = s1[i] - 'a'+'A';
num++;
}
else if(s1[i]>='A'&&s1[i]<='Z')
{
s1[i] = s1[i] - 'A'+'a';
num++;
}
}
printf("%s\n",s1);
printf("%d\n",num);
}
#include "string.h"
void main()
{
int num=0;
char s1[200];
gets(s1);
for(int i=0;i<strlen(s1);i++)
{
if(s1[i]>='a'&&s1[i]<='z')
{
s1[i] = s1[i] - 'a'+'A';
num++;
}
else if(s1[i]>='A'&&s1[i]<='Z')
{
s1[i] = s1[i] - 'A'+'a';
num++;
}
}
printf("%s\n",s1);
printf("%d\n",num);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关于C语言实现一个字符串的大小写字母互换可以用strlwr和strupr函数来实现,很简便,但我下面程序是从函数实现的具体方法来实现,这样更利于我们理解函数实现的黑匣子里的秘密,也可以加深对数组,计算机存储内容隐含的使用ASCII码存储的秘密。如果有小伙伴对下面的程序有不了解的地方欢迎留言,我会尽可能为你解答。谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询