[计算机软件及应用]284138王亚程序设计.doc

上传人:sccc 文档编号:4561463 上传时间:2023-04-27 格式:DOC 页数:44 大小:127.50KB
返回 下载 相关 举报
[计算机软件及应用]284138王亚程序设计.doc_第1页
第1页 / 共44页
[计算机软件及应用]284138王亚程序设计.doc_第2页
第2页 / 共44页
[计算机软件及应用]284138王亚程序设计.doc_第3页
第3页 / 共44页
[计算机软件及应用]284138王亚程序设计.doc_第4页
第4页 / 共44页
[计算机软件及应用]284138王亚程序设计.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《[计算机软件及应用]284138王亚程序设计.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]284138王亚程序设计.doc(44页珍藏版)》请在三一办公上搜索。

1、C语言程序设计实验报告实验一 C 开发环境一 实验目的和要求:掌握c程序的建立、编辑、编译、运行方法1. 掌握简单顺序程序的结构、执行过程2. 理解程序调试的思想,能找出并改正c程序中的语法错误。二 实验内容:1.编写运行一个简单的c程序:1)建立自己的文件夹,用于存放c程序,如D:my_programming。2)启动vc+,建立一个工程,放在自己的文件夹下。3)建立一个c源程序文件,添加到第二步建立的工程里。4)编写源程序,在屏幕上显示一个短句“Hello World!”。5)源程序编写好后,执行编译、连接命令,并在信息窗口查看信息。6)运行程序,查看结果。1、编写简单程序#include

2、main()printf(hello worldn);2.编程题:1)在屏幕上显示自己的学号、姓名和班级。2)在屏幕上显示如下图形:* * * *#includevoid main()printf(姓名:王亚n);printf(班级:计应1121班n);printf(学号:2011284138n);3、调试程序:改正下列程序中的错误,在屏幕上显示“Welcome to You!”#include main()Printf(Welcome to You!n”)1)将上述代码编写好。2)执行编译命令,查看信息窗口的信息,找到第一条错误信息,双击该错误信息,箭头指出出错位置,同时查看错误信息,根据错

3、误信息改正源程序。3)再次编译,若有错误,继续修改,直至错误为0。4)执行连接命令,生产exe文件,运行程序,查看结果。#include main()printf(Welcome to You!n);实验二 表达式与输入输出一 实验目的和要求1. 掌握数据类型的概念,了解基本数据类型所占的字节数和可表示数的范围2. 掌握如何定义合法的标识符3. 正确书写表达式4. 理解运算符的优先关系5. 掌握数据的基本输入输出方法二 实验内容1、 基本数据类型的宽度:编写一个程序,输出基本数据类型char ,int,long,float,double的长度。使用运算符sizeof, 格式如下: sizeof

4、(类型名关键字或者变量名)。#includevoid main()int a=0;int b=0;int c=0;int d=0;int e=0;a=sizeof(int);b=sizeof(char);c=sizeof(long);d=sizeof(float);e=sizeof(double);printf(int=%dn,a);printf(char=%dn,b);printf(long=%dn,c);printf(float=%dn,d); printf(double=%dn,e);2将华氏温度转换成摄氏温度 c=5*(f-32)/9#includevoid main()double

5、f=0;double c=0;printf(请输入华氏温度值f=);scanf(%lf,&f);c=5*(f-32)/9;printf(摄氏温度c=%fn,c);3将一个三位数各位置上的数字分离出来,将这个三位数反序输出。#includemain()int a,b,c,m,k;printf(请输入a=);scanf(%d,&a);b=a%10;a=a/10;m=a%10;k=a/10;c=b*100+m*10+k;printf(%d,c);4. 输入两个角度值 x 、 y ,计算如下式子的值。 sin(x+y)/cos(|x+y|) 注意:是弧度不是角度。若为角度,需要换算成弧度。提示:需要使

6、用到头文件math.h,函数sin,cos,fabs.#include#includevoid main()float x,y,k,m,a; printf(请输入x,y的值);scanf(%f%f,&x,&y);a=fabs(x+y)*3.1415926/180;k=(x+y)*3.1415926/180; m=sin(k)/cos(a);printf(%f,m);5. 定义字符类型和整型变量,进行算术运算、赋值运算。如: int x,y; char c1,c2; X=65; c1=97; c2=B; Y=+x; printf(%d,y); printf(%c,y); 理解数据类型的自动转化,

7、强制转化,溢出。#includevoid main()int x,y;char c1,c2;x=65;c1=97;c2=B;y=+x;printf(%dn%cn,y,y);实验三 选择结构程序设计一 实验目的和要求1. 掌握关系运算、逻辑运算2. 掌握if语句的执行流程3. 掌握if语句及其嵌套的使用4. 掌握选择结构中switch的使用及执行流程5. 掌握复合语句的概念及正确使用6. 进一步熟悉编程环境及程序调试方法二 实验内容1.1输入两个整数,输出较大的一个;#includevoid main()int a,b;printf(请输入任意两个数);scanf(%d%d,&a,&b);if(

