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