实验一简单的C程序设计实验报告.docx
- 文档编号:9156525
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:42
- 大小:105.63KB
实验一简单的C程序设计实验报告.docx
《实验一简单的C程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《实验一简单的C程序设计实验报告.docx(42页珍藏版)》请在冰豆网上搜索。
实验一简单的C程序设计实验报告
成绩:
实验名称:
集中上机1—C语言程序设计
学生姓名:
李梦雅
学生学号:
2013212360
学生专业:
机械设计制造及其自动化
学生班级:
0841302
指导教师:
李敏老师、张开碧老师
实习时间:
2014年上半年第11周到第14周
实验一简单的C程序设计
学号2013212360姓名李梦雅班级0841302
第11周星期四第5,6,7,8节实验日期2014年5月8日
一、实验目的
1、了解MicrosoftVisualC++6.0软件的窗面,掌握c语言程序的编辑、编译、连接和运行过程。
2、掌握c语言的基本数据类型、定义和使用方法,了解几种类型输出时所用的格式和转换符,熟悉各种运算符和表达式的使用特点。
3、熟悉掌握c语言中赋值运算、各类数据间的混合运算、算术运算和符号运算的使用。
4、掌握c语言数据输入输出的概念和使用方法。
二、实验内容和结果
例1、从键盘任意输入a、b、c三个数,输出其中最大值和它们的和值。
#include
voidmain()
{
inta,b,c;
intmaxv,sum;
printf("请输入三个数a,b,c:
\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
maxv=a;
else
maxv=b;
if(c>maxv)
maxv=c;
printf("三个数中最大的数为%d\n",maxv);
sum=a+b+c;
printf("三个数之和为%d\n",sum);
}
例2、转义字符的使用。
分析下列程序,写出运行结果,并将分析结果与运行结果进行对照。
#include
voidmain()
{
charc1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("12345678910abcdefg\n");
printf("a%cb%c\tabc\n",c1,c2,c3);
printf("abc\tde\rf\tg\n");
printf("h\ti\b\bjk\n");
printf("\t\b%c\n",c4,c5);
printf("\ta\tc\n");
}
例3、从键盘输入一字符,要求将其中的字母找出来,并小写输出。
#include
voidmain()
{
charc1,c2;
c1=getchar();
printf("输出的字符是:
%c,其ASCII码是:
%d\n",c1,c1);
if((c1>='a'&&c1<='z')||(c1>="A"&&c1<="Z"))
{
if(c1>='A'&&c1<='Z')
c2=c1+32;
else
c2=c1;
printf("%c,%d\n",c2,c2);
}
else
printf("输入的不是字母,不能小写转换!
\n");
}
例4、从键盘上输入三角形三边a,b,c的值,计算三角形的面积,并输出计算结果。
#include
#include
voidmain()
{
floata,b,c;
floats,area;
printf("请输入三角形的三边\n");
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2;
area=(float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的三边为:
a=%-7.2f,b=%-7.2f,c=%7.2f\n",a,b,c);
printf("面积为:
area=%-7.2f\n",area);
}
练习题
1、写出下面程序的运行结果,体会自加(自减)运算符的使用及执行顺序。
#include
voidmain()
{
inti,j,m,n;
i=8;
j=10;
m=++j;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
printf("%d,%d,%d,%d\n",i++,++i,j++,++j);
printf("%d,%d,%d,%d\n",++m,m++,m,++m);
}
2、将100~800之间的所有素数按每个数之间空3列并且每行输出5个方式输出所有素数。
#include
#include
voidmain()
{
intm,k,i,n=0;
for(m=101;m<=800;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
printf("%6d",m);
n=n+1;
}
if(n%5==0)
printf("\n");
}
printf("\n");
}
3、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
请输出满足条
件的每一个这样的三位数。
#include
voidmain()
{
inti,j,k;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if(i!
=j&&i!
=k&&j!
=k)
printf("%d%d%d\n",i,j,k);
}
}
4、设圆柱底面积半径为r,圆柱高为h,求圆底面积、圆柱表面积、圆柱体积。
要求半径和
高从键盘输入,输出结果保留两位小数位。
#include
#definePI3.1415926
voidmain()
{
floatr,h,S1,S2,V;
scanf("%f,%f",&r,&h);
S1=PI*r*r;
S2=2*PI*r*h+2*S1;
V=S1*h;
printf("圆底面积=%.2f\n",S1);
printf("圆柱表面积=%.2f\n",S2);
printf("圆柱体积=%.2f\n",V);
}
三、问题讨论
要加强自己对学习的耐心与细心,要增强对基本知识的掌握,多看书。
实验二三种结构的程序设计
学号2013212360姓名李梦雅班级0841302
第12周星期四第5,6,7,8节实验日期2014年5月15日
一、实验目的
1、了解并熟练掌握c语言程序设计的三种结构:
顺序、选择和循环。
2、熟练掌握顺序结构中赋值语句的使用、数据的输入输出函数和常用的格式控制方法。
3、掌握关系运算符和表达式、逻辑运算符和表达式的定义和使用,熟练使用选择结构中if和switch语句,能结合实际应用编程。
4、掌握循环控制中的for、while、dowhile等常用语句的使用方法和技巧,掌握循环跳出语句break和continue的用法,熟悉循环的嵌套,能结合实例正确使用这些技巧。
二、实验内容和结果
例1:
闰年的条件是符合下面两者之一:
①能被4整除,但不能被100整除,如2008;②
能被400整除,如2000。
从键盘任意输入一年,判断是否是闰年。
#include
voidmain()
{
intyear;
intc=1;
while(c)
{
printf("请输入任意年份:
\n");
scanf("%d",&year);
if((year%4==0&&year%100!
=0)||(year%100==0))
printf("\n%d是闰年!
\n",year);
else
printf("\n%d不是闰年!
\n",year);
printf("是否要继续?
0:
退出,1:
继续\n");
scanf("%d",&c);
}
}
例2:
在我国,人的一生有不同的划分:
0-1岁为婴儿,1-3岁为幼儿,3-6岁为儿童,7-14
岁为少年,15-45岁为青年,46-59为中年,60-74为年轻的老人,75-89为老年,90岁以
上为长寿老人。
请根据以上划分,从键盘任意输入一年龄,看属于哪个年龄段。
#include
voidmain()
{
intage;
intc=1;
while(c)
{
printf("请输入年龄:
\n");
scanf("%d",&age);
if(age<1)
printf("\n你是可爱的小婴儿^-^!
");
elseif(age<3)
printf("\n你是乖巧的小幼儿!
");
elseif(age<7)
printf("\n你是调皮的儿童啦!
");
elseif(age<15)
printf("\n你是叛逆的少年!
");
elseif(age<45)
printf("\n你是风华正茂的青年!
");
elseif(age<60)
printf("\n你处在中流砥柱的中年!
");
elseif(age<75)
printf("\n你是老年益壮的年轻人!
");
elseif(age<89)
printf("\n你是长寿老人啦!
争取活到200岁!
");
printf("\n继续测试?
0:
退出,1:
继续\n");
scanf("%d",&c);
}
}
例3:
物品征税问题。
价格在1万元以上的征5%,5000元以上的1万元以下的征3%,1000
元以上5000元以下的征2%,1000元以下的免税,请读入货物价格,计算并输出税金。
#include
voidmain()
{
floatprice,m;
intp,s;
printf("请输入货物价格:
\n");
scanf("%f",&price);
if(price>10000)
price=1000;
p=(int)price/1000;
switch(p)
{
case0:
s=0;break;
case1:
s=2;break;
case2:
case3:
case4:
case5:
s=3;break;
case6:
case7:
case8:
case9:
case10:
s=5;break;
}
m=price*s/100;
printf("该货物税金为:
%f\n",m);
}
例4、给一个不多于5位的正整数,请按照从高位到个位分别输出每一个数字。
#include
voidmain()
{
intx,i=10000,y;
printf("请输入数据x:
\n");
scanf("%d",&x);
while(x>99999)
{
printf("输入错误,请重新输入:
\n");
scanf("%d",&x);
}
while(x)
{
y=x/i;
if(y>0)
{
printf("%d",y);
x=x%i;
}
i=i/10;
}
}
例5、用牛顿迭代求方程2x3-4x2+3x-6=0在1.0附近的根。
#include
voidmain()
{
floatx,x0,f,f1;
x=1.0;
do
{
x0=x;
f=((2*x0-4)*x0+3)*x0-6;
f1=(6*x0-8)*x0+3;
x=x0-f/f1;
}while(fabs(x-x0)>=1e-5);
printf("%6.2f",x);
}
练习题
1、企业发放的奖金根据利润提成。
利润低于1万元的,提成10%,高于1万低于5万的,
提成8%,高于5万低于10万的,提成6%,高于10万的提成5%。
输入利润,计算奖金数并
输出结果。
#include
voidmain()
{
doublex,y;
printf("请输入利润值:
");
scanf("%lf",&x);
if(x<=10000)
y=0.10*x;
elseif(x<=50000)
y=0.08*x;
elseif(x<=100000)
y=0.06*x;
elseif(x>100000)
y=0.05*x;
printf("%lf\n",y);
}
2、学生成绩等级制。
如果某学生成绩在90分以上,等级为优;80-90分,等级为良;70-80
分,等级为中;60-70分,等级为及格;如果成绩小于60分,等级为不及格。
输入一成绩,
判断是在哪个等级。
#include
voidmain()
{
intx;
intc=1;
while(c)
{
printf("请输入成绩:
\n");
scanf("%d",&x);
if(x>=90)
printf("\n优");
elseif(x>=80)
printf("\n良");
elseif(x>=70)
printf("\n中");
elseif(x>=60)
printf("\n及格");
else
printf("\n不及格");
printf("\n继续测试?
0:
退出,1:
继续\n");
scanf("%d",&c);
}
}
3、所谓“同构数”是指这样的数,它出现在它的平方数的右端。
如:
6的平方是36,6出现在36的右端,6就是一个同构数。
编程输出2~1000之内的所有同构数。
#include
voidmain()
{
longi,j,s;
for(i=2;i<1000;i++)
{
s=i*i;
j=i;
while(j>0)
{
if((j%10)!
=(s%10))break;
j=j/10;
s=s/10;
}
if(j==0)
printf("%6d",i);
}
}
4、求下面分数序列的前10项之和。
1235813
,,,,,...
23581321
#include
voidmain()
{
doublea=2,b=1;
intm,i;
doublesum=0,c;
for(i=1;i<=10;i++)
{
c=b/a;
sum=sum+c;
m=b;
b=a;
a=b+m;
}
printf("%lf\n",sum);
}
5、某小朋友有若干个玻璃球,第一天拿出去一半还加一个,第二天又将剩下的拿走一半再
多一个,以后每天都将剩下的一半零一个拿走。
到第8天的时候只剩下一个玻璃球了。
请
问他原本有多少个玻璃球。
#include
voidmain()
{
inty=1;
inti;
for(i=1;i<=8;i++)
{
y=(y+1)*2;
}
printf("%d\n",y);
}
6、将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
#include
voidmain()
{
longn;
inti;
printf("请输入一个正整数:
\n");
scanf("%ld",&n);
for(i=2;i { while(i! =n) { if(n%i==0) {printf("%ld*",i); n=n/i; } else break; } } printf("%d\n",n); } 7、计算下列多项式之和。 要求两次求得的误差在ε之内,设ε=10 -5。 e≈1+1/1! +1/2! +...+1/n! #include voidmain() { inti=1,a=1; doublee=1; while(1.0/a>1e-5) { e+=1.0/a; i++; a*=i; } printf("e=%lf\n",e); } 8、如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。 例如6的因子是1,2,3,且6=1+2+3,因此6是完数。 编写程序找出1000之内的所有完数及这些完数之和。 #include voidmain() { inti,j,k,s,n=0; printf("完数有: \n"); for(i=1;i<=1000;i++) { s=0; for(j=1;j if(i%j==0) s=j+s; if(s==i) { printf("%d",i); n=n+i; } } printf("\n所有完数之和为%d\n",n); } 三、问题讨论 加强对循环结构不同形式的使用,注意break和continue等,对所学知识灵活运用,尝试用不同方法解决问题。 实验三数组和函数 学号2013212360姓名李梦雅班级0841302 第13周星期四第5,6,7,8节实验日期2014年5月22日 一、实验目的 1、掌握一维数组、二维数组、字符数组的定义、初始化、引用和输入输出,能熟练运用数组解决实际问题。 2、掌握函数的定义、声明、调用,能熟练掌握函数的参数和返回值,能运用函数解决较简单的问题。 3、了解局部变量,全局变量,动态存储变量、静态存储变量,内部函数、外部函数的联系和区别。 二、实验内容和结果 例1、输出一个菱形图。 #include voidmain() { chard[][5]={{'','','*'},{'','*','','*'},{'*','','','','*'},{'','*','','*',''},{'','','*'}}; inti,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%c",d[i][j]); printf("\n"); } } 例2、已有一个已排好序的数组,从键盘任意输入一个数,要求按原来排序的规律将它插入数组中 #include #include voidmain() { inta[6]={1,3,4,7,8}; intx,i,j; printf("请任意输入一个值x: \n"); scanf("%d",&x); for(i=0;i<5;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 简单的C程序设计实验报告 实验 简单 程序设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)