8、ab)printf(%dn,a);elseprintf(%dn,b);1.2输入三个数,求三个数中的最大值。#includevoid main()int a,b,c;printf(请输入任意三个数);scanf(%d%d%d,&a,&b,&c);if(ab&ac)printf(%dn,a);else if(bc&ba)printf(%dn,b); elseprintf(%dn,c);2分段函数. 分别使用单分支、双分支及嵌套实现。2.1. x-10 x=0includevoid main()int x,y;printf(请输入任意x=);scanf(%d,&x);if(x0)y=x-10;pr

9、intf(y=x-10=%dn,y);elsey=x+100;printf(y=x+100=%dn,y); x-10 x10#includevoid main()int x,y;printf(请输入任意x=);scanf(%d,&x);if(x=-10&x=10)y=x;printf(y=x=%dn,y);elsey=x+100;printf(y=x+100=%dn,y); x-10 x-10 x-3 -10x10#includevoid main()int x,y;printf(请输入任意x=);scanf(%d,&x);if(x=-10&x=0&x=10)y=x+3;printf(y=x+

10、3=%dn,y);elsey=x+100;printf(y=x+100=%dn,y);3输入三个数,将这三个数排序,按从小到大的次序输出。分别使用单分支、双分支及嵌套实现。#includevoid main()int a,b,c;printf(请输入任意三个数);scanf(%d%d%d,&a,&b,&c);if(a=b&b=c)printf(%d %d %dn,c,b,a);else if(a=c&c=b)printf(%d %d %dn,b,c,a);else if(b=a&a=c) printf(%d %d %dn,c,a,b);else if(b=c&c=a) printf(%d %d

11、 %dn,a,c,b); else if(c=b&b=a) printf(%d %d %dn,a,b,c);else printf(%d %d %dn,b,a,c);4. 编制程序求s=z+x+y pow(e,x+y) x0,y0 z= pow(e,2x-y) 0=x=0 inx x=2 #include#include#define e 2.71828182845904523536void main()double s,x,y,z,k;printf(请输入任意两个数);scanf(%lf%lf,&x,&y);if(x0&y=0&x=0)k=2*x-y;z=pow(e,k);s=z+x+y;p

12、rintf(%lfn,s);elsez=log(x)/log(e); s=x+y+z; printf(%lfn,s);5输入a、b、c的值求一元二次方程ax2+bx+c=0的根。 讨论一根、2根、实根、虚根的情况。#include#includevoid main()float a,b,c,x1,x2,x3,x4,k=0;printf(输入a、b、c的值求一元二次方程ax+bx+c=0的根);scanf(%f%f%f,&a,&b,&c);k=4*a*c;if(a=0)printf(输入有误);return;if(b*b-k=0)x1=-b/(2*a);printf(x1=x2=%f,x1);e

