永发信息网

C语言中从键盘输入一个英文句子,输出所有首字母大写的单词.

答案:4  悬赏:20  手机版
解决时间 2021-02-25 18:49
C语言中从键盘输入一个英文句子,输出所有首字母大写的单词.
最佳答案
应用sscanf函数的选择性读取功能和当前读取字符计数功能可方便地解决问题。举例如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char sent[200],tmp[21];
    int i=0,x;
    printf("Please enter an English sentence...sent:
");
    gets(sent);
    while(!((x=sent[i]|0x20)>='a' && x<='z'))//跳过前导非字母
        i++;
    for(;sent[i];i++){
        sscanf(sent+i,"%[A-Za-z]%*[^A-Za-z]%n",tmp,&x);//选择性读取并计数
        if(*tmp>='A' && *tmp<='Z')//只输出首字母大写的单词
            printf("%s
",tmp);
        i+=x-1;//根据刚刚读取的单词长度调整下标
    }
    printf("
");
    return 0;
}
全部回答
SMK你个逗比追问你是谁?追答你爸爸
#include 
int main(void)
{
    char str[256];
    char *cp;
    printf("Input sentence:");
    gets(str);
    for(cp = str; *cp != ''; cp++)
    {
        
        if((cp == str || *(cp -1) == ' ') && *cp >= 'A' && *cp <= 'Z')
        {
            while((*cp >= 'A' && *cp <= 'Z') || (*cp >= 'a' && *cp <= 'z'))
            {
                printf("%c", *cp);
                cp++;
            }
            printf(" ");
        }
    }
    return 0;
}
我写了个完整程序给你参考。
源代码如下(vc++6.0下编译通过):
#include
#include
#define MAX_SENTENCE_STR_LEN 1024
int main()
{
char English_sentence[MAX_SENTENCE_STR_LEN] = {0};
char word[32] = {0};
char *token = NULL;
char *seps = " ";
printf("please input a English sentence: \n");
gets(English_sentence);
token = strtok(English_sentence, seps);
while (token != NULL)
{
strcpy(word, token);
if (word[0] >= 'A' && word[0] <= 'Z')
{
printf("%s\n", word);
}
token = strtok(NULL, seps);
}
return 0;
}
希望对你有帮助。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2015年属虎男人哪个月有桃花外遇
怎样验证乙酸,碳酸,苯酚的酸性强弱
私悦酒店北京路.塘子巷地铁站店地址在什么地
oppo体验·服务中心在哪里啊,我有事要去这个
求助:上世纪80年代香港的一部杀手电影名称
博兴县交警大队三中队地址有知道的么?有点事
中国飞到几内亚的单程机票多少钱
武林大会上分别有四大高手,前三名分别叫做东
菏泽商业第一街地址在什么地方,我要处理点事
人活一世,草木一秋,世人碌碌,所为何求?
泰国的求运蜡烛真的有用吗?
业绩评价属于哪一范畴()
凄字开头的成语有哪些
马刺GDP和凯尔特人三巨头哪一组的化学反应更
上学堂教育我想知道这个在什么地方
推荐资讯
蚝门夜总会在哪里啊,我有事要去这个地方
关于用木棍制作承重结构?
红膏咸炝蟹怎么吃?
郑州正方科技有限公司 现在 是否还在 郑州高
汽车风扇没有反应,是什么原因?
请问清朝皇帝上朝的时候在什么情况下会在案前
唐朝乐队的第一张专辑是那一年发行的?
已知等腰三角形的周长为12,底边为y,腰长为x
脂溢性是什么意思
天津九洲基础工程公司地址在什么地方,想过去
博客超市南麻店地址在哪,我要去那里办事
假如你是生活在春秋战国时期,你是否可以享受
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?