本站提供福彩开奖结果,预测,图谜,胆码,杀码,开机号、试机号、开奖结果、杀号定胆等专业彩票信息网站

首页 >  彩票资讯 / 正文

223期的和值是多少

admin 2020-02-27 彩票资讯
223期的和值是多少:我近期体检,其中嗜酸性粒细胞数为1.25,嗜酸性粒细胞率为0.223,均比正常值偏高,请问是怎么回事呢?: 嗜酸性粒细胞增多 (1).过敏性疾病:支气管哮喘、药物过敏、荨麻疹、食物过敏、血管神经性水肿、血清病等外周血嗜酸性粒细胞增多可达10%以上 (2).寄生虫病:血吸虫病、蛔虫病、钩虫病等血中嗜酸性粒细胞增多,常达10%或更多。某些寄生虫感染患者嗜酸性粒细胞明显增多,倒置白细胞总数高达数万,90%以上为嗜酸性粒细胞,为嗜酸性粒细胞型类白血病反应 (3).皮肤病:如湿疹、剥脱性皮炎、天疱疮、银屑病等可见外周血嗜酸性粒细胞轻中度增高 (4).血液病:如慢性粒细胞白血病、嗜酸性粒细胞白血病、淋巴瘤、多发性骨髓瘤、嗜酸性粒细胞肉芽肿等,外周血嗜酸性粒细胞可有不同程度增高,有的可伴有幼稚嗜酸性粒细胞增多 (5).某些恶性肿瘤:某些上皮系肿瘤如肺癌等可引起嗜酸性粒细胞增高 (6).某些传染病:急性传染病时,嗜酸性粒细胞大多减少,但猩红热时可引起嗜酸性粒细胞增多 (7).其他:风湿性疾病、脑腺垂体功能减低症、过敏性间质性肾炎等也常伴有嗜酸性粒细胞增多 应该结合其他检查指标综合分析,而且单纯一次的检测并不能说明多少问题,还需隔断时间复查 223期的和值是多少:哈尔滨工业大学C课程设计说明书

Harbin Institute of Technology
课程设计说明书(论文)

课程名称: C语言课程设计
设计题目: 乐曲谱写、根轨迹、24点
院 系: 航天学院
指导教师: 侯明哲
设计时间: 2019.7.3

哈尔滨工业大学教务处

哈尔滨工业大学课程设计任务书
院 (系):航天学院
专 业:自动化类
任务起至日期: 2019年 7月 1日至 2019年 7月 5日

课程设计题目
1.编辑音乐程序
2.绘制二次方程 S^{2}+2S+k=0,0<k<5 方程根的轨迹
3.小游戏24点,给出4各数字,运用加减乘除计算得到24

已知技术参数和设计要求:
1.编辑音乐程序
a.播放默认歌曲
b.通过键盘录入曲谱,回车后播放;
c.直接使用键盘弹奏。
d.每首歌曲以自己定义的格式(越易读越好)保存为一个文件,程序运行后可选择文件播放。
2.绘制方程根轨迹
a. 函数自变量和值保存到数据文件,编写一个自动绘图的程序,能够读取数据文件,自动根据数据的内容绘制曲线,坐标范围可自动调整,横纵座标标注可设定。
b. 可通过修改配置文件来改变坐标系的位置和形状显示范围等。
c. 在运行期,可设置函数的参数(比如正弦函数的幅值频率相位等) ,绘制不同的曲线。
d. 可多次画图,不用每画一个图都要重新运行程序。
3.二十四点
a.二十四点牌游戏。任给四个1-13之间的数,利用加减乘除以及括号将给出的四个数组成一个值为24的表达式。

工作量:20学时,一周实现三个小程序


工作计划安排:
1.仔细研读程序要求,规划程序功能
2.研究老师给出例题,弄清程序实现原理
3.实现任务1
4.实现任务2
5.实现任务3
6.优化及调试程序
7.撰写设计说明书


题目一

1.1 题目详细描述:

编制音乐程序,曲目自选,不要重复。功能1是播放默认歌曲,功能2是弹奏乐曲,功能3是输入并演奏乐曲,功能4是读取txt文件中的乐曲并演奏

1.2 程序设计思路及流程图:

