标签:最大公约数 二分 har 技术 分享 插入 哪些 时间 ati
初始代码为
但提交后显示
没有考虑到最大N,插在尾和N等于0的情况,然后改过之后,但忘记如果N为0插在头,或者x>a[n-1]应插在尾,输出x后结束程序,导致答案错误
开始时不知道加数和被加数要怎么输出,以为可以单独输出,故写出以下的代码,
输出错误,后问了同学,说第一行的+和加数可以单独输出,和存放在数组中和列数的被加数循环输出
但还是输出错误,发现题目要求的是输出下三角,故因加上判断条件i<j;但编译后格式错误
重新读题后发现行末不能有空格,所以当i=n-1时因单独输出
编译时输入偶数时,都显示not found,但是输入奇数又可以找到,但是位置多了一,输入在数组以外的数字,输出正确
在pta上提交后显示输出YES的答案错误
这样二分法查找,其中间值m的大小即是所在位置,不用加一,改过之后答案正确
互评同学:田亚琴
互评题目:7-4 简化的插入排序
我和亚琴的代码 最大的不同是:
1.亚琴一开始就将x赋值给a[n],x从已经排好序的整数最后一位开始比较
2.我是考虑各种情况(1)n=0;(2)n=1&&a[0]
1.字符串的存储--数组初始化,例如:
static char s[6] = {‘h‘,‘a‘,‘p‘,‘p‘,y,‘\0‘},数组s中就存放了字符串“happy”
(字符串由有效字符和字符串结束符‘\0’组成)
2.字符串的存储--赋值和输入
例如:static char s [80];
s[0] = ‘a‘;
s[1] = ‘\0‘;
采用赋值的方法将字符串“a”存入数组s;且其等价于 static char s [80] = “a”;
字符串的结束标志是‘\0‘,因为字符串并没有显示地给出有效字符的个数,只规定在字符串结束符‘\0‘之前的字符都是字符串的有效字符,一般通过比较数组元素的值是否等于‘\0‘来决定 是否结束循环,即用结束符‘\0‘来控制循环
1.直接输入:scanf("%s",str1)
2.gets(str1)
3.使用循环while((str1=getchar())!=‘\0‘)
定义number,i,用于存放转换成的整数,定义数组str[]用于存放数字字符
i=0;
while((str[i]=getchar()!=‘\n‘) i++; str[i]=‘\0‘; //输入字符串
for(i=0;str[i]!=‘\0‘;i++) // 循环条件:str[i]不等于‘\n‘
number=number*10+str[i]-‘0‘ / /转换成数字
输出number
16进制字符串转10进制
定义i,定义数组hexad[80]用于存放16进制字符串,定义number存放转为十进制的结果,number=0;
i=0;
输入字符串while((hexad[i] = getchar())!=‘#‘)//假设‘#’为结束符
i++;
hexad[i]=‘\0‘ //将字符串结束符也存入数组
for(i=0;hexad[i]!=‘\0‘;i++)遍历整个数组,逐个转换
if(hexad[i]>=‘0‘&&hexad[i]<=‘9‘ // 如果是0~9的数字字符
number=number16+hexad[i] -‘0‘
else if(hexad[i]>=‘A‘&&hexad[i]<=‘F‘ ) //如果是A~F的大写字母
number=number16+hexad[i] - ‘A‘+10;
else if(hexad[i]>=‘a‘&&hexad[i]<=‘f‘ ) //如果是a~f的小写字母
number=number*16+hexad[i] - ‘a‘+10;
输出number
2进制字符串转10进制
定义i,定义数组str[80]用于存放2进制数,定义number存放转换为十进制的结果
i=0;
输入字符串 while((str[i]=getchar())!=‘\0‘)i++;
遍历数组str[i]
for(i=0;str[i]!=‘\0‘;i++)
number=number*2+pow(i,2)
输出十进制数字number
1.对于二维数组的使用还不是很好,各进制之间的转换还不是很熟练,
2.课堂派上的错题
4.编程:写得程序结构混乱,平时很少用手写代码,没有了编译器提示错误点,导致错误也未知,还有平时写完代码后没有很好的复习,导致曾经做过的题也做错
其实这次考试考不好的最主要原因还是在于自己平时的学习方法不对,对预习作业不够认真,导致基础的知识掌握的很不牢固,对于老师说过的题目没有及时的复习,自己做错过的题目有时也会忘记去订正,导致犯同样的错误,平时的编程量和代码的阅读量太少,以至于拿到一道题目会思考很久;平时调试一道题目会花上很多时间,做题效率太低
编程题:3.编写一个函数,求从n个不同的数中取r个数的所有选择的个数,其个数值为:
考试时,手写的代码结构太过混乱,导致得分很低
认真对待每一次的预习作业,把基础知识掌握好,自己的错题或不会做的题及时订正,增加代码的练习量和阅读量,还有平时养成多看博客的习惯,参考别人的思路,借鉴学的好的同学的学习方法和解题思路,不要在一道题上花太多的时间,如果很久没有思路,可以参考同学的思路,按照自己的理解重新写代码,提高学习效率
标签:最大公约数 二分 har 技术 分享 插入 哪些 时间 ati
原文地址:http://www.cnblogs.com/2223ch/p/7956585.html