belfastqiu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.首字母大写题

图一
图1:首字母大写
#include <stdio.h>
int main(){
    char s[1000][11];
    int num=0;
    while(scanf("%s",s[num]) != EOF){
        num++;
    }
    for(int i=0;i<num;i++){
        s[i][0] = s[i][0] + 'A' - 'a';
    }
    for(int i=0;i<num-1;i++){
        printf("%s ",s[i]);
    }
    printf("%s",s[num-1]);
    return 0;
}

主要是EOF的应用,EOF是用来判断输入时是否输入完毕。


2.单词倒叙题

图一
图2:单词倒叙题
#include <bits/stdc++.h>

int main(){
    int num=0;
    char str[1000][11];
    while(scanf("%s", str[num]) != EOF){
        num++;
    }
    for(int i=0;i<num-1;i++){
        int len = strlen(str[i]);
        for(int j=len-1;j>=0;j--){
            printf("%c",str[i][j]);
        }
        printf(" ");
    }
    int len = strlen(str[num-1]);
    for(int j=len-1;j>=0;j--){
            printf("%c",str[num-1][j]);
        }
    return 0;
}

首先要记忆的是一个万能头,其次还要牢记EOF的应用。

3.简单的公共前缀题目

图一
图3:公共前缀
#include<bits/stdc++.h>

int main(){
    int len_1,len_2;
    int num;
    scanf("%d",&num);
    char s[21][51];
    for(int i=0;i<num;i++){
        scanf("%s",s[i]);
    }

    int l=0;
    while(strncmp(s[0],s[1],l) == 0){
        l++;
    }
    if(l==0){
        printf(" ");
        return 0;
    }

    l--; //此时l就是公共前缀
    for(int i=2;i<num;i++){
        if(strncmp(s[0],s[i],l) != 0){
            printf(" ");
            return 0;
        }
    }
    for(int i=0;i<l;i++){
        printf("%c",s[0][i]);
    }
}

这个是要牢记strncmp和strcmp的区别

posted on 2025-02-19 17:34  Belfast_Qiu  阅读(13)  评论(0)    收藏  举报