标签:字符 代码风格 语言 问题: getch 排序 c中 方法 嵌套
(1) 定义n,N,a[1000],x,j,i,max;
(2)输入n
(3)定义b[n]
(4)给a[1000],b[n]赋值
(5)for(i=0;i<n;i++){ 执行嵌套for(j=0;j<n;j++) 如果a[i]=a[j],b[i]++;
(6)i=0,max赋值b[i]
(7)for(i=1;i
(8)输出a[x],max。
碰到的问题:
解决办法:将a[i]正确赋值。
(1)char a[5];int i=0;通过循环分别输入a[i]的值
(2)int n=1,kind;scanf(kind值);
(3)int age=0,sum=0;for(i=0;a[i]!=‘ ‘;i++){将字符转化为数字,变为‘sum=sum*10+a[i]-‘0‘‘
(4)int ge,shi,bai,qian;
(5)while(n!=kind){执行循环n=0;
(6)分别计算各个位数
(7)如果均为同一个数,n=1;如果有2种,n=2;如果三种,n=3,如果为4种,n=4
(8)age++;sum++(如果不符合kind值,则算下一年);}直至不符合条件;循环结束。
(9)n=3;sum--;while(n!=-1){
(10) a[n]=sum%10+‘0‘;sum=sum/10;n--;将数字变为字符
(11)输出("%d %c%c%c%c",age-1,a[0],a[1],a[2],a[3]);
碰到的问题:
应该不符合时输出,而本应该等于3的却变成了0;
应该只有2种数字,却输出了3种数字。应该是n=3时的条件不足。
解决办法:将n=0加在while下面一行。加上条件。
(1)定义N,i=0;输入N;
(2)定义a[80]={0}
(3)for(i=0;i<N;i++){输入a[i]值
(4)定义x,j。输入x值
(5)for(i=0;i<N;i++){
(6)如果a[0]>=x){执行循环for(j=N;j>0;j--){a[j]=a[j-1];否则a[0]=x;退出循环;
(7)如果a[N-1]<=x){a[N]=x;退出循环;
(8)如果a[i]<=x&&a[i+1]>=x执行循环for(j=N;j>i;j--){a[j]=a[j-1];否则a[i+1]=x退出循环;
(9)如果(N==0) a[N]=x;
(10)分别输出a[]的值。
碰到的问题:
解决办法:加一个N=0的判断。
欧阳震霆。
我的:
他的:
他写的比我简便,他通过判断每一个数字是否符合条件而判断年份是否符合条件,而我是用把每个条件罗列才将这些答案输出。
相较来说他的代码比较节约时间,这是我应该学习的地方。
用字符数组或用字符指针存储
‘\0’;让其在指定位置自动退出数组,而不用继续执行。
scanf(“%s”,&op)和gets(op)
定义一个字符op,计算n=op-‘0‘;
16进制: 定义数组a[100]储存十六进制字符串的各个字符,aum,若字符为A——Z,则‘sum=sum16+a[i]-‘A‘+10’.若字符为a——z,‘sum=sum16+a[i]-‘a‘+10’,若字符为0——9,则‘sum=sum*16+a[i]-‘0‘’
2进制:定义数组a[100]储存十六进制字符串的各个字符,aum,若字符为A——Z,则‘sum=sum2+a[i]-‘A‘’.若字符为a——z,‘sum=sum2+a[i]-‘a‘’,若字符为0——9,则‘sum=sum*2+a[i]-‘0‘’
什么时候用数字数组,什么时候用字符数组,特别是当一个数组有数字时,总觉得用字符数组可以,但最后却输不出正确答案;还有对二维数组的运用;什么时候加换行符,有时候在输入数组的前面或后面加了换行符,数组就发生了变化。
书上内容没有认真研读,弄懂。考试态度不端正,自己不想写就不写了。。代码阅读能力低下,时间分配不均匀。
1.。do while的条件不同,一直以为满足括号条件就退出循环。
2.不能用scanf(),应该用(ch = getchar())
3.自定义函数那一块没看出来。
4n<1的条件没有说明,而且程序写的太乱,看不清。
既然有笔试的话,应该去看一看书,将书上的内容看一看,不要考到书上的自己不会。书上的代码也要去看看,这样可以学到不少东西。端正学习态度,合理把握时间,认真对待考试。提高自己阅读代码的能力。练习自己写伪代码的能力,现在我连伪代码和写步骤都分不清。
标签:字符 代码风格 语言 问题: getch 排序 c中 方法 嵌套
原文地址:http://www.cnblogs.com/guanzheng7474741/p/7944556.html