13、lse if(b*b-k0)x1=(-b+sqrt(b*b-k)/(2*a);x2=(-b-sqrt(b*b-k)/(2*a); printf(x1=%f,x1); printf(x2=%f,x2);elsex3=-b/(2*a); x4=sqrt(k-b*b)/(2*a); printf(x1=%f+%fin,x3,x4); printf(x2=%f-%fin,x3,x4);/*6. 将百分制的成绩转换成4级制成绩。#includevoid main()int x;printf(请输入你的成绩分数);scanf(%d,&x);x=x/10;if(x=6&x=8&x=9&x=10)printf

14、(你的成绩等级为A等级n);elseprintf(您输入的有误请重新输入n);第五章实验题1.设faHeight为其父身高,moHeight为其母身高,身高预测公式为 男性成人时身高=(faHeight+moHeight)*0.54cm 女性成人时身高=(faHeight*0.923+moHeight)/2cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,可增加身高1.5%。 请编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性),父母身高(用实型变量存储,faHeigh为其父身高,moHeight为其母身高),是否喜爱体育锻炼(用

15、字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱),是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。#include#includevoid main()char sex,sport,diet;float faHeigh,moHeigh,k,a,y,n,f,m,h;printf(用户的性别f为女性,m为男性);scanf( %c,&sex);if(sex=m)printf(请输入其父亲、母亲身高/cm);scanf(%f%f,&faHeigh,&moHeigh);k=0.54*(faH

16、eigh+moHeigh);elseprintf(请输入其父亲、母亲身高); scanf(%f%f,&faHeigh,&moHeigh); k=(faHeigh*0.923+moHeigh)/2;printf(是否喜欢体育锻炼y为喜欢,n为不喜欢。请输入(y/n)n);scanf( %c,&sport); if(sport=y)a=k*1.02;printf(%f,a);elsea=k;printf(%f,a); printf(是否有良好的健康的饮食习惯y为有,n为没有。请输入(y/n)n);scanf( %c,&diet);if(diet=y) h=a+k*0.015;printf(%f,h

17、);elseh=a;printf(%f,h);身高预测:#include#includevoid main()double h,w,t,m;printf(请输入你的身高h(m)和体重w(kg)值);scanf(%f,%f,&h,&w);m=h*h;t=w/m;if(t=18&t=25&t=27)printf(该生体重超重n);elseprintf(该生体重肥胖 n);实验四 循环结构程序设计1一 实验目的和要求1. 掌握一重循环的使用及执行流程2. 掌握典型题目的程序设计方法3. 熟悉程序的调试方法要求:l 用不同的结构(while、 dowhile、 for )完成实验内容的代码,分析差别l

18、 掌握基本的算法及处理技巧二实验内容编程计算:1. S=1+2+3+n#includevoid main() int i,n,s; printf(请输入n=); scanf(%d,&n); s=0; for(i=1;i=n;i+) s=s+i; printf(%dn,s); 2. s(10000)=1+1/2+1/3+1/4+1/5+.+1/10000#includevoid main()int n;double s,i;printf(请输入n=);scanf(%d,&n);s=0;for(i=1;i=n;i+)s=s+(1/i);printf(i=%lf,s=%lfn,i,s);printf

19、(s=%lfn,s); 3. 1、-2、3、-4、.前100项的和#include#includevoid main()int i,s,n;printf(请输入n=);scanf(%d,&n);s=0;i=1; while(i=n)s=s+pow(-1,i-1)*i;i+;printf(s=%dn,s); 4. s=1+1/2+2/3+3/4+.+98/99+99/100#include#includevoid main()int n;double i,s;printf(请输入n=);scanf(%d,&n);s=1;if(n=1)for(i=1;i=n;i+) s=s+(i-1)/i;pri

20、ntf(i=%lf s=%lfn,i,s);printf(s=%lfn,s);elseprintf(输入有误,请重新输入n); 5. s=1+1/2+2/3+3/5+5/8+8/13+.#includemain()float i=1,j=1,s=0,t;int k,n;printf(请输入n:);scanf(%d,&n); for(k=1;k=n;+k) s+=i/j; t=i+j; i=j; j=t; printf(s=%fn,s);6. S=1+2+3+n#includevoid main()long int i,n,s=1;printf(请输入n=);scanf(%ld,&n);/*n=

21、16for(i=1;i=n;i+)s=s*i;printf(%ld!=%ldn,n,s); 7.求1*2、2*3、3*4、前50项的和#includevoid main()int i,j,n;long k,s=0;printf(请输入n=);scanf(%d,&n);for(i=1;i=n+1;i+)k=0;for(j=1;ji;j+)k=i*j; s=s+k;printf(s=%ldn,s); 8. 求1!+2!+3!+50!#includevoid main()int i,j,n;double k,s=0;printf(请输入n=);scanf(%d,&n);for(i=1;i=n;i+)

22、k=1;for(j=1;j=i;j+)k=k*j; s=s+k;printf(1!+2!+3!+.%d!=%lfn,n,s); 9.输入一个任意的整数,求其各数位上的数字的和,求该整数对应的反序整数#includemain()int m,n,a=0,s=0;printf(输入n:);scanf(%d,&n);while(n)m=n%10;n=n/10;s+=m;a=a*10;a+=m;printf(各位数之和s=%dn,s);printf(其反序数=%dn,a);10. 将一个十进制整数转换成二进制、八进制、十六进制的数#include#includemain()int a,b,c,n,k,m

23、,i,s;i=0;s=0;printf(输入n:);scanf(%d,&n); k=m=n;for(;n!=0;)a=n%2;n=n/2;s=s+pow(10,i)*a;i+; printf(二进制数:%dn,s);i=0;s=0;for(;m!=0;)b=m%8;m=m/8;s=s+pow(10,i)*b;i+;printf(八进制数:%dn,s); printf(十六进制数:%Xn,k);11.判断一个整数是否为素数 #include void main() int i,n; printf(请输入n:); scanf(%d,&n); for(i=2;i=n) printf(%d是素数n,n

24、); else printf(%d不是素数n,n); 12. 求一个整数的所有因子。如8: 1,2,4,8#includemain()int a,b,i;printf(输入让任意整数a:);scanf(%d,&a);for(i=1;ia;i+)b=a%i;if(b=0)printf(其因子有:%dn,i);continue;if(i=a)printf(其因子有:%dn,a);13.求一个整数的所有质因子。如8: 2 15: 3、5#includemain()int a,b,c,i,j;printf(输入任意整数a:);scanf(%d,&a);int f=1;for(i=2;i=a;i+)b=

25、a%i;if(b=0)for(j=2;ji;j+)c=i%j;if(c=0)f=0;break;if(f=1)printf(其质因子有:%dn,i);continue;14.输入年月日,判断其是该年的第多少天、星期几#includemain()int a,b,c,d,e,f,i=0,j;printf(输入年,月,日:n);scanf(%d,%d,%d,&a,&b,&c);if(a%4=0&a%100!=0|a%400=0)switch(b)case 1:d=c;printf(是该年的%d天n,d);break;case 2:d=31+c;printf(是该年的%d天n,d);break;cas

26、e 3:d=31+29+c;printf(是该年的%d天n,d);break;case 4:d=31+29+31+c;printf(是该年的%d天n,d);break;case 5:d=31+29+31+30+c;printf(是该年的%d天n,d);break;case 6:d=31+29+31+30+31+c;printf(是该年的%d天n,d);break;case 7:d=31+29+31+30+31+30+c;printf(是该年的%d天n,d);break;case 8:d=31+29+31+30+31+30+31+c;printf(是该年的%d天n,d);break;case 9

27、:d=31+29+31+30+31+30+31+31+c;printf(是该年的%d天n,d);break;case 10:d=31+29+31+30+31+30+31+31+30+c;printf(是该年的%d天n,d);break;case 11:d=31+29+31+30+31+30+31+31+30+31+c;printf(是该年的%d天n,d);break;case 12:d=31+29+31+30+31+30+31+31+30+31+30+c;printf(是该年的%d天n,d);break;default:printf(输入有误!n);elseswitch(b)case 1:d=

28、c;printf(是该年的%d天n,d);break;case 2:d=31+c;printf(是该年的%d天n,d);break;case 3:d=31+28+c;printf(是该年的%d天n,d);break;case 4:d=31+28+31+c;printf(是该年的%d天n,d);break;case 5:d=31+28+31+30+c;printf(是该年的%d天n,d);break;case 6:d=31+28+31+30+31+c;printf(是该年的%d天n,d);break;case 7:d=31+28+31+30+31+30+c;printf(是该年的%d天n,d);

29、break;case 8:d=31+28+31+30+31+30+31+c;printf(是该年的%d天n,d);break;case 9:d=31+28+31+30+31+30+31+31+c;printf(是该年的%d天n,d);break;case 10:d=31+28+31+30+31+30+31+31+30+c;printf(是该年的%d天n,d);break;case 11:d=31+28+31+30+31+30+31+31+30+31+c;printf(是该年的%d天n,d);break;case 12:d=31+28+31+30+31+30+31+31+30+31+30+c;p

30、rintf(是该年的%d天n,d);break;default:printf(输入有误!n);if(a=2011)for(j=2011;ja;j+)if(j%4=0&j%100!=0|j%400=0)i+;e=(a-2011)*365+(d-1)+i;f=e%7;if(f=0)printf(是该年的星期六n);else if(f=1)printf(是该年的星期日n);else if(f=2)printf(是该年的星期一n);else if(f=3)printf(是该年的星期二n);else if(f=4)printf(是该年的星期三n);else if(f=5)printf(是该年的星期四n)

31、;else if(f=6)printf(是该年的星期五n);elsefor(j=a;j2011;j+)if(j%4=0&j%100!=0|j%400=0)i+;e=(2010-a)*365+(366-d)+i;f=e%7;if(f=0)printf(是该年的星期六n);else if(f=1)printf(是该年的星期五n);else if(f=2)printf(是该年的星期四n);else if(f=3)printf(是该年的星期三n);else if(f=4)printf(是该年的星期二n);else if(f=5)printf(是该年的星期一n);else if(f=6)printf(是

32、该年的星期日n);15.输入一串字符,分别统计数字字符、大、小写字母、其它字符的个数#includemain()int a=0,b=0,c=0,d=0;char ch;printf(输入一串字符:);scanf(%c,&ch);while(ch!=n)if(ch=A&ch=a&ch=0&ch=9)c+;elsed+; scanf(%c,&ch);printf(大写字母a=%dn小写字母b=%dn数字字符c=%dn其他字符d=%dn,a,b,c,d);16.输入一串字符,将其中的大小写字母分别对应转换#includemain()char ch;printf(请输入一段字符:);scanf(%c,&ch);while(ch!=n)if(ch=A&ch=a&ch=z)ch=ch-32;printf(%cn,ch);elseprintf(%cn,ch);scanf(%c,&ch);实验五 循环结构程序设计2一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号