前言:
当前同学们对“成绩c语言用几”可能比较关心,咱们都需要知道一些“成绩c语言用几”的相关知识。那么小编也在网上收集了一些对于“成绩c语言用几””的相关文章,希望小伙伴们能喜欢,看官们快快来了解一下吧!C语言OJ编程题精讲第12讲:成绩的输人和输出。
再来看这道题,这道题是什么情况?输入三科成绩,然后把三科成绩输出,成绩为整型类型,很简单。三科成绩用空格隔开,范围0-100,这个题就更加简单了。快速的给大家把这道题做一做。
·#include<stdio.h>,int main(int main),走起来return0。这地方三科的成绩,这地方给ints1,s1等于几?0。再来一个,s3三科成绩。
·关于这道题,如果真的要去输入,可能有两种方法来输入。第一种方法可能就是这样子,叫scanf,一口气把它做到位,%d%d%d。这个地方中间空格隔开,给个空格,第一个放到s1里面去,第二个放到s2里面去,第三个放到s3里面去,这一定要取地址。
·算出来之后,输入进来之后先把它打印。打印大家注意,score1等于什么?要按照格式,这个地方是=%d,中间不要加其他东西,逗号。看下面这个格式,score3等于%d,然后再是逗号,score3等于%d,然后斜杠,逗号,这地方是s1,逗号,s2,逗号,s3。
·这个时候同学们又提问,说在局部变量那块没理解,不是0,其他数字都可以吗?可以的,没有任何问题,想给个5也可以,想给个8也行,想给个什么就给个什么,当然在合情合理的范围内就行。
这一块下来再仔细看一下,有同学说,老师这个题人家怎么测试的?注意,牛客网后台会给大家输入和输出的,所以不要关心它。不要关心它好不好,这一题就搞定了。
除了这种输入方式,大家注意现在只是3个成绩,30个成绩我也这样去写吗?这写上30个%d吗?不是。这个地方其实还有另外一种写法,就是写个循环来做,否循环也可以做,i等于0,i小于几?3,你有三个成绩吗?这样也可以。
但是这个时候大家注意了,如果写成for循环,这三个成绩放在上s1、s2、s3里面就不好了,不好处理了,循环不起来的。这个地方说scanf走起来,说%d,最后放哪里去?不是每次都在s1里面放着的吗?这个地方不就出问题了吗?所以这地方如果要循环去写可以没问题,但是s1和s2、s3就不太好用了。
那会怎么办?这个地方还是留一份代码,这个地方给大家把这份代码留着,然后重再改造这份代码,就是它的写法真的很多,每个人可能写出自己想要的那种效果。
这个地方其实还有一种写法是什么?就是这样做,这给成绩,说int,这个地方给叫scot,然后这个地方给了3,就是三个成绩,里面默认是0,然后这地方不是这样做,不是这样做。这地方给上一个什么?int等于几?0for循环,i等于0,i小于几?3i++。
这三个成绩就录到哪里去?scanf,就把它录到第一个叫%d,录的格式scanf,取地址score[i]。大家想象一下,i是012,数组访问的时候,它的下标就是从0开始的,这个数组是三个元素,它的下标就是012,这个地方下标,i从0开始,每次加加一小于3不就出来了吗?
而在这打印的时候,大家注意这样就可以用了score[0],score方块0,这是我的第一个成绩,这是我的第二个成绩,这是我的第三个成绩,就可以搞得定它。这种方法行不行?当然可行了。
这个地方告诉我说编译出现了问题,到底哪里出了问题?在打印的这一行出了问题,这地方是不是用了一个中文的逗号,要把它换成英文,再提交这个地方,大家注意看,这又给出的结果,是不是最终的结果是有问题的?这地方给了个0。
输入的时候哪里出了问题?再来看一下,这个地方怎么给了一个1,2,我这地方刚刚没看到怎么敲了个2,这条越界了,如果把它改回来就是这么一个方法,整体看起来也不算特别复杂。
这个题有很多种写法,希望老铁们能够注意,也给大家放这地方,下来自己可以参考一下,这个代码跟你写的代码到底哪里有区别?你写的代码到底比我的好在哪里?或者我写的比你好哪里?你自己要分析一下。同学们,这就是这道题目。