1.3 程序清单及注释:

 2 #include  n 3 #include  n 4 #include  n 5 #include  n 6 #include  n 7 #include  n 8 #include  n 9 #define  N1  64 n 10 #define  N2  32 n 11 #define  N4  16 n 12 #define  N8  8 n 13 #define  N16 4 n 14 #define  END 0 n 15 #define MAX_LINE 1024 n 16  n 17 enum NOTES{  n 18 C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,  n 19 C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494,  n 20 C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988,  n 21 C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976  n 22 };  n 23 typedef enum NOTES SONG;  n 24 SONG song[]={0};  n 25  n 26 void f1() {               //内置歌曲  n 27     SONG song[]={C0,N8,G10,N8,C0,N8,C0,N16,C0,N8,E0,N8,D0,N8,C0,N16,D0,N8,E0,N8,  n 28              C0,N8,C0,N16,E0,N8,G0,N8,A0,N4,A0,N8,G0,N8,E0,N16,E0,N8,C0,N8,  n 29              D0,N8,C0,N16,D0,N8,E0,N8,C0,N8,A1,N16,A1,N8,G1,N8,C0,N4,A0,N8,  n 30              G0,N8,E0,N16,E0,N8,C0,N8,D0,N8,C0,N16,D0,N8,A0,N8,G0,N8,E0,N16,E0,N8,G0,N8,  n 31              A0,N4,C10,N8,G0,N8,E0,N16,E0,N8,C0,N8,D0,N8,C0,N16,D0,N8,E0,N8,C0,N8,A1,N16,A1,N8,G1,N8,C0,N4,  n 32 END,END  n 33 };  n 34  n 35  int note=0, fre , dur , control;  n 36  clock_t  goal;  n 37  n 38  while(song[note]!=END){  n 39             fre=song[note];  n 40             dur=song[note+1];  n 41  if(kbhit()) break;  n 42  if(fre){                             /*若频率值fre非0*/ n 43             outportb(0x43,0xb6);            /*初始化2号定时器 */ n 44             fre=(unsigned)(1193180L/fre);   /*计算计数初值 */ n 45             outportb(0x42,(char)fre);       /*先写计数初值的低8位*/ n 46             outportb(0x42,(char)(fre>>8));  /*再写计数初值的高8位*/ n 47             control=inportb(0x61);          /*读0x61的状态*/ n 48             outportb(0x61,control|0x03); /*将第0位,第1位置1,使喇叭发声*/ n 49         }  n 50             goal=(clock_t)dur+clock( );   n 51  while(goal>clock( ));  n 52  if(dur)  n 53             outportb(0x61,control);  n 54             note+=2;  n 55     }  n 56 }  n 57  n 58 void f2(){  n 59  int fre;  n 60 int control;  n 61 char c;  n 62  do{             //根据输入按键的不同 决定不同的发声频率  n 63     c=bioskey(0);  n 64  switch(c){  n 65  case 'a':  n 66     fre=C2;  n 67     sound(fre);  n 68     delay(100);  n 69     nosound();  n 70  break;  n 71  case 's':  n 72     fre=D2;  n 73     sound(fre);  n 74     delay(100);  n 75     nosound();  n 76  break;  n 77  case 'd':  n 78     fre=E2;  n 79     sound(fre);  n 80     delay(100);  n 81     nosound();  n 82  break;  n 83  case 'f':  n 84     fre=F2;  n 85     sound(fre);  n 86     delay(100);  n 87     nosound();  n 88  break;  n 89  case 'g':  n 90     fre=G2;  n 91     sound(fre);  n 92     delay(100);  n 93     nosound();  n 94  break;  n 95  case 'h':  n 96     fre=A2;  n 97     sound(fre);  n 98     delay(100);  n 99     nosound();  n 100  break;  n 101  case 'j':  n 102     fre=B2;  n 103     sound(fre);  n 104     delay(100);  n 105     nosound();  n 106  break;  n 107  }  n 108     }while(c!='e');  n 109 }  n 110  n 111 void f3(){  n 112  int note=0, fre , dur , control;  n 113  clock_t  goal;  n 114  int num=0,c1,n1,c2,n2;  n 115  int M[4][7]={{440,494,262,296,330,349,392},{880,988,523,587,659,698,784},{1760,1976,1047,1175,1319,1397,1568},{220,247,131,147,165,175,196}};  n 116     printf("input A4 N0 to play the musicn");  n 117  n 118 do{  n 119     scanf("%c%d %c%d",&c1,&n1,&c2,&n2);    //输入乐谱  n 120     getchar();    n 121  if(n1==10){                               //判断频率  n 122         song[num]=M[3][c1-'A'];  n 123     }  n 124  else if((n1==0)||(n1==1)||(n1==2)){  n 125         song[num]=M[n1][c1-'A'];  n 126     }  n 127  else if(n1==4){  n 128         song[num]=0;  n 129     }  n 130  else{  n 131         printf("error input!");  n 132     }  n 133  n 134  if(n2==1)                               //判断声音长度  n 135     song[num+1]=64;  n 136  else if(n2==2)  n 137     song[num+1]=32;  n 138  else if(n2==4)  n 139     song[num+1]=16;  n 140  else if(n2==8)  n 141     song[num+1]=8;  n 142  else if(n2==16)  n 143     song[num+1]=4;  n 144  else if(n2==0)  n 145     song[num+1]=0;  n 146  else{  n 147         printf("error input!");  n 148     }  n 149  n 150     num+=2;  n 151     }while(n2!=0);  n 152  n 153  while(song[note]!=END){               //播放歌曲  n 154     fre=song[note];  n 155     dur=song[note+1];  n 156     printf("%dn",song[note]);  n 157     printf("%dn",song[note+1]);       n 158  if(kbhit()) break;  n 159  if(fre){                             /*若频率值fre非0*/ n 160          outportb(0x43,0xb6);            /*初始化2号定时器 */ n 161          fre=(unsigned)(1193180L/fre);   /*计算计数初值 */ n 162         outportb(0x42,(char)fre);       /*先写计数初值的低8位*/ n 163          outportb(0x42,(char)(fre>>8));  /*再写计数初值的高8位*/ n 164          control=inportb(0x61);          /*读0x61的状态*/ n 165          outportb(0x61,control|0x03); /*将第0位,第1位置1,使喇叭发声*/ n 166        }  n 167      goal=(clock_t)dur+clock( );   n 168  while(goal>clock( ));  n 169  if(dur)  n 170          outportb(0x61,control);  n 171     note+=2;  n 172     }  n 173 }  n 174  n 175 void f4(){  n 176  char buf[MAX_LINE];  /*缓冲区*/ n 177  FILE *fp;            /*文件指针*/ n 178  int len;             /*行字符个数*/ n 179  int note=0, fre , dur , control;  n 180  clock_t  goal;  n 181  int i=0;  n 182  int num=0;  n 183  int M[4][7]={{440,494,262,296,330,349,392},{880,988,523,587,659,698,784},{1760,1976,1047,1175,1319,1397,1568},{220,247,131,147,165,175,196}};  n 184  printf("enjoy the music!n");  n 185  n 186  if((fp = fopen("f:tcOUTPUTmusic.txt","r")) == NULL)     //从文件中读取乐谱  n 187  {  n 188  perror("fail to read");  n 189  exit (1) ;  n 190  }  n 191  n 192  while(fgets(buf,MAX_LINE,fp) != NULL)                        //存储为字符串  n 193  {  n 194  len = strlen(buf);  n 195  buf[len-1] = '0';  /*去掉换行符*/ n 196  printf("%s %d n",buf,len - 1);                              //显示读取的乐谱  n 197  }  n 198  n 199  do{                                                           //判断发音频率  n 200  if(buf[i+1]=='0'){  n 201         song[num]=M[0][buf[i]-'A'];  n 202     }  n 203  else if((buf[i+1]=='1')){  n 204  if(buf[i+2]=='0')  n 205         {  n 206         song[num]=M[3][buf[i]-'A'];  n 207         i++;  n 208         }  n 209  else{  n 210         song[num]=M[1][buf[i]-'A'];  n 211         }  n 212     }  n 213  else if((buf[i+1]=='2')){  n 214         song[num]=M[2][buf[i]-'A'];  n 215     }  n 216  else {  n 217         song[num]=0;  n 218     }  n 219  n 220  n 221  if(buf[i+4]=='1'){                                         //判断发音时长  n 222  if(buf[i+5]=='6'){  n 223             song[num+1]=4;  n 224             i++;  n 225         }  n 226  else{  n 227             song[num+1]=64;  n 228         }  n 229     }  n 230  else if(buf[i+4]=='2')  n 231     song[num+1]=32;  n 232  else if(buf[i+4]=='4')  n 233     song[num+1]=16;  n 234  else if(buf[i+4]=='8')  n 235     song[num+1]=8;  n 236  else n 237     song[num+1]=0;  n 238  n 239     num+=2;  n 240     i=i+6;  n 241     }while(i<(len-1));  n 242  n 243  while(song[note]!=END){  n 244     fre=song[note];  n 245     dur=song[note+1];  n 246     printf("%dn",song[note]);  n 247     printf("%dn",song[note+1]);       n 248  if(kbhit()) break;  n 249  if(fre){                             /*若频率值fre非0*/ n 250          outportb(0x43,0xb6);            /*初始化2号定时器 */ n 251          fre=(unsigned)(1193180L/fre);   /*计算计数初值 */ n 252         outportb(0x42,(char)fre);       /*先写计数初值的低8位*/ n 253          outportb(0x42,(char)(fre>>8));  /*再写计数初值的高8位*/ n 254          control=inportb(0x61);          /*读0x61的状态*/ n 255          outportb(0x61,control|0x03); /*将第0位,第1位置1,使喇叭发声*/ n 256        }  n 257      goal=(clock_t)dur+clock( );   n 258  while(goal>clock( ));  n 259  if(dur)  n 260          outportb(0x61,control);  n 261     note+=2;  n 262     }  n 263 }  n 264 int main(){  n 265  n 266  int n;  n 267  char c;  n 268     printf("********************************************n");  n 269     printf("*     Press 1 to play the default music    *n");   n 270     printf("*     Press 2 to play the piano            *n");  n 271     printf("*     Press 3 to input music               *n");  n 272     printf("*     Press 4 to load the music            *n");  n 273     printf("********************************************n");  n 274  n 275     scanf("%d",&n);  n 276     fflush(stdin);                            //清空缓存区  n 277  n 278  if(n==1){  n 279     f1();   n 280     }  n 281  else if(n==2){   n 282     f2();   n 283     }  n 284  else if(n==3){  n 285     f3();   n 286     }  n 287  else if(n==4){  n 288     f4();   n 289     }  n 290  n 291     printf("Have a nice day!n");  n 292     system("pause");       n 293  return 0;     n 294     }  

