几个不容易发现的错题

1.   编写程序,它的功能是:输入正整数m(m的值在100~10000之间),使得等差数列1、2、3、4、5、6… n前n项和小于m,前n+1项和大于m,输出n的值。如m的值为155,1+2+……+17>155,且1+2+…… +17+18<155,输出17。

 

 对比第一个错误的代码和第二个正确的代码,发现第二个错就错在,每次循环的时候,x都是从一开始的,所以循环下来的结果会比原本要的结果大很多。只要在开头注明x是从一开始的就好了。

2.装置矩阵

(妈的这就行了好简单)

看错误示范:

错就错在,第一行再换的时候就对了,第二行就换不对了,是因为第二次再换的时候原来的数据已经被改过了(改成第一次换过后的数据了)所以第二次第三次的换行环列就换错了。

3.

编写程序,有一3行3列的整数矩阵(数据由键盘输入),进行如下操作:矩阵第一行移至最后,矩阵其它行均上移一行。输出处理后的矩阵

 这个代码太牛了!!!!!if 那块的函数是用来调行数的(从第二行开始输出),因为当进入for循环的时候,i首先被赋值为1,但是由于不满足if的条件,所以执行下一条语句即打印语句,就是把第二行先打印出来了。然后在确定结束是什么时候(就是把第零行打印出来就结束)

4.

编写程序,有一包含10个整数的数列(数据在程序中初始化,分别是:11 22 33 44 55 66 77 88 99 100),程序运行时, 从小到大输入两个整数,分别表示数列中连续的一段数据最左侧和最右侧两个数的位置(说明:数据11的位置为1,数据22 的位置为2,数据100的位置为10,以此类推;输入的这两个数可以相等,不允许第一个数大于第二个数),要求对连续的这 段数据逆序存储,最后输出经过调整位置后的数列(输出所有的10个数)。如输入的两个数为2和6,表示仅对连续数据段“22 33 44 55 66”进行逆序存储,输出结果为11 66 55 44 33 22 77 88 99 100。
这个错误原因和上面某个提一模一样!!!

 注:交换数据时不能直接交换!因为第一次交换对就不是原来的数据了!交换来交换去还是错的啊啊啊啊啊啊

5.

编写程序,要求程序运行时接收从键盘输入的两个字符串(长度均不超过80),并将第二个字符串中奇数位置上的字符顺序
连接到第一个字符串的末尾(说明:字符串中的首字符位置为1),最后输出第一个字符串。

 注:1.不能写成s3【i】=s1【i】,因为这里的i已经不是从0开始一个接一个的了,而是奇数,所以会错掉。

        2.要将改变后的s1【i】设有字符结束标志 \0。

6.

编写程序,要求程序运行时接收从键盘输入的两个字符串(长度均不超过80),请分别对两个字符串中奇数位置上的字符形
成的两个子串比较大小,若第一个子串大于第二个子串,输出1,若第一个子串等于第二个子串,输出0,否则输出-1。如两
个字符串分别为“ 123abcdefg ”和“ 12345678 ”,奇数位置上的字符形成的子串分别为“ 13bdf ”和“ 1357 ”,输出结果为1。

 好奇怪啊,考试的时候就不对,怎么到我电脑上就有对了呢,好奇怪,以后变的更好了记得回来看看。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值