1.编程代码
#include<stdio.h> int main() { char M[10]={'a','b','c','d','e','f','g','h','i','j'}; char N[10]={'0','0','S','B','Q','W','S','B','Q','Y'}; char J[17]; int n,k=0,m=0,cur,pre; printf("Enter a number within 9:"); scanf("%d",&n); if(!n){ printf("%d",M[0]); return 0; } while(n){ cur=n%10; n/=10; m++; if(cur){ if(m>1) J[k++]=N[m]; J[k++]=M[cur]; } else{ if(m==5) J[k++]=N[m]; else if(pre!=0&&m!=4&&m!=1) J[k++]=M[cur]; } pre=cur; } for(int i=k-1;i>=0;i--) printf("%c",J[i]); retu
2编程思路
在处理是否为0的问题上思考了很久,编写了一个很长的用多个if的编程,后来发现太麻烦了,借鉴了同学的,将数字一起编写,用while来判断是否为0的话方便很多,但是感觉我的知识储蓄量太有限了,最后while的累加来判断。若前以为不为0,则下一位必存在,所以只要保留前一位就行了。
3编程中的错误
编程的长度比较长,所以使用了较长的时候去编写和检查修改,问题太多,而且都是些小毛病,漏掉了几个‘;’,还有该使用‘==’时习惯性的使用了‘=’,没有养成自己的编程习惯。最后再同学的帮助检查下完成了作业。在接下来的编程作业中应当更加仔细,认认真真。