1.4程序运行结果及自评:

图1 程序1运行结果
图2 程序1读取txt文件中的乐谱并演奏

结果正确。

1.5程序调试中遇到过的问题及解决办法

1.如何输入乐谱。

解决方法:通过简单的scanf()函数实现,通过识别输入的字符及整数来判断对应的音调及频率。

2.如何从txt文件中读取乐谱

解决方法:利用fopen()函数读取txt文件内容。

3.turbo C中fopen函数无法读取文件

解决方法:研究发现,在tc环境中fopen必须使用绝对路径,不能省略相同目录下文件的路径


题目二

2.1 题目详细描述:

绘制方程 S^{2}+2S+k=0,0<k<5 的根轨迹函数。要求将计算结果保存,利用计算结果绘制图像。绘制坐标系。设置背景颜色等。

2.2 程序设计思路及流程图:



2.3 程序清单及注释:

 1. #include  n 2. #include  n 3. #include  n 4. #include  n 5. #define p 400 n 6. #define n 400 n 7. #define o 40 n 8. #define h 60 n 9. main()  n 10. {  n 11.  int i,t,a=1,b=2;  n 12.  int driver=DETECT,mode,x00,x11,y00,y11,k;  n 13.  char str_x[2];  n 14.  char str_y[2];  n 15.  int m1,m2;  n 16.  float x[1000]={0};  n 17.  float y[1000]={0};  n 18.  n 19.     initgraph(&driver,&mode,"f:tc ");    /*图形系统的初始化*/ n 20.     setbkcolor(9);                 //设置背景色  n 21.     x00=h,y00=o,x11=x00+p,y11=y00+n;  n 22.     rectangle(x00,y00,x11,y11);   /*画矩形框*/ n 23.     m1=(y00+y11)/2;  n 24.     m2=(x00+x11)/2;  n 25.     line(x00,m1,x11,m1);    //画横轴  n 26.     line(m2,y00,m2,y11);    //画纵轴  n 27.     settextstyle(3,0,2);   /*无衬线笔划字体,水平输出,2号字体*/ n 28.  n 29.  for(i=-2; i<3; i++)  n 30.     {  n 31.         gcvt((double)i,2,str_x);  /*将浮点数转换成字符串函数*/ n 32.         outtextxy(m2+i*100-8,m1,str_x);     //标横轴数字刻度  n 33.  if(i!=0)   n 34.         outtextxy(m2+8,m1-i*100,str_x);     //标纵轴数字刻度  n 35.     }  n 36.  n 37.     m1=(y00+y11)/2;  n 38.  for(k=0;k<5;k++){  n 39.         line(x00+k*100,m1,x00+k*100,m1-5);    //标横轴刻度  n 40.         line(m2,y00+k*100,m2+5,y00+k*100);    //标纵轴刻度  n 41.     }  n 42.  n 43.  n 44.  for(k=0;k<=5;k++)                 //取步长为五  n 45.  if(b*b-4*a*k>=0){                 //在循环中按步长计算不同情况下方程的根  n 46.         x[k]=(-b+sqrt(b*b-4*a*k))/(2*a);             n 47.         x[k+6]=(-b-sqrt(b*b-4*a*k))/(2*a);  n 48.     }  n 49.  else{  n 50.         x[k]=-b/(2*a);                n 51.         x[k+6]=-b/(2*a);  n 52.         y[k]=(sqrt(4*a*k-b*b))/(2*a);  n 53.         y[k+6]=-(sqrt(4*a*k-b*b))/(2*a);  n 54.     }  n 55.         setcolor(2);  n 56.  n 57.  for(k=0;k<5;k++){                      //画图  n 58.         delay(2000);                           //延迟画线  n 59.         line(m2+x[k]*100+5,m1+y[k]*100,m2+x[k+1]*100+5,m1+y[k+1]*100);  n 60.         line(m2+x[k+6]*100+5,m1+y[k+6]*100,m2+x[k+7]*100+5,m1+y[k+7]*100);  n 61.     }  n 62.     system("pause");  n 63. } n 

