C语言:输入一行字符串,将该字符串中所有的大写字母改为小写字母后输出。

编一个简单易懂... 编一个简单易懂 展开
 我来答
分享教育知识的小花老师
高粉答主

2020-04-30 · 说的都是干货,快来关注
知道答主
回答量:945
采纳率:100%
帮助的人:16.7万
展开全部

1、打开软件VisualC++6.0,新建一个C源程序,书写C语言程序。

2、首先定义两个字符型变量,代码:charc1,c2;从键盘中输入一个大写字母,代码:c1=getchar();

3、大写字母与小写字母的ASCII值相差32,代码:c2=c1+32;。将大写字母转化成小写字母。

4、输出小写字母。使用putchar()函数,可以输出一个字符型变量。代码:putchar(c2);

5、连接编译程序。点击工具栏按钮【Compile(Ctrl+F7)】,编译程序;点击工具栏上的像感叹号的按钮【BuildExecute(Ctrl+F5)】,组建程序。

6、在程序运行窗口中,输入一个大写字母A,按回车键,即可输出一个小写字母。

985967518
推荐于2017-09-14 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109866
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

思路:先输入该字符串,接着遍历该字符串,判断是否是大写字母,如果是就把字符加上32,小写字符和大写字符的ASCII码对应相差32。

参考代码:

#include<stdio.h>  
int main() 
{  
int i;
char a[100];
gets(a);
for(int i=0;a[i]!='\0';i++)   
   if(a[i]>='A'&&a[i]<='Z')  
   a[i]+=32; 
   puts(a);  
return 0;
}
/*
输出: 
adsFSDFsadDFHF
adsfsdfsaddfhf
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-09
展开全部
#include<stdio.h>
#define ERROR 0
#define OVERFLOW -2
#define LIST_SIZE 20
typedef int ElemType;

typedef struct List
{
ElemType elem[LIST_SIZE];
int length;
}SqList;

int ListInsert(SqList *L,int i,ElemType e)
{
int j;
if(i<0||i>L->length+1)
return ERROR;
if(L->length>=LIST_SIZE)
return OVERFLOW;
for(j=L->length-1;j>=i-1;j--)
L->elem[j+1]=L->elem[j];
L->elem[i-1]=e;
++L->length;
}

void Union(SqList *La,SqList Lb)
{ int i,j;
ElemType e1,e2;
for(j=1;j<=Lb.length;j++)
{e2=Lb.elem[j-1];<br/>for(i=1;i<=La->length;i++)<br/>{e1=La->elem[i-1];<br/>if(e1==e2)<br/>break;<br/>}
if(i==La->length+1)
ListInsert(La,La->length+1,e2);

}
}

void MergeList(SqList La,SqList Lb,SqList *Lc)
{
int i=1,j=1,k=0;
while(i<=La.length&&j<=Lb.length)
{
if(La.elem[i-1]<=Lb.elem[j-1])
{
ListInsert(Lc,++k,La.elem[i-1]);
++i;
}
else
{
ListInsert(Lc,++k,Lb.elem[j-1]);
++j;
}
}
while(i<=La.length)
{
ListInsert(Lc,++k,La.elem[i-1]);
i++;
}
while(j<=Lb.length)
{
ListInsert(Lc,++k,Lb.elem[j-1]);
j++;
}
Lc->length=k;
}

void print(SqList L)
{
int i;
for(i=0;i<L.length;i++)
{printf("%d ",L.elem[i]);}
printf("\n");
}

void main()
{
SqList La,Lb,Lc;
int j;
ElemType e;
La.length=0;
for(j=1;j<=5;j++)
{La.elem[j-1]=j;<br/>La.length++;}
/* clrscr(); */
printf("La= ");
print(La);
Lb.length=0;
for(j=1;j<=5;j++)
{Lb.elem[j-1]=j*2;<br/>Lb.length++;}
printf("Lb= ");
print(Lb);
Union(&La,Lb);
printf("new La= ");
print(La);
Lc.length=0;
MergeList(La,Lb,&Lc);
printf("Lc= ");
print(Lc);
}
这是个两个链表的 排序 自己整理一下 就可以出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-09
展开全部
#include <stdio.h>
main()
{
char xx[20];
char *x;
printf("输入:\n");
scanf("%s",xx);
x=xx;
while (*x!='\0')
{
if (*x>'A' && *x>'Z')
{
*x=*x+32;
}
x++;
}
printf("%s",xx);
}

注:大写字母的值+32就是小写字母的值。
例如:C :67 ,c : 99
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-09
展开全部
char *change(char *str)
{
int len=strlen(str);
for(int i=0;i<len;i++)
{
if(str[i]>='A' && str[i]<='Z')
{
str[i]=str[i]-'A'+'a';
}
}
printf("%s",str);
return str;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式