c程序设计实验手册簿Word下载.docx
- 文档编号:17024675
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:46
- 大小:29.43KB
c程序设计实验手册簿Word下载.docx
《c程序设计实验手册簿Word下载.docx》由会员分享,可在线阅读,更多相关《c程序设计实验手册簿Word下载.docx(46页珍藏版)》请在冰豆网上搜索。
(2)编写程序实现以下问题
1、求任意两个数的加法、减法、乘法、除法
2、编写一个程序将“Iloveyou”这个字符串进行加密,密码规律自定义。
(可参照恺撒密码的方式)
实验三顺序程序设计
(1)能读懂简单的程序,并对顺序程序设计有初步的认识
(2)可以编写简单的顺序程序
(3)通过上机调试,了解顺序程序设计中常见的错误,掌握基本的调试技术(逐步分析程序)。
(1)已知摄氏温度与华氏温度的换算公式
C=5/9×
(F-32)
编写一个程序求华氏温度为30℉,70℉,100℉。
#include<
floatf;
floatc;
scanf("
%f"
&
f);
c=(f-32)*5/9;
%f\n"
c);
(2)已知地球半径为6371.0km,编写一个程序计算地球表面积的近似值,并打印输出地球的半径、π的近似值、地球的表面积。
floatr=6371,s;
floatpi=3.14;
s=pi*r*r;
地球的半径是:
%.2f\n"
r);
pi的值为:
pi);
地球的表面积为:
%e\n"
s);
(3)已知三角形的三条边a,b,c,求三角形面积的公式为:
编写一个程序读入a,b,c的值,计算出面积F,并输出三条边及面积的值。
(开平方根函数为sqrt,在math.h文件中)
#include<
math.h>
floata,b,c,s,F;
%f,%f,%f,"
a,&
b,&
c);
s=1.0/2*(a+b+c);
F=sqrt(s*(s-a)*(s-b)*(s-c));
print("
三角形的面积为:
F);
(4)设圆半径r=2,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆柱体积。
编写程序,用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
编写程序实现。
输出结果如右图所示:
#definePI3.14
floatr,h,l,s,ss,v;
请输入圆半径:
"
);
r);
请输入圆柱高:
h);
l=2*PI*r;
s=PI*r*r;
ss=4*s;
v=PI*r*r*h;
圆的面积为:
圆的周长为:
l);
圆球的表面积为:
ss);
圆柱的体积为:
v);
}
(5)分析下列程序的结果,并看懂程序。
charc1;
请输入一个字符:
c1=getchar();
if(c1>
='
&
c1<
z'
)
{
你输入的是小写字母:
putchar(c1);
}
elseif(c1>
A'
Z'
你输入的是大写字母:
1'
9'
你输入的是数字:
else
你输入的是其它东东:
实验四选择结构程序设计
(一)实验内容
(1)清楚的掌握if语句、switch语句的各种使用方法,并灵活运用
(2)能读懂if语句、switch语句的流程走向
(3)通过上机调试,了解选择程序设计中常见的错误,掌握基本的调试技术(逐步分析程序)。
(1)编程求:
intx,y;
%d"
x);
if(x!
=0)
y=x*x-5;
y=3*x+2;
x=%d,y=%d\n"
x,y);
(2)编写一个按月收入额计个人收入调节税的应用程序。
记税公式如下:
0pay<
=1000或离退休
(pay-1000)*0.051000<
pay<
=1500
(pay-1500)*0.1+251500<
=2000
(pay-2000)*0.15+752000<
=2500
Tax=(pay-2500)*0.2+1502500<
=3000
(pay-3000)*0.25+2503000<
=3500
(pay-3500)*0.3+3753500<
=4000
(pay-4000)*0.35+5254000<
=4500
(pay-4500)*0.4+700pay>
其中:
pay为纳税人的月收入
floattax,pay;
pay);
if(pay<
=1000)
tax=0;
elseif(pay<
=1500)
tax=(pay-1000)*0.05;
=2000)
tax=(pay-1500)*0.1+25;
=2500)
tax=(pay-2000)*0.15+75;
=3000)
tax=(pay-2500)*0.2+150;
=3500)
tax=(pay-3000)*0.25+250;
=4000)
tax=(pay-3500)*0.3+375;
=4500)
tax=(pay-4000)*0.35+525;
tax=(pay-4500)*0.4+700;
pay=%.2f,tax=%.2f\n"
pay,tax);
(3)编写程序实现:
BMI法测身高体重是否合适
体重指数=体重(公斤)除身高(米)的平方kg/m2
正常体重:
体重指数=18-25
超重:
体重指数=25-30
轻度肥胖:
体重指数>
30
中度肥胖:
35
重度肥胖:
40
floatweight,height,t;
请输入体重(公斤)"
weight);
请输入身高(米)"
height);
t=weight/(height*height);
t);
if(t<
18)
printf("
偏瘦"
elseif(t<
=25)
正常体重"
=30)
超重"
=35)
轻度肥胖"
=40)
中度肥胖"
(4)任意输入3个数,将之从大到小排序并输出
inta,b,c,min,mid,max;
请输入三个整数:
%d%d%d"
min=a;
max=a;
mid=a;
if(a<
=b&
a<
=c)
if(b<
mid=b;
max=c;
mid=c;
max=b;
elseif(c<
=a&
c<
=b)
min=c;
mid=a;
max=a;
min=b;
max=c;
%d%d%d"
max,mid,min);
(5)给出一个不多于5位数的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出每一位数字,例如:
原数是321,输出为123
(提示:
此题的关键为1、首先判断这个数是否为0~99999之间的数。
2、在利用%求得每位的数字是多少)
intnum,indiv,ten,hundred,thousand,ten_thousand,place;
请输入一个整数(0-99999)"
num);
if(num>
9999)
place=5;
elseif(num>
999)
place=4;
99)
place=3;
9)
place=2;
else
place=1;
place=%d\n"
place);
每位数字是:
ten_thousand=num/10000;
thousand=(num-ten_thousand*10000)/1000;
hundred=(num-ten_thousand*10000-thousand*1000)/100;
ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=num-ten_thousand*10000-thousand*1000-hundred*100-ten*10;
switch(place)
case5:
printf("
%d,%d,%d,%d,%d\n"
indiv,ten,hundred,thousand,ten_thousand);
break;
case4:
indiv,ten,hundred,thousand);
case3:
%d,%d,%d\n"
indiv,ten,hundred);
case2:
%d,%d\n"
indiv,ten);
case1:
%d\n"
indiv);
(6)输入数字1,则鸣叫一声,输入数字2,则鸣叫两声,…,如果是1~5之外的数,则没有叫声。
程序中定义了一个宏BEEP,当程序中遇到BEEP,便用printf("
\a"
替换,方法如下:
#defineBEEPprintf("
//使用switchcase语句实现
inta;
a);
switch(a)
case1:
BEEP
break;
case2:
BEEP
case3:
case4:
default:
error\n"
(7)编写整数加减乘除计算器。
(比如:
你依次输入1+2,计算机会自动进行判别,运算出结果。
)//使用switchcase语句实现
参考程序如下,请完善后执行。
charc;
intnum1,num2,jg;
……
switch(c)
case'
+'
:
……jg=num1+num2;
break;
-'
……jg=num1-num2;
*'
……
\'
inta,b;
charop;
\n输入操作数1,运算符,操作数2:
"
scanf("
%d,%c,%d"
op,&
b);
switch(op)
\n%d+%d=%d\n"
a,b,a+b);
break;
\n%d-%d=%d\n"
a,b,a-b);
\n%d×
%d=%d\n"
a,b,a*b);
/'
\n%d/%d=%d\n"
a,b,a/b);
\n运算符错误!
实验五循环控制程序设计
(1)熟悉掌握用while语句、do-while语句和for语句实现循环的方法。
(2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)
(3)进一步学习调试程序。
(1)For循环基础专项练习,从下列实例中体会For循环的用法
①.求1-10这十个数的累加
inti,sum=0;
for(i=1;
i<
=10;
i++)
sum=sum+i;
sum=%d\n"
sum);
②.求1-10这十个数的累乘
inti,multi=1;
for(i=1;
multi=multi*i;
multi=%d\n"
multi);
③.求1-100中偶数之和
=100;
if(i%2!
continue;
④.求1-100中奇数之积
inti;
doublemulti=1;
if(i%2==0)
multi=multi*i;
multi=%e\n"
⑤.求1+1/2+1/3+1/4+……1/10
floati,sum=0;
sum=sum+1/i;
sum=%f\n"
⑥.求1-1/2+1/3-1/4+……-1/10
floati,sum=1,s=1;
for(i=2;
s=s*(-1);
sum=sum+s/i;
⑦.利用循环输出”a“-“z”
charc='
while(c<
%c"
c++;
⑧.求1-10这十个数的阶乘之和
floati,j,multi=1,sum=0;
for(j=1;
j<
=i;
j++)
multi=multi*j;
sum=sum+multi;
multi=1;
sum=%e\n"
(2)我国现有人口13亿,按人口年增长率0.8%计算,多少年后我国人口超过26亿。
计算公式26=13(1+0.008)^n
(提示:
可以使用while语句,如果使用FOR语句会有问题么?
intn=0;
floatpeople=13;
do
people=people*1.008;
n++;
while(people<
=26);
n=%d\n"
n);
intn;
for(n=0;
people<
=26;
n++)
(3)统计你输入的十个两位正整数中偶数与奇数的个数,并求出偶数与奇数各自的总和(提示:
要清楚的知道我们判断一个数是基数或是偶数的方法:
%,再者对于辅助变量的用法要学会:
i++)。
inti,num1=0,num2=0,sum1=0,sum2=0,t;
scanf("
t);
if(t%2==0)
{
num1++;
sum1=sum1+t;
}
else
num2++;
sum2=sum2+t;
num1=%d,sum1=%d\n"
num1,sum1);
num2=%d,sum2=%d\n"
num2,sum2);
(4)从键盘上输入一个正整数,找出大于或等于该数的第一个素数(提示:
素数就是质数,对于此题目首先要知道如何判断一个数是素数)。
inta,k,i,p=0;
请输入一个正整数:
while(p==0)
k=sqrt(a);
for(i=2;
=k;
if(a%i==0)
break;
if(i>
k)
p=1;
elsea++;
第一个素数是:
a);
/*voidmain()//方法考虑使用双层循环,外循环保证运算是在非素数的情况下计算,内循环用来计算素数,一旦找到因子肯定不是素数,直接跳出循环
intnumber,k,i,p=0;
//p为逻辑值,如果是素数p!
=0
number);
k=sqrt(number);
i++)//重要,求素数的基本算法
if(number%i==0)
elsenumber++;
number);
}*/
//解法2不使用BREAK
voidmain()//方法考虑使用双层循环,外循环保证运算是在非素数的情况下计算,内循环用来计算素数,一旦找到因子肯定不是素数,直接跳出循环
intnumber,i,j=0,k;
k=sqrt(number);
for(i=number;
k=sqrt(i);
for(j=2;
=k&
i%j!
=0;
j++);
//重要,求素数的基本算法
i-1);
inta,k,i,p;
prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实验 手册