2.4程序运行结果及自评:


图3 程序2延时画图
图4 程序2运行结果

对于根轨迹的定义不是很清除,画出的图像与别人有所不同。但是具体的画图所需要掌握的核心能力我已经掌握了。

2.5程序调试中遇到过的问题及解决办法

1.如何绘制坐标轴

解决方法:先利用rectangle()函数框定绘图区域。之后利用line()绘制横纵与纵轴。同理,利用line()设置比较小的参数来标刻度。

2.如何标注坐标轴

需要先用gcvt()函数将浮点数转换成字符串函数,之后使用outtextxy()函数将字符串函数画在图上。


题目三

3.1 题目详细描述:

二十四点牌游戏。任给四个1-13之间的数,利用加减乘除以及括号将给出的四个数组成一个值为24的表达式。

3.2 程序设计思路及流程图:

3.3 程序清单及注释:

 2 #include   n 3 #include  n 4 #include  n 5  n 6 char op[4]={'+','-','*','/'};  n 7 float cal(float x,float y,int op)  n 8 {  n 9  switch(op)  n 10    {  n 11  case 0:return x+y;  n 12  case 1:return x-y;  n 13  case 2:return x*y;  n 14  case 3:return x/y;  n 15    }  n 16  }  n 17  n 18 //计算((a+b)+c)+d  n 19 cal1(int a,int b,int c,int d){  n 20  int i=0,j=0,k=0;  n 21  int flag1=1,flag2=1,flag3=1;  n 22  int r1=0;  n 23  int r2=0;  n 24  int r3=0;  n 25  for(i=0;i<4;i++){  n 26  for(j=0;j<4;j++){  n 27  for(k=0;k<4;k++){  n 28                 r1=cal(a,b,k);  n 29  if(r1==24)  n 30  if(flag1==1){  n 31                     printf("%d%c%d=24n",a,op[k],b);  n 32                     flag1=0;  n 33                 }  n 34                 r2=cal(r1,c,j);  n 35  if(r2==24)  n 36  if(flag2==1){  n 37                     printf("(%d%c%d)%c%d=24n",a,op[k],b,op[j],c);  n 38                     flag2=0;  n 39                 }  n 40                 r3=cal(r2,d,i);  n 41  if(r3==24)  n 42  if(flag3==1){  n 43                     printf("((%d%c%d)%c%d)%c%d=24n",a,op[k],b,op[j],c,op[i],d);  n 44                     flag3=0;  n 45                 }  n 46             }  n 47         }  n 48     }  n 49 }  n 50  n 51 //计算((a+(b+c))+d  n 52 cal2(int a,int b,int c,int d){  n 53  int i=0,j=0,k=0;  n 54  int flag1=1,flag2=1,flag3=1;  n 55  int r1=0;  n 56  int r2=0;  n 57  int r3=0;  n 58  for(i=0;i<4;i++){  n 59  for(j=0;j<4;j++){  n 60  for(k=0;k<4;k++){  n 61                 r1=cal(b,c,k);  n 62  if(r1==24)  n 63  if(flag1==1){  n 64                     printf("%d%c%d=24n",b,op[k],c);  n 65                     flag1=0;  n 66                 }     n 67                 r2=cal(a,r1,j);  n 68  if(r2==24)  n 69  if(flag2==1){  n 70                     printf("%d%c(%d%c%d)=24n",a,op[k],b,op[j],c);  n 71                     flag2=0;  n 72                 }  n 73                 r3=cal(r2,d,i);  n 74  if(r3==24)  n 75  if(flag3==1){  n 76                     printf("(%d%c(%d%c%d))%c%d=24n",a,op[k],b,op[j],c,op[i],d);  n 77                     flag3=0;  n 78                 }  n 79             }  n 80         }  n 81     }  n 82 }  n 83  n 84 //计算a+(b+(c+d))  n 85 cal3(int a,int b,int c,int d){  n 86  int i=0,j=0,k=0;  n 87  int flag1=1,flag2=1,flag3=1;  n 88  int r1=0;  n 89  int r2=0;  n 90  int r3=0;  n 91  for(i=0;i<4;i++){  n 92  for(j=0;j<4;j++){  n 93  for(k=0;k<4;k++){  n 94                 r1=cal(c,d,k);  n 95  if(r1==24)  n 96  if(flag1==1){  n 97                     printf("%d%c%d=24n",c,op[k],d);  n 98                     flag1=0;  n 99                 }  n 100                 r2=cal(b,r1,j);  n 101  if(r2==24)  n 102  if(flag2==1){  n 103                     printf("%d%c(%d%c%d)=24n",b,op[k],c,op[j],d);  n 104                     flag2=0;  n 105                 }  n 106                 r3=cal(a,r2,i);  n 107  if(r3==24)  n 108  if(flag3==1){  n 109                     printf("%d%c(%d%c(%d%c%d))=24n",a,op[k],b,op[j],c,op[i],d);  n 110                     flag3=0;  n 111                 }  n 112             }  n 113         }  n 114     }  n 115 }  n 116  n 117 //计算a+((b+c)+d)  n 118 cal4(int a,int b,int c,int d){  n 119  int i=0,j=0,k=0;  n 120  int flag1=1,flag2=1,flag3=1;  n 121  int r1=0;  n 122  int r2=0;  n 123  int r3=0;  n 124  for(i=0;i<4;i++){  n 125  for(j=0;j<4;j++){  n 126  for(k=0;k<4;k++){  n 127                 r1=cal(b,c,k);  n 128  if(r1==24)  n 129  if(flag1==1){  n 130                     printf("%d%c%d=24n",b,op[k],c);  n 131                     flag1=0;  n 132                 }     n 133                 r2=cal(r1,d,j);  n 134  if(r2==24)  n 135  if(flag2==1){  n 136                     printf("(%d%c%d)%c%d=24n",b,op[k],c,op[j],d);  n 137                     flag2=0;  n 138                 }  n 139                 r3=cal(a,r2,i);  n 140  if(r3==24)  n 141  if(flag3==1){  n 142                     printf("%d%c((%d%c%d)%c%d)=24n",a,op[k],b,op[j],c,op[i],d);  n 143                     flag3=0;  n 144                 }  n 145             }  n 146         }  n 147     }  n 148 }  n 149  n 150 //计算(a+b)+(c+d)  n 151 cal5(int a,int b,int c,int d){  n 152  int i=0,j=0,k=0;  n 153  int flag1=1,flag2=1,flag3=1;  n 154  int r1=0;  n 155  int r2=0;  n 156  int r3=0;  n 157  for(i=0;i<4;i++){  n 158  for(j=0;j<4;j++){  n 159  for(k=0;k<4;k++){  n 160                 r1=cal(a,b,k);  n 161  if(r1==24)  n 162  if(flag1==1){  n 163                     printf("%d%c%d=24n",a,op[k],b);  n 164                     flag1=0;  n 165                 }  n 166                 r2=cal(c,d,j);  n 167  if(r2==24)  n 168  if(flag2==1){  n 169                     printf("%d%c%d=24n",c,op[j],d);  n 170                     flag2=0;  n 171                 }  n 172                 r3=cal(r1,r2,i);  n 173  if(r3==24)  n 174  if(flag3==1){  n 175                     printf("(%d%c%d)%c(%d%c%d)=24n",a,op[k],b,op[j],c,op[i],d);  n 176                     flag3=0;  n 177                 }  n 178             }  n 179         }  n 180     }  n 181 }  n 182  n 183 int main(){  n 184  int a,b,c,d;  n 185     printf("******************************n");   n 186     printf("*     Let's play a game!     *n");  n 187     printf("*        24 point            *n");  n 188     printf("*    Please enter 4 numbers  *n");  n 189     printf("******************************n");  n 190     scanf("%d",&a);  n 191     scanf("%d",&b);  n 192     scanf("%d",&c);  n 193     scanf("%d",&d);  n 194  n 195     cal1(a,b,c,d);  n 196     cal2(a,b,c,d);  n 197     cal3(a,b,c,d);  n 198     cal4(a,b,c,d);  n 199     cal5(a,b,c,d);  n 200  n 201     system("pause");  n 202  return 0;  n 203 }  n 

