牛客网刷题笔记

牛客网编程初学者入门训练 BC

BC7-BC52

BC53-BC70 图形

BC72-BC87

BC88-BC98

BC99-BC119

BC122-BC139


库函数

C语言库函数记录


多组输入

1、!=EOF

~按位取反
~EOF
~-1
-1补码全1 整数在内存中存的是补码
~-1是全0 为假

#include <stdio.h>

int main()
{
    int iq = 0;
    while (~scanf("%d", &iq))
    {
        if (iq >= 140)
        {
            printf("Genius\n");
        }
    }

    return 0;
}

2、~按位取反

#include <stdio.h>

int main()
{
    int iq = 0;
    while ((scanf("%d", &iq)) != EOF)
    {
        if (iq >= 140)
        {
            printf("Genius\n");
        }
    }

    return 0;
}

消除\n的方法

BC46 判断是元音还是辅音

1、getchar

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

int main()
{
    int ch = 0;
    char vowel[] = "aeiouAEIOU";

    while ((ch = getchar()) != EOF)
    {
        if(strchr(vowel, ch))
        {
            printf("Vowel\n");
        }
        else
        {
            printf("Consonant\n");
        }
        getchar(); //清理 \n
    }

    return 0;
}

2、scanf空格处理\n

#inlcude <stdio.h>

int main()
{
    int ch = 0;
    char vowel[] = "aeiouAEIOU";

    //在%c的前面加上空格,会消化掉前面所有的空白字符,然后读取下一个字符
    while (scanf(" %c", &ch) != EOF)
    {
        if (strchr(vowel, ch))
        {
            printf("Vowel\n");
        }
        else
        {
            printf("Consonant\n");
        }
    }

    return 0;
}

3、加\n

int main()
{
    int ch = 0;
    char vowel[] = "aeiouAEIOU";

    //在%c的后面加上'\n',其实在输入时就会消化掉这个\n字符
    //不会为下次留下空白字符的隐患
    while (scanf("%c\n", &ch) != EOF)
    {
        if (strchr(vowel, ch))
        {
            printf("Vowel\n");
        }
        else
        {
            printf("Consonant\n");
        }
    }

    return 0;
}


八进制,十六进制

012 - 八进制 12
0X12 - 16进制 18
打印:八进制%o,十六进制%X


域宽

printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数

printf("%15d", 0xABCDEF);


输入补0

通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;

通过printf函数的==%0==格式控制符,输出数值时指定左面不使用的空位置自动填0。

/%

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三春去后诸芳尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值