洛谷p1098

 没有读对题目.....血的教训.....浪费了很长时间

最后看题解,虽说发现是自己没读对题目,但是还是从题解中学到了一些“?:”表达式的技巧,可以记录一下

真的....一定得要耐心读题目啊.......

#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main(void){
    int p1, p2, p3;
    int i, j, k;
    char s[150];
    char bf, af;
    scanf("%d%d%d%s", &p1, &p2, &p3, s);
    for(i=0; i<strlen(s); i++){
        bf = s[i-1];
        af = s[i+1];
        if(s[i]=='-' && bf < af && ((bf>='0'&&af<='9') || ((bf>='a'&&af<='z')))){
            for(p3==1?j=bf+1:j=af-1; p3==1?j<af:j>bf; p3==1?j++:j--){
                if(p1==2)
                    for(k=0; k<p2; k++)
                        printf("%c", toupper(j));
                else if(p1 == 3)
                    for(k=0; k<p2; k++)
                        printf("*");
                else 
                    for(k=0; k<p2; k++)
                        printf("%c", j);
            }
        }else{
            printf("%c", s[i]);
        }
    }
    
    return 0;
}
原文地址:https://www.cnblogs.com/ssNiper/p/11140122.html