c语言实验报告(附答案版)

合集下载

c语言实验报告(附答案版)

c语言实验报告(附答案版)
二、实验目的
1、熟练掌握while,do—while,for语句实现循环的方法,包括如何正确地设定循环条件,如何控制循环的次数。
2、掌握break语句与continue语句的使用方法。
3、熟悉循环的嵌套以及从循环体内退出循环的处理。
4、理解什么是循环程序结构。
三、实验指导
为了达到最佳的实验效果,以下提供几条适于模块化编程的指导意见,可供参考。
实验1简单判定性问题求解
一、实验学时
完成本实验需4学时。
二、实验目的
1、阅读程序题
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;
(2)掌握不同的类型数据之间赋值的规律;
(3)掌握数据在内存中的存储方式;
(4)学会输入、输出函数的基本格式和使用方法;
(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
1)解题分析:解决问题的关键算法为求圆的面积并按要求输出。循环求圆的面积area,若area<40,则用continue语句提前结束本次循环并开始新一轮循环,若area>90,则用break语句跳出循环。
2)算法流程图如图2-1:
3)综合分析
需要从循环体中提前跳出循环,或者在满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到break和continue语句。
(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:
百分制
90-100
80-89
70-79
60-69
<60
等级制





具体要求如下:
1)用switch语句实现该功能;

C语言程序设计实验报告 实验一 简单程序设计

C语言程序设计实验报告 实验一 简单程序设计

C语言程序设计实验报告实验一简单程序设计班级 2017231 学号 201723128 姓名郭鹏博一、实验目的1、熟悉VC6.0编程环境。

2、掌握使用VC6.0输入源程序、编译连接和运行程序的基本过程。

3、练习C调试程序的方法。

4、熟练使用赋值运算、算术运算等表达式。

5、熟练使用标准输入、输出函数及各种数据类型的格式说明符。

二、实验内容及步骤1、分析程序,根据要求写出结论:课本P83页第4题、第5题;第4题(1)c1=a,c2=bc1=97,c2=98原因:字符变量实质上是一个字节的整形变量,由于它常用来存储字符,所以称为字符变量。

可以把0到127之间的整数赋给一个字符变量。

在输出字符变量的值时,可以选择以十进制整数形式或字符形式输出。

(2)c1=?c2=?c1=-59,c2=-58原因:Visual C++系是把char默认为signed char类型的,而signed char类型的变量允许存储的值为—128~127,但字符的代码不可能为负值,所以在存储字符时实际上只用到0~127这一部分,其第1位都是0。

给字符型变量赋值197和198时,所赋之值超出了字符变量的取值范围,导致无论是以以十进制整数形式输出还是以字符形式输出,输出结果均错误。

(3)c1=a,c2=bc1=97,c2=98原因同(1)第5题2、程序改错下面程序的功能是计算球体的表面积和球体的体积,程序中有多处错误,并且指定必须按下面的形式输入、输出数据。

请对程序做相应的修改。

#include <stdio.h>main{double r,s,v;int pi=3.14;scanf("%d",r);S=4*pi*r*r; /*计算球体的表面积*/V=4.0*pi*r*r*r/3.0; /*计算球体的体积*/printf("%d",r);printf("s=%f\n",s,"v=%d\n",v);}当程序运行时,要求屏幕的显示和指定的输入形式如下:input r:2.0<回车> (此处的2.0是由用户输入的数据)r=2.000000 (此处要求的是输出形式)s=50.24000000,v=33.49333333具体要求:(1)在VC6.0环境中输入上述源程序。

计算机C语言实验报告含答案

计算机C语言实验报告含答案

高级语言程序设计(C语言)实验报告。

………………………………………………………………………………………………一、实验题目:语句与顺序结构控制程序设计1)编写程序,已知圆半径radius=1.25,求圆周长和面积。

源代码:运行结果:#include <stdio.h> d=7.853981#define PI 3.1415926 s=4.908735void main(){float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf("d=%f\n",d);printf("s=%f\n",s);}2)编写程序完成大写字母的小写转换。

源代码:运行结果:#include <stdio.h> 请输入一个大写字母:H void main() H h{char ch1,ch2;printf("请输入一个大写字母:");ch1=getchar();ch2=ch1+32;printf("%c %c\n",ch1,ch2);}3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。

源代码:运行结果:#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3{int a,g,s,b;printf("请输入一个整数:");scanf("%d",&a);b=a/100;s=(a%100)/10;g=a%10;printf("b=%d,s=%d,g=%d\n",b,s,g);}二、实验题目:选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。

编写程序,按从大到小的顺序排列这3个整数,使a成为最大的,c成为最小的,并且按序输出这3个整数。

C语言实验册完整答案

C语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。

c语言实验报告三答案(完整版)

c语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。

并进一步学习调试程序的方法。

二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。