3.4程序运行结果及自评


图5 程序3运行结果


结果正确

3.5程序调试中遇到过的问题及解决办法

1.如何遍历4个数字的所用运算可能

解决方法:在考虑括号的情况下,四个数字有以下五种预算顺序

a. ((a#b)#c)#d

b. (a#(b#c))#d

c. a#((b#c)#d)

d. a#(b#(c#d))

d. (a#b)#(c#d)

只需要遍历这五种运算顺序即可判断能否得到24。

2.如何避免在遍历的时候对同样的结果输出多次

设置标志量flag,输出结果前先判断标志量是否为1。输出结果后将标志量置0,在遍历到相同结果时就不会输出啦。


心得体会

C语言课程设计这门课让我再次见识了C语言的强大之处。通过C语言,我成功完成了音乐程序的编辑,绘图程序的设计以及24点游戏的创作,实现了对硬件的操控。

通过对Turbo C环境的学习与运用,我生动的感受到了上世纪计算机科学家研究条件的不易,深刻的认识到了这个时代为我们提供了非常便利的学习计算机科学的环境。应当好好珍惜,有所作为。

之前认为自己C语言这一块掌握的不错了。通过这次程序设计,让我认识到自己仍有不足。学无止境。

223期的和值是多少:642÷26=多少?

223期的和值是多少:3d开奖结果历史上和值为25的有哪些?

3D中奖号和值25最后一次开出的时间是2015年第348期,开奖号是997.

223期的和值是多少:2OO2O年3D和值是多少O5期?

福彩3D开和值5,上次开出的时间是2014年第2014317期,开奖号码为041。

从2014年第2014318期到2015年第2015184期已经有224期没有开出。

小雨意堂什么意思77期双色球2017怎么了大乐透怎么样一次中奖双色球什么汽车开回家3d历史767开完的什么号西甲联赛球队多少安徽快三012路是怎么算足球310什么意思玩彩票有什么技巧10元刮刮乐最高中多少

Tags:

搜索
网站分类
标签列表