牛客网初阶练习(1)

x33g5p2x  于2021-11-19 转载在 其他  
字(1.0k)|赞(0)|评价(0)|浏览(205)

今天的这一篇呢,是我在牛客网刷题的一些记录,从今天开始,我会不定期的发这个专题,每次发三道题,这个专题的难度并不大,是针对C语言初学者的,大家应该能从中有所收获,好了废话不多说,直接开始!

1、缩短二进制

2、反向输出一个四位数

3、大小写转换

1、缩短二进制


方法1:自己加前缀0和前缀0X。

  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("0%o 0X%X", 1234, 1234);
  5. return 0;
  6. }

方法2:用#的方式自动添加

  1. #include<stdio.h>
  2. int main()
  3. {
  4. printf("%#o %#X", 1234, 1234);//注意此处#的妙用
  5. return 0;
  6. }

2、反向输出一个四位数

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n = 0;
  5. scanf("%d", &n);
  6. while (n)
  7. {
  8. printf("%d", n % 10);
  9. n = n / 10;
  10. }
  11. return 0;
  12. }

这个题呢,并不难,大家用的方法呢,也千奇百怪,因为作者是第一次练习的时候在这个题上用了别的方法,并不具有普适性,且效率较低,今天所以给大家发出这种方法供大家参考一下。

3、大小写转换

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a = 0;
  5. //EOF------end of file 文件结束标志(使文件能够停下来),通常是为文件的末尾
  6. while ((a = getchar())!=EOF)
  7. {
  8. putchar(a + 32);
  9. printf("\n");
  10. //此处两行代码可以合并成一句
  11. //printf("%c\n",a+32);代码将更加简洁
  12. getchar();//把输入缓冲区的\n加载掉,但并不使用或者将其存入到变量中
  13. }
  14. return 0;
  15. }

这个地方呢,相信大家有不少人掉过这个坑里面,就是因为忘记添加后面的getchar()来吸收回车符号了,这个地方需要大家一定注意,如果不清理掉回车符号的话,下一次循环getchar()就会直接将回车符号吸收了,进而造成结果的错误。

好了,今天的分享到此为止了,不定期发题,希望大家能够一起加油练习!如果觉得今天的内容对你有所帮助的话,点一个小小的赞吧!

相关文章