本帖最后由 wanderingman 于 2015-1-28 22:04 编辑
- #include <ctype.h>
- #include <string.h>
- #include <stdio.h>
-
- int main()
- {
- while(1)
- {
- char m[100] ;
- char *p = m;
- char ch ;
- printf("Please enter a sentence:\n");
- fgets(m,100,stdin); // Get string from keyboard ,which is less than 100 bytes
- if (isalpha(*p) && islower(*p)) // Check if the value of pointer is a lower alpha
- { *p = *p -32 ;
- }
- p++;
-
- while(*p) //Not NULL then loop , convert the first alpha of a word to upper
- {
- if (islower(*p)&&!isalpha( *(p-1)))
- {
- (*p) -= 32 ;
- }
- p++;
- }
- fputs(m,stdout); // Print on the screen
-
- printf("\nDo you want to continue to convert?(y|n)\n");
- scanf("%c",&ch);
- if (ch == 'y'|| ch == 'Y')
- continue ;
- else
- break;
- }
-
- return 0;
- }
-
复制代码 输入一英文句子,将其中所有单词首字符转换成大写后输.
这是基础测试的一个题目,功能已经实现,想要通过判断Y|N 来实现循环输出 。只能实现一次,后面在选择判断处进入死循环。 请高手指点。
|
|