如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第页山东理工大学实验报告姓名:王闯闯学号1011013122课程名称:C语言程序设计成绩:教师签名:实验名称指针程序综合应用(2学时)指导教师巨同升实验目的掌握指针应用程序设计的一般方法及指针应用程序的调试方法,能够综合运用选择、循环结构和指针解决一般难度的实际应用问题。实验内容:1.用字符指针编程序实现:输入一个人民币小写金额值(不考虑角和分),转化为大写金额值输出。先实现基本功能,如输入1002300,可以输出“壹佰零拾零万贰仟叁佰零拾零元”。(提示:首先分离出来每一位数字,并存入到一个数组中。然后将数组中的每一位数转化为大写形式,并加上适当的单位。)#include"stdio.h"voidmain(){inta[30]={0},i,t,c,*q=a;charb[15][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾","佰","仟","万","亿"},(*p)[3]=b;printf("请输入金额");scanf("%d",&t);c=t;printf("\n");for(i=0;t!=0;i++){a[i]=t%10;t=t/10;}printf("%d元转换为大写后为",c);for(c=i-1,i=c%4+9;c>=0;c--,i--){printf("%s",p+*(q+c));if(i!=9)printf("%s",p+i);elsei=13;if(c==8)printf("%s",p+14);if(c==4)printf("%s",p+13);}printf("元\n");}实验中出现的问题及解决方法:要求是用字符指针,别的变量不用指针。定义指针时括号落下;输出时输出“?”;2.(拓展题,选做)用字符指针编程序实现:输入一个人民币小写金额值,转化为大写金额值输出。要求实现完善的功能,如输入1002300.90,应该输出“壹佰万贰仟叁佰元零玖角整”。#include"stdio.h"voidmain(){charb[15][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖","拾","佰","仟","万","亿"},(*p)[3]=b;inta[20]={0},f[3]={0},i,t,j,d,c=0,e,*q=a;doublem,k;printf("请输入金额");scanf("%lf",&m);e=m;k=m-e;printf("\n");for(i=0;e!=0;i++){a[i]=e%10;e=e/10;}e=m;j=i-1;for(t=0;a[t]==0&&t<4;t++);f[0]=t;for(t=4;j>4&&a[t]==0&&t<8;t++);f[1]=t-4;for(t=8;j>8&&a[t]==0;t++);f[2]=t-8;t=0;printf("%.2lf元转换为大写后为",m);if(m==0)printf("零元整");if(j>7){for(c=j;c>7;c--,i--){i=c%4+9;printf("%s",p+*(q+c));if(i!=9)printf("%s",p+i);if(f[2]==c-8){j=7;break;}while(c>9&&a[c-1]==0){if(t==0){printf("零");t++;}c--;}}printf("亿");if(a[8]==0&&(f[1]!=4||f[0]!=4)){printf("零");t++;}while(c>5&&a[j]==0&&(f[1]!=4||f[0]!=4)){if(t==0){printf("零");t++;}j--;}if(f[1]==4&&f[0]==4)j=-1;t=0;}if(j>3){for(c=j;c>3;c--,i--){i=c%4+9;printf("%s",p+*(q+c));if(i!=9)printf("%s",p+i);if(f[1]==c-4){j=3;break;}while(c>5&&a[c-1]==0){if(t==0){printf("零");t++;}c--;}}printf("万");if(a[4]==0&&f[0]!=4){printf("零");t++;}while(c>1&&a[j]==0&&f[0]!=4){if(t==0){printf("零");t++;}j--;}t=0;if(f[0]==4)j=-1;}if(j>=0){for(c=j;c>=0;c--,i--){i=c%4+9;printf("%s",p+*(q+c));