假期编程

此博客链接:https://www.cnblogs.com/ping2yingshi/p/12295515.html

1.首字母大写(17min)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2026

Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
请输出按照要求改写后的英文句子。
Sample Input
i like acm
i want to get an accepted
 
Sample Output
I Like Acm
I Want To Get An Accepted
题解:
       方法:判断空格
       思路:此题关键在于怎样判断每个单词,看了题目,除了第一个单词外,后面每个单词前面都有一个空格,所以以空格来判断是每个单词,遇到空格,就把空格后面的一个单词第一个字母大写。
代码如下:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
       char c[100];
       int k;
       int str;
       while( gets(c)!='\0')
       {
        str=strlen(c);
        c[0]=c[0]-32;
        for(k=1;k<str;k++)
        {
            if(c[k]==' ')
                 c[k+1]=c[k+1]-32;
        }
        for(k=0;k<str;k++)
            printf("%c",c[k]);
        printf("\n");            
        }
  
    return 0;
    
}

 2.c语言合法标识符(31min)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2024

Problem Description
输入一个字符串,判断其是否是C的合法标识符。
Input
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
Output
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
Sample Input
3
12ajf
fi8x_a
ff ai_2
Sample Output
no
yes
no
题解:
         方法:以字母和下划线开头,中间以字母,下划线,数字组合的字符串为合法字符串。
         思路:定义一个字符数组,接收字符串,1.先判断数组第一个元素是否是以字母或者下划线开头的字符,不是不是合法字符,是则进行步骤2判断;
                   2.除了第一个字符意外的所有字符是否是以字母,下划线,数字组成的,是则是合法字符串,不是则不是合法字符串。
 代码如下:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
       
       int k;
       int str;
       int n;
       scanf("%d",&n);
       getchar();
       while(n>0)
       { 
        int flag=1;
        char c[100];
        gets(c);
        str=strlen(c);
        if((c[0]>='a'&&c[0]<='z')||(c[0]>='A'&&c[0]<='Z')||(c[0]=='_'))
        {
            for(k=1;k<str;k++)
            {
                if((c[k]>='a'&&c[k]<='z')||(c[k]>='A'&&c[k]<='Z')||(c[k]=='_')||(c[k]>='0'&&c[k]<='9'))
                    flag=1;
                else
                {
                     flag=0;
                     break;
                }
                   
            }
            
        }  
        else 
            flag=0; 
        if(flag==1)
            printf("yes\n"); 
        if(flag==0) 
            printf("no\n"); 
        n--;        
        }
  
    return 0;
    
}

 

posted @ 2020-02-11 16:20  萍2樱释  阅读(162)  评论(0编辑  收藏  举报