| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 543 人关注过本帖
标题:一道c的题目,请高手指教
只看楼主 加入收藏
linsui
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-8-17
收藏
 问题点数:0 回复次数:7 
一道c的题目,请高手指教
将p所指字符串中每个单词的最后一个字母该成大写
eg:I am a student to take the examination.->
   I aM A studenT tO takE thE exanination.
#include<conio.h>
#include<ctype.h>
#include<stdio.h>
void fun(char *p)
{
 int k=0;
 for( ;*p; p++)
  if(k)
  {
  if(*p==' ')
   {k=0;
    *(p-1)=toupper(*(p-1));
   }
  }
  else
   k=1;
}
main()
{
 char chrstr[64];
 int d;
 clrscr();
 printf("\nPlease enter an English sentence within 63 letters:");
 gets(chrstr);
 d=strlen(chrstr);
 chrstr[d]='';
 chrstr[d+1]=0;
 printf("\n\nBefore changing:\n %s",chrstr);
 fun(chrstr);
 printf("\nAfter changing:\n %s",chrstr);
} 有问题,应该怎么该??
搜索更多相关主题的帖子: 指教 
2005-08-17 15:11
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

#include<conio.h> #include<ctype.h> #include<stdio.h> #include <string.h> void fun(char *p) { int k=0; for( ;*p; p++) { if(k) { if(*p==' ') {k=0; *(p-1)=toupper(*(p-1)); } } else k=1; } *(p-1)=toupper(*(p-1)); } void main() { char chrstr[64]; int d; // clrscr(); printf("\nPlease enter an English sentence within 63 letters:"); gets(chrstr); d=strlen(chrstr); /* chrstr[d]=' '; chrstr[d+1]=0;*/

printf("\n\nBefore changing:\n %s",chrstr); fun(chrstr); printf("\nAfter changing:\n %s",chrstr); }


2005-08-17 15:41
白蚂蚁23
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-5-10
收藏
得分:0 
写我还没想过,只不过我知道思路,你看看吧,就是说在第一空格的前面进行转换就OK了,我是这样想的

2005-08-17 15:42
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 
你的错误主要是在子函数中丢掉一个大括号,加上就可以了。
我做的修改是因为子函数发生了变化,没有在末尾加上空格和0字符。

2005-08-17 15:45
linsui
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-8-17
收藏
得分:0 
楼上的,这个我知道,可是输入I am a student to take~~~~~~运行后还是照原样输出无变化
2005-08-17 15:50
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 
你是说最后一个单词后面还有非字符的东西?

2005-08-17 15:55
linsui
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-8-17
收藏
得分:0 
不行呀~~~~~~~~~我还是不知道怎么该~~听不懂
2005-08-17 16:02
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 
一道c的题目,请高手指教
我的qq412660236,

2005-08-17 16:03
快速回复:一道c的题目,请高手指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015618 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved