284138王亚程序设计.docx
- 文档编号:24978753
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:69
- 大小:27.79KB
284138王亚程序设计.docx
《284138王亚程序设计.docx》由会员分享,可在线阅读,更多相关《284138王亚程序设计.docx(69页珍藏版)》请在冰豆网上搜索。
284138王亚程序设计
C语言程序设计实验报告
实验一C开发环境
一实验目的和要求:
掌握c程序的建立、编辑、编译、运行方法
1.掌握简单顺序程序的结构、执行过程
2.理解程序调试的思想,能找出并改正c程序中的语法错误。
二实验内容:
1.编写运行一个简单的c程序:
1)建立自己的文件夹,用于存放c程序,如D:
\my_programming。
2)启动vc++,建立一个工程,放在自己的文件夹下。
3)建立一个c源程序文件,添加到第二步建立的工程里。
4)编写源程序,在屏幕上显示一个短句“HelloWorld!
”。
5)源程序编写好后,执行编译、连接命令,并在信息窗口查看信息。
6)运行程序,查看结果。
1、编写简单程序
#include
main(){
printf("helloworld\n");
}
2.编程题:
1)在屏幕上显示自己的学号、姓名和班级。
2)在屏幕上显示如下图形:
****
***
**
*
#include
voidmain(){
printf("姓名:
王亚\n");
printf("班级:
计应1121班\n");
printf("学号:
**********\n");
}
3、调试程序:
改正下列程序中的错误,在屏幕上显示“WelcometoYou!
”
#include
main(){
Printf(WelcometoYou!
\n”)
}
1)将上述代码编写好。
2)执行编译命令,查看信息窗口的信息,找到第一条错误信息,双击该错误信息,箭头指出出错位置,同时查看错误信息,根据错误信息改正源程序。
3)再次编译,若有错误,继续修改,直至错误为0。
4)执行连接命令,生产exe文件,运行程序,查看结果。
#include
main(){
printf("WelcometoYou!
\n");
}
实验二表达式与输入输出
一实验目的和要求
1.掌握数据类型的概念,了解基本数据类型所占的字节数和可表示数的范围
2.掌握如何定义合法的标识符
3.正确书写表达式
4.理解运算符的优先关系
5.掌握数据的基本输入输出方法
二实验内容
1、基本数据类型的宽度:
编写一个程序,输出基本数据类型char,int,long,float,double的长度。
使用运算符sizeof,格式如下:
sizeof(类型名关键字或者变量名)。
#include
voidmain()
{
inta=0;
intb=0;
intc=0;
intd=0;
inte=0;
a=sizeof(int);
b=sizeof(char);
c=sizeof(long);
d=sizeof(float);
e=sizeof(double);
printf("int=%d\n",a);
printf("char=%d\n",b);
printf("long=%d\n",c);
printf("float=%d\n",d);
printf("double=%d\n",e);
}
2.将华氏温度转换成摄氏温度c=5*(f-32)/9
#include
voidmain(){
doublef=0;
doublec=0;
printf("请输入华氏温度值f=");
scanf("%lf",&f);
c=5*(f-32)/9;
printf("摄氏温度c=%f\n",c);
}
3.将一个三位数各位置上的数字分离出来,将这个三位数反序输出。
#include
main(){
inta,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|)
注意:
是弧度不是角度。
若为角度,需要换算成弧度。
提示:
需要使用到头文件math.h,函数sin,cos,fabs.
#include
#include
voidmain(){
floatx,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.定义字符类型和整型变量,进行算术运算、赋值运算。
如:
intx,y;charc1,c2;
X=65;c1=97;c2='B';
Y=++x;printf("%d",y);printf("%c",y);
理解数据类型的自动转化,强制转化,溢出。
#include
voidmain()
{
intx,y;
charc1,c2;
x=65;
c1=97;
c2='B';
y=++x;
printf("%d\n%c\n",y,y);
}
实验三选择结构程序设计
一实验目的和要求
1.掌握关系运算、逻辑运算
2.掌握if语句的执行流程
3.掌握if语句及其嵌套的使用
4.掌握选择结构中switch的使用及执行流程
5.掌握复合语句的概念及正确使用
6.进一步熟悉编程环境及程序调试方法
二实验内容
1.1输入两个整数,输出较大的一个;
#include
voidmain(){
inta,b;
printf("请输入任意两个数");
scanf("%d%d",&a,&b);
if(a>b)
{
printf("%d\n",a);
}
else
{
printf("%d\n",b);
}
}
1.2输入三个数,求三个数中的最大值。
#include
voidmain(){
inta,b,c;
printf("请输入任意三个数");
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a>c)
{
printf("%d\n",a);
}
elseif(b>c&&b>a)
{
printf("%d\n",b);
}
else
{
printf("%d\n",c);
}
}
2.分段函数.分别使用单分支、双分支及嵌套实现。
2.1.x-10x<0;
y=
x+100x>=0
include
voidmain(){
intx,y;
printf("请输入任意x=");
scanf("%d",&x);
if(x<0)
{
y=x-10;
printf("y=x-10=%d\n",y);
}
else
{
y=x+100;
printf("y=x+100=%d\n",y);
}
x-10x<-10
2.2y=x-10≤x≤10
x+100x>10
#include
voidmain(){
intx,y;
printf("请输入任意x=");
scanf("%d",&x);
if(x<-10)
{
y=x-10;
printf("y=x-10=%d\n",y);
}
elseif(x>=-10&&x<=10)
{
y=x;
printf("y=x=%d\n",y);
}
else
{
y=x+100;
printf("y=x+100=%d\n",y);
}
}
x-10x<-10
x-3-10≤x<0
2.3、y=x+30≤x≤10
x+100x>10
#include
voidmain()
{
intx,y;
printf("请输入任意x=");
scanf("%d",&x);
if(x<-10)
{
y=x-10;
printf("y=x-10=%d\n",y);
}
elseif(x>=-10&&x<0)
{
y=x-3;
printf("y=x-3=%d\n",y);
}
elseif(x>=0&&x<=10)
{
y=x+3;
printf("y=x+3=%d\n",y);
}
else
{
y=x+100;
printf("y=x+100=%d\n",y);
}
}
3.输入三个数,将这三个数排序,按从小到大的次序输出。
分别使用单分支、双分支及嵌套实现。
#include
voidmain()
{
inta,b,c;
printf("请输入任意三个数");
scanf("%d%d%d",&a,&b,&c);
if(a>=b&&b>=c)
{
printf("%d%d%d\n",c,b,a);
}
elseif(a>=c&&c>=b)
{
printf("%d%d%d\n",b,c,a);
}
elseif(b>=a&&a>=c)
{
printf("%d%d%d\n",c,a,b);
}
elseif(b>=c&&c>=a)
{
printf("%d%d%d\n",a,c,b);
}
elseif(c>=b&&b>=a)
{
printf("%d%d%d\n",a,b,c);
}
else
{
printf("%d%d%d\n",b,a,c);
}
}
4.编制程序求s=z+x+y
pow(e,x+y)x<0,y<0
z=pow(e,2x-y)0<=x<=2,y>=0
inxx>=2
#include
#include
#definee2.71828182845904523536
voidmain()
{
doubles,x,y,z,k;
printf("请输入任意两个数");
scanf("%lf%lf",&x,&y);
if(x<0&&y<0)
{
k=x+y;
z=pow(e,k);
s=z+k;
printf("%lf\n",s);
}
elseif(x>=0&&x<2&&y>=0)
{
k=2*x-y;
z=pow(e,k);
s=z+x+y;
printf("%lf\n",s);
}
else
{
z=log(x)/log(e);
s=x+y+z;
printf("%lf\n",s);
}
}
5.输入a、b、c的值求一元二次方程ax2+bx+c=0的根。
讨论一根、2根、实根、虚根的情况。
#include
#include
voidmain()
{
floata,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);
}
elseif(b*b-k>0)
{
x1=(-b+sqrt(b*b-k))/(2*a);
x2=(-b-sqrt(b*b-k))/(2*a);
printf("x1=%f",x1);
printf("x2=%f",x2);
}
else
{
x3=-b/(2*a);
x4=sqrt(k-b*b)/(2*a);
printf("x1=%f+%fi\n",x3,x4);
printf("x2=%f-%fi\n",x3,x4);
}
}
/*6.将百分制的成绩转换成4级制成绩。
#include
voidmain()
{
intx;
printf("请输入你的成绩分数");
scanf("%d",&x);
x=x/10;
if(x<6)
{
printf("你的成绩等级为D等级\n");
}
elseif(x>=6&&x<8)
{
printf("你的成绩等级为C等级\n");
}
elseif(x>=8&&x<9)
{
printf("你的成绩等级为B等级\n");
}
elseif(x>=9&&x<=10)
{
printf("你的成绩等级为A等级\n");
}
else
{
printf("您输入的有误请重新输入\n");
}
}
第五章实验题
1.设faHeight为其父身高,moHeight为其母身高,身高预测公式为
男性成人时身高=(faHeight+moHeight)*0.54cm
女性成人时身高=(faHeight*0.923+moHeight)/2cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,可增加身高1.5%。
请编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性),父母身高(用实型变量存储,faHeigh为其父身高,moHeight为其母身高),是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱),是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
#include
#include
voidmain()
{
charsex,sport,diet;
floatfaHeigh,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*(faHeigh+moHeigh);
}
else
{
printf("请输入其父亲、母亲身高");
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);
}
else
{
a=k;
printf("%f",a);
}
printf("是否有良好的健康的饮食习惯y为有,n为没有。
请输入(y/n)\n");
scanf("%c",&diet);
if(diet=='y')
{
h=a+k*0.015;
printf("%f",h);
}
else
{
h=a;
printf("%f",h);
}
}
身高预测:
#include
#include
voidmain(){
doubleh,w,t,m;
printf("请输入你的身高h(m)和体重w(kg)值");
scanf("%f,%f",&h,&w);
m=h*h;
t=w/m;
if(t<18)
{
printf("该生体重为低体重\n");
}
elseif(t>=18&&t<=25)
{
printf("该生体重正常\n");
}
elseif(t>=25&&t<=27)
{
printf("该生体重超重\n");
}
else
{
printf("该生体重肥胖\n");
}
}
实验四循环结构程序设计1
一实验目的和要求
1.掌握一重循环的使用及执行流程
2.掌握典型题目的程序设计方法
3.熟悉程序的调试方法
要求:
●用不同的结构(while、do…while、for)完成实验内容的代码,分析差别
●掌握基本的算法及处理技巧
二实验内容
编程计算:
1.S=1+2+3+……+n
#include
voidmain()
{
inti,n,s;
printf("请输入n=");
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
{
s=s+i;
}
printf("%d\n",s);
}
2.s(10000)=1+1/2+1/3+1/4+1/5+....+1/10000
#include
voidmain()
{
intn;
doubles,i;
printf("请输入n=");
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
{
s=s+(1/i);
printf("i=%lf,s=%lf\n",i,s);
}
printf("s=%lf\n",s);
}
3.1、-2、3、-4、....前100项的和
#include
#include
voidmain()
{
inti,s,n;
printf("请输入n=");
scanf("%d",&n);
s=0;
i=1;
while(i<=n)
{
s=s+pow(-1,i-1)*i;
i++;
}
printf("s=%d\n",s);
}
4.s=1+1/2+2/3+3/4+...+98/99+99/100
#include
#include
voidmain()
{
intn;
doublei,s;
printf("请输入n=");
scanf("%d",&n);
s=1;
if(n>=1)
{
for(i=1;i<=n;i++)
{
s=s+(i-1)/i;
printf("i=%lfs=%lf\n",i,s);
}
printf("s=%lf\n",s);
}
else
{
printf("输入有误,请重新输入\n");
}
}
5.s=1+1/2+2/3+3/5+5/8+8/13+...
#include
main()
{
floati=1,j=1,s=0,t;
intk,n;
printf("请输入n:
");
scanf("%d",&n);
for(k=1;k<=n;++k)
{
s+=i/j;
t=i+j;
i=j;
j=t;
}
printf("s=%f\n",s);
}
6.S=1+2+3+……+n
#include
voidmain()
{
longinti,n,s=1;
printf("请输入n=");
scanf("%ld",&n);/*n<=16
for(i=1;i<=n;i++)
{
s=s*i;
}
printf("%ld!
=%ld\n",n,s);
}
7.求1*2、2*3、3*4、…、前50项的和
#include
voidmain()
{
inti,j,n;
longk,s=0;
printf("请输入n=");
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
k=0;
for(j=1;j
{
k=i*j;
}
s=s+k;
}
printf("s=%ld\n",s);
}
8.求1!
+2!
+3!
+…+50!
#include
voidmain()
{
inti,j,n;
doublek,s=0;
printf("请输入n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
k=1;
for(j=1;j<=i;j++)
{
k=k*j;
}
s=s+k;
}
printf("1!
+2!
+3!
+...%d!
=%lf\n",n,s);
}
9.输入一个任意的整数,求其各数位上的数字的和,求该整数对应的反序整数
#include
main()
{
intm,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=%d\n",s);
printf("其反序数=%d\n",a);
}
10.将一个十进制整数转换成二进制、八进制、十六进制的数
#include
#include
main()
{
inta,b,c,n,k,m,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("二进制数:
%d\n",s);
i=0;
s=0;
for(;m!
=0;)
{
b=m%8;
m=m/8;
s=s+pow(10,i)*b;
i++;
}
printf("八进制数:
%d\n",s);
printf("十六进制数:
%X\n",k);
}
11.判断一个整数是否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 284138 程序设计