程序设计基础2.docx
《程序设计基础2.docx》由会员分享,可在线阅读,更多相关《程序设计基础2.docx(15页珍藏版)》请在冰豆网上搜索。
![程序设计基础2.docx](https://file1.bdocx.com/fileroot1/2023-2/24/555cc088-72de-4145-9726-ed07c19aeb14/555cc088-72de-4145-9726-ed07c19aeb141.gif)
程序设计基础2
程序设计基础
实验指导
计科1012班
实验一C开发环境
1.求园的面积
#include
voidmain()
{floatarea,r;
printf(“inputrfortheprogramming”);
scanf(“%f”,&r);
area=3.14*r*r;
printf(“theareais%f\n”,area);
}
2.输入任意三个数求它们的和,平均值
#include
voidmain()
{floata,b,c,sum=0;
printf(“inputabandc”);
scanf(“%f%f%f”,&a,&b,&c);
sum=a+b+c;
printf(“sumis%f\n”,sum);
}
#include
voidmain()
{floata,b,c,s;
printf(“inputa,b,c”);
scanf(“%f%f%f”,&a,&b,&c);
s=(a+b+c)/3;
printf(“sis%f\n”,s);
}
3.用常量定义圆周率。
求一球的表面积,体积
#include
voidmain()
{floatr,pi=3.14,s,v;
printf(“inputrfortheprogramming”);
scanf(“%f”,&r);
s=4*pi*r*r;
v=4/3.0*pi*r*r*r;
printf(“sis%f\nvis%f\n”,s,v);
}
4.物理上的平抛运动,求任意时刻的水平与垂直位移x,y
#include
voidmain()
{floatv,t,x,y,g=9.8;
printf(“inputvandt”);
scanf(“%f%f”,&v,&t);
x=v*t;y=1.0/2*g*t*t;
printf(“x=%f\ny=%f\n”,x,y);
}
5.求一个圆柱体的表面积和体积。
#include
voidmain()
{
floatr,h,s,v,pi=3.14;
scanf(“%f%f”,&r,&h);
s=2*pi*r*h+2*pi*r*r;
v=pi*h*r*r;
printf(“vis%f\nsis%f\n”,v,s);
}
6.十进制,八进制。
十六进制的表示法。
#include
#include
voidmain()
{inta,b,c;
printf(“十进制\n”);a=1,b=2;
printf(“a=%d\nb=%d\n”,a,b);
printf(“八进制\n”);a=07,b=010;
printf(“a=%d\nb=%d\n“,a,b);
printf(“十六进制\n”);
a=0x39,b=0x39;
printf(“a=%d\nb=%d\n”,a,b);
getch();
}
实验二.表达式的输入与输出
1.将华氏温度转换为摄氏温度
#include
voidmain()
{doublef,c;
printf(“输入华氏温度”);
scanf(“%lf”,&f);
c=5*(f-32)/9.0;
printf(“cis%lf”,c);
}
2.将一个三位数各位置上数字分开将这三位数反序输出。
#include
voidmain()
{inta,b=0,x;
scanf(“%d”,&a);
while(a>0)
{x=a%10;b=b*10+x;a/=10;
}
printf(“%d”,b);
}
3.输入两个角度x,y算
注意弧度不是角度,需要换成角度。
#include
#include
voidmain()
{floatx,y,a,b,pi=3.14,s;
printf(“inputxandy”);
scanf(“%f%f”,&x,&y);
a=x/180*pi;b=y/180*pi;
s=sin(fabs(x)+fabs(y))/sqrt(cos(fabs(x+y)));
printf(“sis%f\n”,s);}
4输入相应求z=(sinx+cos|y|)/(x+y)
#include
#include
voidmain()
{floatx,y,z;
printf(“inputxandy\n”);
scanf(“%f%f”,&x,&y);
z=(sin(x)+cos(fabs(y)))/(x+y);
printf(“zis%f\n”,z);
}
5输出a的ASCII
#include
voidmain()
{inta;
a=’a’;
priintf(“%a”,a);}
6.输入a对应的大写字母
#include
voidmain()
{inta;a=’a’;a=a-32;
printf(“%c”,a);
}
7.输入字符输出其ASCII值
#include
voidmain()
{chara;
printf(“输入一英文字母”);
scanf(“%c”,&a);
printf(“%d\n”,a);
}
实验三.选择结构程序设计
1.输入两个整数输出较大的.输三个数求三个数中的最大值
#include
voidmain()
{inta,b,max;
scanf(“%d%d”,&a,&b);
if(a>b)max=a;
elsemax=b;
printf(“maxis%d”,max);
}
#include
voidmain()
{floata,b,c,max;
scnf(“%f%f%f”,&a,&b,&c);
if(a>b&&a>c)max=a;
else{if(b>c)max=b;
elsemax=c;}
printf(“maxis%f”,max);}
2输入两个数输出它们中较小的数
#include
voidmain()
{floata,b,min;
scanf(“%f%f”,&a,&b);
if(a>b)min=b;
elsemin=a;
printf(“minis%f”,min)}
3.分段函数.分别使用单分支及嵌套实现。
单分支
1.#include
voidmain()
{intx,y;
printf(“inputx”);
scanf(“%d”,&x);
if(x<0)y=x-10;
if(x>=0)y=x+100;
printf(“yis%d”,y);
}
2.#include
voidmain()
{intx,y;
printf(“inputx”);
scanf(“%d”,&x);
if(x<-10)y=x-10;
if(x>=-10&&x<=10)y=x;
if(x>10)y=x+100;
printf(“yis%d”,y);
}
3.#include
voidmain()
{intx,y;
printf(“inputx”);
scanf(“%d”,&x);
if(x<-10)y=x-10;if(x>=-10&&x<0)y=x-3;
if(x>=0&&x<=10)y=x+3;if(x>10)y=x+100;
printf(“yis%d”,y);}
双分支
1.#include
voidmain()
{intx,y;
printf(“inputx”);
scanf(“%d”,&x);
if(x<0)y=x-10;
elsey=x+100;
printf(“yis%d”,y);
}
2.#include
voidmain()
{intx,y;
printf(“inputx”);
scanf(“%d”,&x);
if(x<=10){if(x<-10)y=x-10;
elsey=x;}
elsey=x+100;
printf(“yis%d”,y);
}
3.#include
voidmain()
{intx,y;
printf(“inputx”);
scanf(“%d”,&x);
if(x<0){if(x<-10)y=x-10;elsey=x-3;}
elseif(x<=10)
{if(x>=0&&x<=10)y=x+3;elsey=x+100;
printf(“yis%d”,y);}
}
4.输入三个数,将这三个数排序,按从大到小的次序输出。
#include
voidmain()
{
intx,y,z,temp;
printf(“inputxyz\n”);
scanf(“%d%d%d”,&x,&y,&z);
if(xif(xif(yprintf(“%d\t%d\t%d\n”,x,y,z);
}
5.输入3个整数a,b,c输出他们最大的数
#include
voidmain()
{inta,b,c,max;
printf(“输入3个整数\n”);
scanf(“%d%d%d”,&a,&b,&c);
max=a;
if(max
if(maxprintf(“最大数是%d/n”,max);
}
实验四循环结构程序设计1
1.S=1+2+3+……+n
#include#include
voidmain()voidmain()
{{
inti,sum=0,n;inti=1,sum=0,n;
printf(“inputn\n”);printf(“inputn\n”);
scanf(“%d”,&n);scanf(“%d”,&n);
for(i=0;i<=n;i++)while(i<=n)
{sum+=i;i++;}{sum+=i;i++;}
printf(“sumis%d”,sum);printf(“sumis%d”,sum);
}}
2.
#include#include
voidmain()voidmain()
{inti;{floatsum=0;
floatn=1000,sum=0;inti=1;
scanf(“%f”,&n);while(i<=1000)
for(i=1;i<=n;i++){sum+=1.0/i;i++;}
sum+=float(i)/i;printf(“%f”,sum);}
printf(“sumis%f”,sum);}
3.1、-2、3、-4,…前100项的和
#include#include
voidmain()voidmain()
{inti=1,sum=0;{inti=1,sum=0,t=1;
while(i<=100)while(i<=100)
{if(i%2==0){sum=sum+i*t;
sum=sum-i;t=-t;i++;}
elsesum+=i;i++}printf(“%d”,sum);
printf(“%d”,sum);}}
4..
#include
voidmain()
{floatsum=0;
inti=1;
while(i<=99)
{sum+=float(i)/(i+1);
i++;}
printf(“%f”,sum);
5.}
前50项和.
#include
voidmain()
{floatsum=0;
intx,y,p,count=1;
x=1,y=2;
while(count<=50)
{sum+=float(x)/y;
p=x;x=y;y=p+x;
count++;}
printf(“sumis%f”,sum);
}
6.求整数n的阶乘(n!
)。
#include#include
voidmain()voidmain()
{intn;{doublefac=1;
inti=1,fac=1;inti,n;
scanf(“%d”,&n);scanf(“%lf”,&n);
do{fac*=i;for(i=1;i<=n;i++)
i++;}{fac*=i;
printf(“facis%d”,fac);i++;}
}printf(“facis%lf”,fac);
}
8.求1!
+2!
+3!
+…+50!
#include
voidmain()
{doublefac=1,sum=0;
inti,n;
scanf(“%d”,&n);
for(i=1;i<=50;i++)
{fac*=i;sum+=fac;}
printf(“facis%d”,fac);
}
9.求1*2、2*3、3*4、…、前50项的和
#include
voidmain()
{inti=1,j=2,sum=0;
while(i<=50&&j<=51)
{sum+=i*j;
i++;
j++;}
printf(“sumis%d”,sum);}
8输入一个任意的整数,求其各数位上的数字的和,求该整数对应的反序整数
9.将一个十进制整数转换成二进制、八进制、十六进制的数
10求一个整数的所有质因子。
如8:
2;15:
3、5.
11.判断一个整数是否为素数(除了分解1和他本省相乘无其他因子)
#include
#include
voidmain()
{inti,m;
scanf("%d",&m);
for(i=2;i{if(m%i==0)
{printf("%d不是素数",m);
return;
}}
printf("%d是素数",m);
}
12求一个整数的所有因子。
如8:
1,2,4,8
#include
voidmain()
{intx,i=1;
scanf(“%d”,&x);
while(i<=x)
{if(x%i=0)
printf(“%5d”,i);
i++;}
}
13.