当前位置:首页 » 编程语言 » c语言中首字母大写怎么写
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中首字母大写怎么写

发布时间: 2023-01-23 02:47:42

‘壹’ c语言问题 将首字母变为大写

这是把每个单词的首字母变成大写:
#include<stdio.h>
#define
islower(c)
(c>='a'&&c<='z')
#define
isupper(c)
(c>='A'&&c<='Z')
int
main()
{char
s[200];
int
i;
gets(s);
for(i=0;s[i];i++)
if(i==0||islower(s[i])&&(!(islower(s[i-1])||isupper(s[i-1]))))
s[i]-=32;
puts(s);
getch();
return
0;
}
这是将一行的首字母变成大写:
#include<stdio.h>
int
main()
{char
s[200];
int
i;
gets(s);
for(i=0;s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z';i++)


break;//遇到一行的首个字母就退出循环

if(s[i]>='a'&&s[i]<='z')s[i]-=32;//若它是小写字母就把它变为大写
puts(s);
getch();
return
0;
}

‘贰’ C语言求助 把一串字母的第一个大写

不是所有都放在循环里的

有的语句只要执行一次

改成如下即可

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
intmain()
{
chara[80];
inti=0;
gets(a);
intk=strlen(a);
if(a[0]>='a'&&a[0]<='z')a[0]=toupper(a[0]);//把第一个字母大写显然只需执行1次

for(i=0;i<k-1;i++)
{

if(a[i]==''||a[i]==' '||a[i]==' '||a[i]==' ')
if(a[i+1]>='a'&&a[i+1]<='z')
a[i+1]=a[i+1]-32;
}
puts(a);//最后打出a
return0;//结束程序
}

‘叁’ C语言字符串首字母大小写转换

基本也就只能这么做了,不过有问题是不是这个?
if(a[0]>='A'
&&
a[0]<'a')
改成
if(a[0]>='A'
&&
a[0]<='Z')
就好了?
----------------------------------------------------
这个问题是这里引起的:
for(i=0;
i<10
;i++)
因为字串默认是在\0就终止了,但是你非得把10个全都安%c输出,结果当然会比较诡异。
改成:
for(i=0;i<10
&&
a[i]!='\0';i++)
//(或者b[i])
就可以了。

‘肆’ c语言问题 将首字母变为大写

#include&lt;stdio.h&gt;

int main()

{

int i;

int word;

char str[200];

printf("请输入字符串:");

while(gets(str)!=NULL)

{

printf("修改后的字符串为:");

word=0;

for(i=0;str<i>!='';i++)

{

if(str<i>=='')

{

word=0;

printf("");

}

else if(word==0)

{

word=1;

str<i>=str<i>-32;

printf("%c",str<i>);

}

else

printf("%c",str<i>);

}

printf(" ");

}

return 0;

}

运行结果:

(4)c语言中首字母大写怎么写扩展阅读:

printf()用法:

1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。

格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。

要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。

2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

‘伍’ C语言,首字母大写问题

for(int i=1;i
追问:
考虑了啊,如果前一个字母是空格,则后一个字母转为大写。。
追答:
你的意思是你输入时保证以空格开头?我在测试你的代码,稍候
supper()函数中
if(c>'a' && c<'z') //这里应该加上=,不然会少两个字母a z , 改成:
if(c>='a' && c<='z')
以下是调整后的完整代码,请验收,调整部分看注释
#include
#include
char Super(char c);
int main()
{
char a[100];
int len;
printf("input :");
gets(a);
len=strlen(a);
a[0]=Super(a[0]); //加一句,保证首字母的大写
for(int i=1;i
='a' && c<='z') //-------
{
return c-32;
}else
{
return c;
}
}
追问:
这个可以不加结束符吧,因为本来就有个结束符,不过谢谢你的解答,答案是对的,除了有点小瑕疵,因为首先要在前面定义int
i;
追答:
嗯,结束符确实是画蛇添足了
评论
0
0
加载更多

‘陆’ 一个c语言的问题:首字母变大写

#include<stdio.h>
void main()
{ char str[100],*p;
while(gets(str)!=EOF) //scanf()遇到空格回结束
{ p=str;
*p=*p-32;
for(p=str+1;*p!='\0';p++)
{
if(*p==' ') // == 不是 =
{ *(p+1)=*(p+1)-32;
}
}
printf("%s\n",str);
}
}

我只改了上面两个地方,程序可以跑起来了,
但是从代码判断lz应该是初学者,所以尽管程序健壮性确实不高
我也没有进行修改,因为lz需要的知道错在哪,而不是怎么优化
望lz不断进步

‘柒’ 一个c语言的问题:首字母变大写

解说一下:
*p=*p-32;
//
*p
未必是小写字母
*(p+1)=*(p+1)-32;
//
*(p+1)
未必是小写字母
可能是'\0';
正确做法参看1楼的回答,我只是补充说明一下,让楼主更明白为何错了,完毕

‘捌’ c语言中将字符串的每个单词首字母改成大写用指针法

#include<stdio.h>
#include<ctype.h>

char*Fun(char*str)
{
intflag=1;
char*o=str;
while(*str)
{
if(flag)*str++=toupper(*str),flag=0;//转换为大写
elseif(isspace(*str++))flag=1;//查找空格
}
returno;
}

intmain()
{
charb[]="!";
printf("%s ",Fun(b));
return0;
}