(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。

《C语言程序开发》实验报告和参考答案

《C语言程序开发》实验报告和参考答案

《C语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

C语言实验报告 实验三 参考答案

C语言实验报告 实验三  参考答案

实验三循环结构程序设计(参考答案)1、设计程序sy3-1.c,计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。

例如输入n 的值为20时,输出0.583333。

算法分析:穷举1~n(含n)之间的每一个整数,能否被5或者9整除。

如果能,则把它的倒数累加到累加器里去。

因为能被5整除的自然数,应该至少从5才可能,所以循环控制变量i可以5开始。

参考答案:#include<stdio.h>void main(){int n,i;double s=0; //累加器要赋初值为0,结果为小数,所以定义为实数类型printf("请输入n的值:");scanf("%d",&n);for(i=5;i<=n;i++) //穷举小于等于n的自然数if(i%5==0||i%9==0)s=s+1.0/i;// 因为i是整数类型,所以1/i的值为0printf("s=%f\n",s);}运行结果:2、设计程序sy3-2.c,计算并输出给定整数n的所有因子(不包括1与自身)之和。

例如,输入n的值是856时,应输出763。

算法分析:因子,就是能整除n的值。

所以从2到n-1穷举每个数是不是它的因子,是就累加到s中。

参考答案:#include<stdio.h>void main(){int s=0,n,i;printf("请输入n:");scanf("%d",&n);for(i=2;i<n;i++) //穷举所有可能为因子的整数if(n%i==0) //因子即是能整除n的数s=s+i;printf("%d的所有因子之和是:%d\n",n,s);}运行结果:3、设计程序sy3-3.c,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。

C语言实验报告 实验四 参考答案

C语言实验报告 实验四  参考答案

实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。

例如输入n为15时,输出1.718282。

算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。

参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。

算法分析:该多项式的分母是累加。

参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。

例如,输入n 的值是100,则输出结果是148.874270。

注意n应在2~100之间。

算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。

参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言实验报告(附答案版)
实验
一、这个实验需要4学时才能完成。

2、目标1。

阅读程序问题
1
简单确定性问题解决
(1)掌握c语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋
值的方法;
(2)掌握不同类型数据之间的分配规律;(3)掌握存储器中数据的存储方式;
(4)学会输入、输出函数的基本格式和使用方法;
(5)学习使用算术运算符、逻辑运算符、关系运算符以及包含这些运算符的表达式。

2、编程题
(1)如何使用if-else决策结构进行编程;(2)如何使用开关决策结构进行编程。

3.调整试题
(1)熟悉c程序的编辑、编译、连接和运行的过程。

三、实验指导
为了达到最佳的实验效果,以下提供了几种适合编程的指南供参考。

1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出
结果。

2.编程问题必须先画流程图,反复思考,判断程序设计的正确性,完成程序设计。


注意简单确定性问题的结构选择。

3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。

对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时
各种可能情况。

-1-
四、实验内容1、阅读程序题(1)main()
{/*定义字符变量*/charc1,C2;/*为字符变量分配整数*/C1=97;C2=98;
printf(\/*以字符形式输出*/printf(\/*以整数形式输出*/
}
该程序的输出结果是ab(换行)9798。

思考:可以改成intc1、C2吗;输出是什么?完全相同的
(2)main()
{
inta=7,b=5;
printf(\}
该程序的输出结果是0。

思考:如果将printf语句中的%d更改为%F,可以输出分数的值吗?当然
(3)main()
{
inta=9;
a+=a-=a+a;/*包含复合赋值运算符*/printf(\}
该程序的输出结果是-18。

思考:如何求解赋值表达式a+=a-=a+a?步骤1:a=a-(a+a)=-9步骤2:a=a+a=18(4)主()
{
intk=-1;
printf(\}
-2-
该程序的输出结果是-14294967295。

思考:-记忆中的一种存储形式?
取反加一11111111111111111111111111111111(32个)
(5) main()
{
无信号X1;intb=-1;
x1=b;/*有符号数据传送给无符号变量*/printf(\}
{
inta=3,b=4,c=5;
printf(\printf(\}
该程序的输出结果是0(换行)5。

思考:如果第一个printf语句中的&&更改为|,会发生什么?1(管线进料)6(7)主管道()
{inta=1,b=2,c=3;
如果(c=a);printf(\elseprintf(\}
该程序的输出结果是1。

2.编程和调试(包括主题和要求、流程图、程序清单、测试数据和结果)
(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:百分制等级制90-100优80-89良70-79中60-69差<60劣-3-
具体要求如下:
1)用switch语句实现该功能;
2)使用键盘输入百分制的分数。

输入前应该有提示信息。

不合理的数字
据应输出错误信息;
3)输出结果应包括百分制的结果和等级;
4)分别输入成绩-10,30,60,68,75,83,95,102,查看记录运
行结果。

见下页测试数据:100,50,-20输出结果:优,劣,成绩输入错误
图流程图流程图流程图流程图流程图流程图流程图流程图图代码,罗马罗马
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\4-
开始定义变量n、s输入成绩sn=(s-50)/10n=0是输出“劣”否n=1是否n=2输出“差”是输出“中”否n=3是输出“良”否n=4或n=5否是输出“优”输出“错误!”结束
(2)不同期间银行一次性存取款的月利率如下:
?0.63%??0.66%?月息利率=?0.69%?0.75%??0.84%输入存款的本金和年?
最后期限一年任期?两年?三年?5年?8年
限,求到期时能从银行得到
程序代码
的利息与本金的合计。

(利息的计算公式为:利息=本金×月息利率×12
-5-。

相关文档
最新文档