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

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

作者|我是奔跑的键盘侠

来源|奔跑的键盘侠(ID:runningkeyboardhero)

转载请联系授权(微信ID:ctwott)

搬砖继续……

终于,到了A卷最后一期了,不容易啊。

这期可能解析稍微详细了一点,耗费时间精力不少,B卷可能会简略一些。大家如果有问题可以留言。

年级只是代表题型,难度不做区分。规则:

一年级:选择题;

二年级:填空题;

三年级:阅读题;

四年级: 编程题。

第4题

首先定义了几个变量,sum=0,初始化一个6x6的二维数组、整型。

然后两层嵌套循环输入数组的值,先第一行6个,再第二行……

一句话:根据用户输入的整数,构造了一个6x6的二维数组。

后面一个两层for循环,是用来求和的,sum=sum+array[i][j]。看清楚i,j的始末,也就知道了是求哪些元素的和了。

i从1开始,也就是第二行,到5结束,也就是从第二行到第六行;

j从0开始到5,也就是所有的列。

if语句,i==j是对角线上的元素,对应的是1,1;2,2;3,3;4,4;5,5;这5个元素。而i+j==5,是另外一个对角线,对应的1,4;2,3;3,2;4,1;5,0

画个图吧,更形象一点:

也就是图中的黄色单元格的值,与深灰色单元格的值求和。

一句话:数组中对角线元素之和(不含左上角、右上角两个元素)。

答案就不整理了,只要能讲明白都OK。

第5题

p1=a,等价于p1=&a[0],p1+2,也就是&a[2],所以第一个输出就是4+换行符.

而p1=a+2,等价于p1=&a[0]+2=&a[2],再次输出时又后移了2位到&a[4],输出6+换行符.

而p2是指向了"computer\n"这个字符串,+2要后移两位,输出自然就是

mputer+换行符。最后这个换行符是字符串中\n引发的。

编译运行一下看

#include <stdio.h>
int main(){  int a[]={2,3,4,5,6};  int* p1;  char* p2="computer\n";  p1=a;  printf("%d\n",*(p1+2));  p1=a+2;  printf("%d\n",*(p1+2));  printf("%s",p2+2);  return 0;}

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

"C:\Users\2019_943_132.exe"

Process started (PID=32308) >>>

4

6

mputer

<<< Process finished (PID=32308). (Exit code 0)

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

第6题

i从10开始一直到98,共89个数字,都是二位数,i/10就相当于取十位上的数字

i/10, 10个1,10个2……10个8,9个9。

i/10%10, 接着上一步继续取余,结果一样的说,还是十位上的数。

i%10,也就是取个位数。

说白了就是个位+十位==4的数,输出

#include <stdio.h>
int main(){  int i;  for(i=10;i<99;i++){    if(i/10%10+i%10==4){      printf("%d\n",i);    }  }  return 0;}

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

"C:\Users2019_943_133.exe"

Process started (PID=15888) >>>

13

22

31

40

<<< Process finished (PID=15888). (Exit code 0)

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

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

原始发表时间:2019-11-07

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    字符型变量也可以直接取对应的字母或数字或其他符号,必须单引号。双引号就不是字符了而是字符串。

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

    不过今天的题目有点升级,直接跳到了四年级,其实难度上都属于入门,只不过是题型变了。

    Ed_Frey
  • C语言——小学一年级题目解析(三)

    另外有一个'\0'需要重点记忆,它是字符串结束的标志位。但是在这个字符串数组里,它是啥??我也不懂

    Ed_Frey
  • 每周小题--函数传值

    编程珠玑
  • 谷歌2016 I/O 大会:关于将发布新产品的九大预测

    今年大会的重头戏可能会落在Android N、360度全景视频、增强现实与实时虚拟现实上。

    华章科技
  • c语言之利用函数实现字符串的复制

    需要注意的是:使用指针进行复制时,str必须这样声明并初始化:char str2[] = "i am a student";,而不能使用char* str2 =...

    绝命生
  • C4D R14软件安装教程

    C4D R14(64位)下载地址: 链接:https://pan.baidu.com/s/1slwUuo1 密码:k88e C4D R14(MAC)下载地址: ...

    企鹅号小编
  • 数据库三大范式【面试+工作】

    设计良好结构的数据库,可以有效减小数据冗余,减少增删改中出现的问题。深入理解数据库设计的三范式,对于设计“健壮的数据库“十分有必要。数据库三范式是设计数据库 时...

    Java帮帮
  • 「R」Windows R 安装包显示无法锁定目录怎么搞?

    参考:https://stackoverflow.com/questions/14382209/r-install-packages-returns-faile...

    王诗翔呀
  • MIT升级版“机器船”舰队:自主变形搭建动态桥梁

    近日,麻省理工学院(MIT)宣布,它的机器船舰队“Roboat”已经升级,具备了“变形”的新能力!

    新智元

扫码关注云+社区

领取腾讯云代金券