专栏首页奔跑的键盘侠C语言——小学二年级题目解析(一)

C语言——小学二年级题目解析(一)

这期是二年级,也就是程序填空题。

程序填空题开始,到阅读理解题,到编程题,首先要有自己的思路,而且思路要清晰,想清楚再动手写,事半功倍。具体心得,等清完1-4年级题目会来一篇。

1

求素数,是一个入门的题目,从最简单的挨个取余计算开始、到用已知素数取余、再到数组逆向计算,一定要门清,不然早晚有一天会有类似的问题麻烦大了。

这个题目,乍一看是取整数因子,其实跟求素数有点神似。求素数的题目,最简单的算法是挨个取余,取到就break,返回非素数。

而这题,也是挨个取余,余数为0的输出,没有就下一个;一直循环到这个整数自己。

  1. k<=a
  2. !(a%k)

当然也可以有其他答案,比如1.k<a+1 ;2.a%k==0。不过第二问,对于我而言还是==0写的比较自然一点,对新手而言比较节省脑力??既然要学C,那就尽量朝着约定俗成的习惯去培养,最好写!(a%k)吧,如果实在转不动了,用==0也无可厚非。

而第一个尽量用原变量表示,也就是<=a。如果变量循环从0开始,就变成了<a,这可以说是一个比较常见也比较标准的习惯,而他也跟数组的下标可以对应上。

昨天有小伙伴指引用插件排版代码,研究了一会放弃(其实前几个月就想着用什么排版,结果愣是没弄明白),突然发现后台有自带代码排版……

就先凑合用吧,等闲暇了再好好钻研一下。

#include <stdio.h>

int main()
{
  int a,k;
  a=12;
  printf("d=%d\n",a);
  for(k=1;k<=a;++k){
    if(!(a%k)){
      printf("%d ",k);
    }
  }
  return 0;
}

==========编译成功后开始运行==========

"C:\Users\2019_943_26.exe"

Process started (PID=9916) >>>

d=12

1 2 3 4 6 12 <<< Process finished (PID=9916). (Exit code 0)

================ READY ================

瞬间清爽了许多,有木有

用的notepad++,码的界面不能scanf,就偷懒一下,直接赋值d=12走起了。

2

小写字母转大写字母,思路:遍历字符串中的字符,介于a-z之间的,转化成大写,也就是文中的str[i]-32操作。

#include <stdio.h>

int main()
{
  int i;
  char str[100];
  scanf("%s",str);

  for(i=0;i<100;i++){
    if('a'<=str[i] && str[i]<='z'){    
      str[i]=str[i]-32;
    }
  }
  printf("%s",str);
  return 0;  
}

运行结果如下:

答案:

3.对应于第7行的 str或者&str[0]都可以

4.对应于11行的 i<100

5.对应于12行的 'a'<=str[i] && str[i]<='z'

第3问,数组的特殊性,其本身就可以看成一个指针,所以直接用变量名时,就是一个地址,即单独str变量就是一个地址,可以省略&;而str[0]所在的地址与数组一样,直接用&str[0]也ok。

第4问,尽量不要写<=99吧。

第5问,'a'<=str[i] && str[i]<='z' 或者 97<=str[i] && str[i]<=122 也可以。如果考到11行的 str[i]=str[i]-32; 刚好记不得要减去32,可以用"A"-"a"来代替。

用惯了python的语法,一直单引号,双引号随意发挥,结果这题就差点栽进去。C里面单引号只能表示单个字符,双引号才表示字符串。

这题目考到scanf,不能偷懒,只好终端搬来了

-END-

本文分享自微信公众号 - 奔跑的键盘侠(runningkeyboardhero),作者:我是奔跑的键盘侠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C语言——小学四年级题目解析(二)

    乍一看,就是一道小学数学题,一个经典的解题思路:吹个口哨,所有的小动物抬起2只脚,总共会抬起92*2=184只脚,剩下358-184=174只脚,鸡两只脚都抬起...

    Ed_Frey
  • Python——云里雾里的生成器、迭代器

    关于生成器generator,从字面上理解,就是能生成***的机器,的确它是一个很牛逼的机器,他可以生成很多我们需要的数据,比如全体自然数,好好想一下,能用哪个...

    Ed_Frey
  • Python——如何优雅的爬取公众号信息

    最近两个周业余时间在赶的一个项目,因为精力有限所以进展缓慢,索性就先把接近完善的这部分代码,先分享出来吧。

    Ed_Frey
  • 5.QT-QString类

    张诺谦
  • Python过滤不可见字符

        for i in range(0,32):         str = str.replace(chr(i),'')

    用户2398817
  • js格式化字符串自动补位

    PHP的sprintf()函数可以格式化字符串并且自动补位,而js是没有这个函数的,可以自己自定义一个

    仙士可
  • python学习总结五(python序列

    成员关系符就是判断一个字符是否属于这个字符串,再就是这个字符串是否属于这个元组,或者列表。返回值也是布尔值(True,Flase)。

    用户2398817
  • 二次元图片API平台PHP代码

    周俊辉
  • 单词首字母大写

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 对input进行输入金额控制(保留小数点后一位)

    在我们的项目中使用的VantUI,因为封装的输入框(文字,数字)都是用的van-field。但是项目需求是对输入金额时做一定对限制: (1).第一位只能输入数...

    honey缘木鱼

扫码关注云+社区

领取腾讯云代金券