modi35.c

来自「c题库」· C语言 代码 · 共 44 行

C
44
字号
/*
下列给定程序中,fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指出空格隔开的字符串)。例如,若输入:I am a student to take the examination.
则应输出:I aM A studenT tO takE thE examination.
请修改程序中的错误之处,使它能得出正确的结果。
注意:不要改动main函数,不得删行,也不得更改程序的结构。
*/

#include <conio.h>
#include <ctype.h>
#include <stdio.h>
void fun(char *p)
{	int  k=0;
	for(; *p;p++)
		if(k)
		{
/**********found************/
			if(p=='')
			{
				k=0;
/**********found************/
				*p=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);
}

/*
答案:
  if(p=='')改为 if(*p=='')
 *p=toupper(*(p-1));改为 *(p-1)=toupper(*(p-1));  
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?