1、 一、一、选题背景:选题背景: 本程序是一个比较常见的设计性程序,主要应用在银行的打印方面。 本程序可以把输入的数字读出来, 之后在通过打印机把所输入的数字 打印出来。该程序设计简单,灵活易懂,具有较强的实际应用性。 二、二、设计思路:设计思路: 这是一个模拟银行打印的程序,它可以把输入的数字读出来。在整个 程序中广泛运用了 C 语言的函数和基本的算法的知识,并结合函数 的声明和定义。在主要内容确定之后,调用所需函数。其余各部分衔 接运用顺序结构,分支结构和循环结构。并根据以上思路编译了这段 程序。 三、流程图:三、流程图: 定义变量:Zhu_shu,X_shu len len=ln_Save
2、(zh_shu,X_shu) (file1) Print_Zh(Zh_Shu,len) (file2) Print_X(X_Shu) (file3) 开始 File1: Y N 开始 调入函数 In_Save 1 1 定义变量 i,j 打印“The course is made by zhongzhuonPlease enter a number” 输入 c ch!=. i=o j=o Y N Y N 2 输入 c ch=n int In_Save(char a, char b);/*输入并存储数据*/ void Print_Zh(char a, int len);/*输出整数部分 */ vo
3、id Print_X(char a);/*输出小数部分 */ int main(void) char Zh_Shu26, X_Shu10; int len; 输入 jiao 输入 fen 输 入 shi 输入 li 输入 hao 输入 error 结束 len=In_Save(Zh_Shu, X_Shu); Print_Zh(Zh_Shu, len); Print_X(X_Shu); system(“pause“); return 0; int In_Save(char a, char b) char ch; int i, j; a: puts(“The course is made by z
4、hongzhuonPlease enter the number:“); scanf(“%c“, while(ch != n)/*存储整数部分*/ i=0; j=0; while(ch != . else if(ch = n)/*注意没有输入小数的情况*/ ; else/*输入错误(主要指输入非数字符号)可以重试*/ puts(“The enter is wrong,please enter again!“); goto a; return i; void Print_Zh(char a, int len) int i, j, flag1, flag2, flag3; flag1=(alen-
5、6=0 flag2=(alen-14=0 flag3=(alen-22=0 printf(“The read is:n“); for(i=0,j=len; i0; i+,j-) if(ai = 0 /*不重复读万,如将 1000000050 误读作一十亿万零五十圆*/ else if(j = 21 /*正确的读法应该是一十亿零五十圆*/ else if(j = 9 | j = 17 )/*重复读亿*/ printf(“Yi“); else if(ai+1 = 0 else if(ai+1 != 0 else ; else if(ai = 0 else if(ai != 0) switch(ai
6、)/*读入数字*/ case 1: printf(“%s“,p1); break; case 2: printf(“%s“,p2); break; case 3: printf(“%s“,p3); break; case 4: printf(“%s“,p4); break; case 5: printf(“%s“,p5); break; case 6: printf(“%s“,p6); break; case 7: printf(“%s“,p7); break; case 8: printf(“%s“,p8); break; case 9: printf(“%s“,p9); break; default: printf(“error“