搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 高手帮忙看看
标题:
高手帮忙看看
只看楼主
HK小雨
等 级:
新手上路
帖 子:10
专家分:0
注 册:2008-4-15
楼主
问题点数:0 回复次数:3
高手帮忙看看
#include<stdio.h>
void main()
{
int i;
char a[200],*p;
p=a;
gets(p);
for(i=0;a[i]!='.';i++)
{ if(a[i]==' ')
a[i+1]=a[i+1]+'32';
}
puts(p);
}
我这程序错在哪里,将字符的第一个字母变成大写并将其全部输出
搜索更多相关主题的帖子:
void
int
main
2008-06-18 11:01
yyow3193
来 自:三峡宜昌
等 级:
新手上路
帖 子:165
专家分:0
注 册:2008-6-5
第
2
楼
得分:0
#include "stdio.h"
main()
{int i;
char a[200],* p;
printf("输入字符:\n");
scanf("%s",a);
p=a;
if(a[0]>='a'&&a[0]<='z')
a[0]=a[0]-32;
printf("%s",a);
}
[[it] 本帖最后由 yyow3193 于 2008-6-18 13:05 编辑 [/it]]
2008-06-18 13:03
coming
等 级:
新手上路
帖 子:244
专家分:0
注 册:2008-4-20
第
3
楼
得分:0
#include<stdio.h>
void main()
{
int i;
char a[200],*p;
p=a;
gets(p);
for(i=0;a[i]!='.';i++)
{ if(a[i]==' ')
a[i+1]=a[i+1]-32;//改过
}
puts(p);
}
这个不能改变第一个字母吧,在额外加一个判断第一个字母的条件吧,在ASC码表中,小写字母在大写的后面,要减而不是加,而且减的是32而不是'32','32'的ASC码值不是32,所以会引起错误。
2008-06-18 13:17
crabeam
等 级:
新手上路
帖 子:27
专家分:0
注 册:2008-6-17
第
4
楼
得分:0
#include<stdio.h>
void main()
{
char a[200],*p;
p=a;
gets(p);
if(a[0]>='a'&&a[0]<='z')
a[0]=a[0]-32;
puts(p);
}
_____________________________________
所有字母转换为大写
#include<stdio.h>
#include<string.h>
void main()
{
int i;
char a[200];
gets(a);
strupr(a);
puts(a);
}
[[it] 本帖最后由 crabeam 于 2008-6-18 13:39 编辑 [/it]]
2008-06-18 13:20
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-219823-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.678372 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved