推荐C语言实验报告模板完成版精选word文档 39页Word文档下载推荐.docx
- 文档编号:22704173
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:36
- 大小:23.75KB
推荐C语言实验报告模板完成版精选word文档 39页Word文档下载推荐.docx
《推荐C语言实验报告模板完成版精选word文档 39页Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《推荐C语言实验报告模板完成版精选word文档 39页Word文档下载推荐.docx(36页珍藏版)》请在冰豆网上搜索。
5)掌握scanf()函数、printf()函数的调用方法,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
6)掌握字符输入输出函数getchar()、putchar()函数的调用方法。
2.运行程序及填空
(一)输入并运行下面的程序,写出运行结果。
#include<
intmain()
charc1,c2;
c1=97;
c2=98;
printf(“%c,%c\n”,c1,c2);
printf(“%d,%d\n”,c1,c2);
return0;
运行结果:
a,b
97,98
【思考题】若将第四行改为:
intc1,c2;
再使之运行,输出结果一样吗?
为什么?
答:
一样,因为第六行的printf输出的是%c即字符,任然将c1,c2按照ASCII码字以符形式输出。
(二)程序填空:
输入一个十进制整数,输出与之相应的八进制数与十六进制数。
例如:
输入31,输出37(八进制)和1F(十六进制)。
源程序如下:
longn;
输入一个十进制整数:
"
scanf("
%d"
&
n);
printf("
对应的八进制整数是%\n"
n);
对应的十六进制整数是%\n"
运行程序,输入,显示结果如何?
答:
1234567
对应的八进制整数是4553207
对应的十六进制整数是12D687
3.实验程序清单及运行结果
课后习题3.7
要将"
China"
译成密码。
charc1='
C'
c2='
h'
c3='
i'
c4='
n'
c5='
a'
;
%c%c%c%c%c\n"
c1+4,c2+4,c3+4,c4+4,c5+4);
课后习题4.8
求圆周长C1、圆面积Sa、圆球表面积Sb、圆球体积Va、圆柱体积Vb。
#definePI3.14
math.h>
floatr,h,C1,Sa,Sb,Va,Vb;
%f%f"
r,&
h);
C1=2*PI*r;
Sa=PI*r*r;
Sb=4*PI*r*r;
Va=4.0/3*r*r*r*PI;
Vb=PI*r*r*h;
C1=%.2f\nSa=%.2f\nSb=%.2f\nVa=%.2f%\nVb=%.2f\n"
C1,Sa,Sb,Va,Vb);
}
课后习题4.9
输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9。
取位2小数。
Source
floatF,c;
%f"
F);
c=%.2f\n"
c=5*(F-32)/9;
实验三选择结构程序设计
1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
2)学会正确使用关系运算符、逻辑运算符和相关表达式。
3)熟练掌握if语句和switch语句。
4)结合程序掌握一些简单的的算法。
5)学习调试程序。
2.程序填空
请将下列源程序填写完整。
程序说明:
输入实数x,计算并输出下列分段函数f(x)的值,结果保留2位小数。
?
x?
1x?
1?
f(x)?
ex?
1
1#include<
intmain()
{doublex,y;
Inputx:
scanf(“%lf”,if(x<
-1)y=x+1;
elseif()y=exp(x);
else;
f(%.2f)=%.2f\n"
x,y);
运行程序,输入-2,显示结果是:
-1
输入0.5,显示结果是:
1.65
输入3,显示结果是:
3.16
课后习题5.5
有一个函数
/x(x<
1)
y={2x-1(1<
=x<
10)
\3x-11(x>
=10)
写一段程序,输入x,输出y
intx,y;
x);
if(x<
{if(x<
1)y=x;
elsey=2*x-1;
elsey=3*x-11;
%d\n"
y);
课后习题5.6
给出一百分制成绩,要求输出成绩等级?
A?
、?
B?
C?
D?
E?
。
intx;
charA,B,C,D,E;
if(x>
=90&
&
x<
=100)printf("
%c\n"
'
A'
elseif(x>
=80&
=89)printf("
B'
=70&
=79)printf("
elseif(x>
=60&
=69)printf("
D'
elseif(x<
=59&
x>
=0)printf("
E'
课后习题5.7
给出一个不多于5位的非负整数,要求
1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字,例如原数为321,应输出123
intx,a[6],i,z=0;
for(i=10;
x;
)
a[++z]=x%i;
x=x/10;
if(z==0)printf("
1\n0\n0\n"
elseprintf("
z);
for(i=z;
i>
=1;
i--)
if(i!
=1)printf("
%d"
a[i]);
for(i=1;
i<
=z;
i++)
if(i==z)printf("
课后习题5.8
企业发放的奖金根据利润提成。
intI;
I);
if(I<
=100000)printf("
I*1/10);
else
=201X00&
I>
100000)printf("
10000+(I-100000)*75/1000);
else
=400000&
201X00)printf("
17500+(I-201X00)*5/100);
=600000&
400000)printf("
27500+(I-400000)*3/100);
=1000000&
600000)printf("
33500+(I-600000)*15/1000);
if(I>
1000000)printf("
39500+(I-1000000)*1/100);
return0;
实验四循环结构程序设计
1)熟悉掌握用while语句、do-while语句和for语句实现循环的方法。
2)掌握循环次数不确定的解题技巧,掌握多项式求和问题的解题技巧。
3)掌握多重循环的编程技巧。
4)掌握在程序设计中用穷举法、迭代法、递推法求解问题的编程技巧。
5)进一步学习调试程序。
输出菲波那契数列的前20项,要求每行输出10项。
{inti,x1,x2,x;
x1=x2=1;
%6d%6d"
x1,x2);
/*输出前2项*/
for(i=;
i<
=20;
i++)
{x=x1+x2;
%6d"
x);
/*每行输出10项*/if()printf("
x1=;
x2=;
课后习题6.1
输入两个正整数m和n,求其最大公约数和最小公倍数。
inta,b,t;
%d%d"
b);
if(b>
a){t=a;
a=b;
b=t;
};
intk=a*b;
while(t){t=a%b;
%d%d"
a,k/a);
课后习题6.2
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
charx;
inta1=0,a2=0,a3=0,a4=0;
for(x=getchar();
x!
='
\n'
x=getchar())
z'
)a1=a1+1;
Z'
)a1=a1+1;
0'
9'
)a2=a2+1;
if(x=='
'
)a3=a3+1;
elsea4=a4+1;
a1);
}printf("
a2);
a3);
a4);
课后习题6.3
Sn=2+22+222+2222+22222+22...2222(最后一项n个2)
intn,a=2,i,t=0,sum=0;
while(n--)
t+=a;
sum+=t;
a*=10;
sum);
课后习题6.10
猴子吃桃问题。
求第一天共摘多少桃子。
ints=1,N,i;
N);
N;
s=(s+1)*2;
s);
实验五数组
1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2)掌握字符数组和字符串函数的使用。
3)掌握与数组有关的算法(特别是排序算法)。
(一)程序填空:
输入一个整数n(1≤n≤10),再输入n个整数,将它们按升序排列后
输出。
选择排序基本思想:
(1)由于n最大是10,需要定义一个长度为10的整型数组a;
(2)整个排序只需要确定前n-1个元素(a[0]~a[n-2]),最后一个元素a[n-1]无需
另外处理;
(3)在确定a[i](i=0,1,…,n-2)时,先将a[i]本身看成最小,即令k=i,并将a[k]与
后面的元素a[j](j=i+1,i+2,…,n-1)一一比较,如果a[j]<
a[k],则更新k的值:
k=j。
找出对应于下标i的最小元素a[k]后,交换a[i]与a[k]。
inti,j,k,n,temp,a[10];
Inputn(1~10):
while(scanf("
n),);
//输入正确的n:
1≤n≤10printf("
Input%dnumbers:
n);
for(i=0;
n;
a[i]);
//输入n个整型元素
//选择法排序
k=;
//设a[i]为剩余部分的最小元素
for(j=;
j<
j++)if()k=j;
//Line12a[k]=temp;
//a[i]?
a[k]temp=a[i];
a[i]=a[k];
//输出排序后的数组
【思考题】运行程序,输入n:
5个整数:
,显示结
果是什么?
如果是按从大到小的降序排列,语句行Line12应怎么修改?
答;
⑴显示结果Inputn(1~10):
5⑵Line12应改为if(a[j]>
a[k])
k=j;
Input5numbers:
23-91403
-9031423
(修改上面的程序,从在线评测系统中提交调试好的程序,题号1032。
输入5个整数,将这5个数按逆时针顺序转动一次后再输出,如输入
12345,逆时针转动一次后,输出23451。
提示:
设存放整数的数组为a。
要实现数组逆时针转动,只要先将首元素a[0]“搬”至一个变量t中;
然后从第1个元素到最后1个元素,依次向前移一位,即a[i-1]=a[i](i=1,…,4);
最后将存放在t中的首元素放入最后的元素。
inti,t,a[5];
Input5integers:
5;
);
t=;
a[i-1]=a[i];
=t;
Afterrotation:
%5d"
);
return0;
3.实验程序清单及运行结果课后习题7.1
用筛法求之N内的素数。
intN,n,i,k;
for(n=2;
n<
=N;
n++)
k=sqrt(n);
for(i=2;
=k;
if(n%i==0)break;
if(i>
=k+1){printf("
n);
}}
课后习题7.2
用选择法对10个整数从小到大排序。
inta[10],i,j,min,t,k=0;
10;
9;
min=a[i];
k=i;
for(j=i+1;
j<
j++)
if(min>
a[j])min=a[j],k=j;
if(k!
=i){t=a[k];
a[k]=a[i];
a[i]=t;
课后习题7.4
有一个已排好的9个元素的数组,输入一个数要求按原来排序的规律将它插入数组中。
inta[11],i,t,k;
}for(i=8,k=9;
=0;
i--){if(a[k]<
a[i])t=a[i],a[i]=a[k],a[k]=t,k=i;
课后习题7.5
输入10个数字,然后逆序输出。
inta[10],i;
=9;
for(i=9;
实验六函数
1)掌握定义函数的方法。
2)掌握函数实参与形参的对应关系以及“值传递”的方式。
3)掌握函数的嵌套调用和递归调用的方法。
4)掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。
5)学习对多文件程序的编译和运行。
验证哥德巴赫猜想——任何一个大于6的偶数均可表示为两个素数之和。
6=3+3,8=3+5,10=5+5,…,18=7+11。
要求将6-100之间的偶数均表示为素数之和,一行输出5组。
intmain()
{inta,b,k;
for()//逐个处理6~100之间的偶数k{
for()//针对偶数k,寻找第一个素数加数项a{b=k-a;
if()break;
//如果a,b同为素数,跳出内层循环}//内层循环printf("
%d=%d+%d"
k,a,b);
//输出k=a+bif(k%5==0)printf("
//每行输出5组,注意第一行只有3组}//外层循环
//自定义函数prime(n),判断整数n是否是素数,是则返回1,不是则返回0
intprime(intn)
{inti;
for(i=2;
;
if(n%i==0);
if()return1;
//n是素数,返回1
elsereturn0;
//n不是素数,返回0
课后习题8.1
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数
intgcd(intx,inty);
intlcm(intx,inty);
inta,b;
%d%d\n"
gcd(a,b),lcm(a,b));
intgcd(intx,inty)
intt;
if(y>
x){t=x;
x=y;
y=t;
while(t)
t=x%y;
returnx;
intlcm(intx,inty)
returnx*y/gcd(x,y);
课后习题8.3
写一个判断素数的函数,在主函数输入一个正整数,输出是否是素数的消息。
inta;
intprime(intx);
a);
if(prime(a))printf("
prime"
notprime"
intprime(intx)
inti=2;
if(x==1)return0;
while(x%i){i++;
if(i==x)return1;
课后习题8.5
写一函数,使输入的一个字符串按反序存放,在主函数中输入输出反序后的字符串。
string.h>
chars[1000];
intlen;
voidtranspose(chara[],intn);
gets(s);
len=strlen(s);
transpose(s,len);
puts(s);
voidtranspose(chara[],intn)
inti,j=n/2;
chart;
j;
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
课后习题8.7
写一个函数,输入一个四位数,要求输出这四个数字字符,但要求每两个数字间空格。
inta,max(intx);
intmax(intx)
if(x/10!
=0)max(x/10);
x%10);
}scanf("
max(a);
实验七指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 推荐C语言实验报告模板完成版精选word文档 39页 推荐 语言 实验 报告 模板 完成 精选 word 文档 39