GIS程序设计实验报告(C)01_第1页
GIS程序设计实验报告(C)01_第2页
GIS程序设计实验报告(C)01_第3页
GIS程序设计实验报告(C)01_第4页
GIS程序设计实验报告(C)01_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

GIS程序设计(C)实验报告姓名:*班级:* 学号:*实验1 C程序的运行环境和运行C程序的方法(4)程序清单:#includevoid main()printf(This is a c program,n);该程序没有错,编译连接成功,运行结果为:This is a c program(5)正确的程序清单为:#includevoid main() int a,b,sum; a=123;b=456; sum=a+b;printf(Sum is % dn,sum);运行结果为:Sum is 579(6)程序清单为:#includevoid main() int max(int x,int y); int a,b,c; printf(input a & b:); scanf (%d,%d,&a,&b); c=max(a,b); printf(max= %dn,c); int max(int x,int y) int z; if(xy) z=x; else z=y; return(z); 输入2和5后运行结果为:max=2n将程序中的第四行改为 int a;b;c;后编译过程显示将max 函数中的第3,4行合并为一行后进行编译,能成功进行,表明C程序的书写比较随意,不会影响程序的运行。(7)程序清单:#includevoid main() int max(int x,int y,int z); int a,b,c,d; scanf (%d,%d,&d,&a,&b,&c); d=max(a,b,c); printf(max= %dn,d); int max(int x,int y,int z) int d; if(xy & xz) d=x; else if(yx & yz) d=y; else if(zx & zy) d=z; return(d); 运行程序,输入5,6,4 结果显示 max= 6 表明编写的程序是正确的。实验2 数据类型、运算符与表达式(1)程序清单:#includevoid main()char c1,c2;c1=a;c2=b;printf(%c,%cn,c1,c2); 运行结果为a,b增加printf语句后运行结果为:将第3行改为int c1,c2;后运行结果为:再将第4、5行改为后编译结果显示:再将第4、5行改为编译结果显示说明在修改处有错,编译不成功再将第4、5行改为c1=300;c2=400;后运行结果为说明修改c1、c2赋值后运行结果发生改变(2)程序清单:#includevoid main()char c1=a,c2=b,c3=c,c4=101,c5=116;printf(a%c b%ctc%ctabcn,c1,c2,c3);printf(tb%c &cn,c4,c5); 执行结果为:(3)程序清单为:#includevoid main()int i,j,m,n; i=8; j=10; m=+i; n=j+; printf(%d,%d,%d,%dn,i,j,m,n); 运行结果为按修改后执行结果为说明对+i与i+有区别按修改程序后运行结果为按修改程序后运行结果为执行后运行结果为执行操作后,能成功编译,运行结果为(4)程序清单为:#includevoid main()char c1,c2,c3,c4,c5;c1=C;c2=h;c3=i;c4=n;c5=a;c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf(%c %c %c %c %cn,c1,c2,c3,c4,c5); printf(n); 运行后发现编程符合要求执行操作后程序代码变为#includevoid main()char c1,c2,c3,c4,c5;c1=T;c2=o;c3=d;c4=a;c5=y;c1=c1-22;c2=c2-22;c3=c3-22;c4=c4-22;c5=c5-22;printf(%c %c %c %c %cn,c1,c2,c3,c4,c5); printf(n); 运行结果为执行操作后代码变为#includevoid main()char c1,c2,c3,c4,c5;c1=C;c2=h;c3=i;c4=n;c5=a;c1=c1-4;c2=c2-4;c3=c3-4;c4=c4-4;c5=c5-4;printf(%c %c %c %c %cn,c1,c2,c3,c4,c5); printf(n); 运行结果为实验3 最简单的C程序设计顺序程序设计 (1)程序清单:#includevoid main()int a,b; float d,e; char c1,c2; double f,g; long m,n; unsigned int p,q; a=61;b=62; c1=a;c2=b; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf(a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.3fn,a,b,c1,c2,d,e); printf(f=%15.6f,g=%15.12fnm=ld,n=%ldnp=%un,f,g,m,n,p,q); 运行结果为执行操作后运行结果为执行操作后运行结果为执行操作后运行结果为执行操作后运行结果为(2)程序清单#include #include void main()float r,h,d,s,S,v,V,i;i=3.14159;scanf(%f,%f,&r,&h);d=2*i*r;s=i*r*r;S=4*i*r*r;v=i*r*r*r*4/3;V=i*r*r*h;printf(d=%5.2fns=%5.2fnS=%5.2fnv=%5.2fnV=%5.2fn,d,s,S,v,V);printf(d为圆周长,s为圆面积,S球表面积,v球体积,V圆柱体积n);执行结果为(3)程序清单为#include void main()char c1,c2;c1=getchar ();c2=getchar();printf(%c,%c,c1,c2);运行结果为#include void main()char c1;char c2;c1=getchar();c2=getchar();scanf(%c,%c,&c1,&c2);运行结果为实验4 选择结构程序设计(1)程序清单#include void main()int x,y;scanf(%d,&x);if(x1)y=x;else if(1=x10)y=2*x-1;else y=3*x-11;printf(x=%d,y=%dn,x,y); 运行结果为 (2)程序清单(if语句)#include void main()int x;printf(请输入x:);scanf(%d,&x);if(x=0 & x=60 & x=70 & x=80 & x=90 & x=100) printf(A);else if (x100) printf(error!);printf(n);运行结果正确,无异常情况程序清单(switch语句)#include void main ()int x,c;char y;scanf(%d,&x);if(x=0) c=-1;else printf(你输入的数据有误,请更改!n);else c=x/10;switch (c)case -1:y=E;break; case 6:y=D;break; case 7:y=C;break; case 8:y=B;break; case 9:y=A;break; case 10:y=A;break; default:printf(你输入的数据有误!n);printf(%cn,y);运行良好,无异常情况(3)程序清单:#include#includevoid main()long int num;int indiv,ten,hundred,thousand,ten_thousand,place; /* 分别代表各位、十位、百位、千位、万位和位数*/printf(请输入一个整数(099999):n);scanf(%ld,& num);if (num9999 & num999) place=4;else if (num99) place=3;else if (num9) place=2;else if (num=0) place=1; else printf(你输入的数据有误!n);printf(位数=%dn,place);printf(每位数字为:);ten_thousand = num/10000;thousand =(int)(num-ten_thousand*10000)/1000;hundred = (int)(num-ten_thousand*10000-thousand*1000)/100;ten = (int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv = (int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);switch(place)case 5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(n反序数字为:);printf(%d,%d,%d,%d,%dn,indiv,ten,hundred,thousand,ten_thousand);break; case 4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(n反序数字为:);printf(%d,%d,%d,%dn,indiv,ten,hundred,thousand);break; case 3:printf(%d,%d,%d,hundred,ten,indiv); printf(n反序数字为:);printf(%d,%d,%dn,indiv,ten,hundred);break; case 2:printf(%d,%d,ten,indiv); printf(n反序数字为:);printf(%d,%dn,indiv,ten);break; case 1:printf(%d,indiv); printf(n反序数字为:);printf(%dn,indiv);break;运行结果(4)程序清单:#include void main()int a,b,c,d,t;printf(please enter a,b,c,d:);scanf(%d,%d,%d,%d,&a,&b,&c,&d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;a=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;printf(%d,%d,%d,%dn,a,b,c,d);运行结果:程序清单#include void main()int a,b,c,d,t;printf(please enter a,b,c,d:);scanf(%d,%d,%d,%d,&a,&b,&c,&d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;a=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;t=c;c=d;d=t;printf(%d,%d,%d,%dn,d,c,b,a);运行结果:实验5 循环结构程序设计(1)程序清单:#include void main()char c;int letters=0,appers=0,space=0,digit=0,other=0;printf(请输入一行字符:n);while(c=getchar()!=n)if(c=a & c =A& c =0&c=9)digit +;elseother+;printf(小字母数:%dn大写字母数:%dn空格数:%dn数字数:%dn其它字符数:%dn,letters,appers,space,digit,other);运行结果:(2)程序清单:#includevoid main()int i,j,k,n;printf(parcissus numbers are );for (n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if (n=i*i*i+j*j*j+k*k*k)printf(%d ,n);printf(n);运行结果:(3)程序清单:#include void main()int day,x1,x2;day = 9;x2=1;while(day 0)x1=(x2+1)*2;x2=x1;day-;printf(total=%dn,x1);运行结果程序清单#include void main()int day,x1,x2;day = 9;x2=1;while(day 0)x1=(x2+2)*2;x2=x1;day-;printf(total=%dn,x1);运行结果:(4)程序清单#include #include void main()float x1,x0,f,f1;x1 = 1.5;dox0 = x1;f=(2*x0 - 4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;while (fabs(x1 - x0) =1e-5);printf(The root of equation is %5.2fn,x1);运行结果为将x的初值由1.5改变为100、1000、10000后再运行,结果没有改变,仍为2.00,原因是x的值只由方程决定,与设定的初值无关实验6 数组2 (1)程序清单:int i,j,min,temp,a11;printf(input 10 numbers :n);for(i=1;i=10;i+) printf(a%d=,i); scanf(%d,&ai); printf(n);printf(The orginal numbers: n);for(i=1;i=0;i+)printf(%5d,ai);printf(n);for(i=1;i=9;i+)min = i;for (j=i+1;jaj) min = j; temp=ai;ai=amin; amin=temp;printf(nThe sorted numbers : n);for (i=1;i=10;i+) printf(%5d,ai);printf(n);运行结果(2)程序清单:#include void main() int a11=1,4,6,9,13,16,19,28,40,100; int num,i,j; printf (array a:n); for(i=0;ia9) a10=num; else for (i=0;inum) for (j=9;j=i;j-) aj+1=aj; ai=num; break; printf(Now ,array a:n); for (i=0;i11;i+) printf(%5d,ai); printf(n);运行结果:(3)程序清单:#include void main()int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for (i=0;i3;i+) printf(n please

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论