您的位置:首页 > 其它

【NYOJ】[96]n-1位数

2016-01-28 23:36 274 查看


用长整数储存也可以 但是涉及到统计位数比较麻烦

所以还是用字符串来模拟比较简便

用strlen来计算位数

用flag来标记在输出0之前是否已经输出过数字

用这种方法来去除前缀0

然后在结束后

检查一遍是否输出过数字

没有的话就输出一个 0

[code]#include<stdio.h>
#include<string.h>
int main() {
    int T;
    scanf("%d",&T);
    while(T--) {
        char s[10];
        scanf("%s",s);
        int flag=0;
        for(int i=1; i<strlen(s); i++) {
            if(s[i]!='0')
                flag=1;
            if(flag) {
                printf("%c",s[i]);
            }
        }
        if(!flag)
            printf("0");
        printf("\n");
    }
    return 0;
}


标程有点打脸了……

一种乍一看挺简单 仔细看看不懂的感觉

据说%*c代表跳过一个变量

那么这里就应该代表输入时跳过第一个数字吧

以前的确是没听说过这种写法

C语言还是要好好学啊~

[code]#include<cstdio>
int main() {
    int n,m;
    scanf("%d",&n);
    while(n--) {
        scanf("\n%*c%d",&m);
        printf("%d\n",m);
    }
}


题目地址:【NYOJ】[96]n-1位数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: