C++程序设计实验七_参考答案

合集下载

c程序设计实验参考答案

c程序设计实验参考答案
编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。
main( )
{ float a,b,c;
float s,v;
scanf("%f,%f,%f,%f",&a,&b,&c);
s=a+b+c;
v=s/3.0;
printf("\n%7.1f,%7.1f",s,v);
}
实验五参考答案
一.1、a=10,b=30,c=10
}
2、main()
{int i;
double m=100000,n,s;
n=0.01;
s=0;
for(i=1;i<=30;i++)
{s+=n;
n=n*2;
}
printf("%f %f\n",s,m*30 );
}
实验八参考答案:
一.1、s=12345
2、7,
5,
3,
3、<1,2>=6
二.1、% for(j=k;j>0;j--)
第4行改为scanf("%d",&a[i]);
第12行改为printf("av=%d\n",av);
四.1、分析:C中数组长度必须是确定大小,即指定N的值。排序的方法有多种,取出其中两种作为参考。
方法一:起泡排序
从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;

C语言程序设计实验-答案

C语言程序设计实验-答案

C语言程序设计实验-答案(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小---前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。

本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。

为回报度娘及众网友的帮助,本文档免费下载。

*//*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理ed by 口玉刀一 of GUET.*/=====================实验一 C语言程序初步=====================已知a=5,b=4,c=6,求出s并换行#include""main(){int a,b,c,s;a=5;b=4;c=6;s=(a+b+c)/3;printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s);}输入一个数字求他的平方#include<>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}(1)#include<>main(){printf(" *\n");printf("***\n");printf(" *\n");}(2)main(){int v;int a,b,c;(2)#include<>main(){int m;double x;scanf("%d",&m);x=*m*m;printf("%f",x);}入a,b,c三个变量,计算数学公式(a*b)/cmain(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}=================================实验三顺序结构和输入输出方法=================================(1)main(){int m=345,t;float n=;t=*100;printf("m=%d,n*100=%d\n",m,t);}(2)main(){int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c);printf("s=%d,v=%d\n",s,v);}(1)main(){int m,n;float x=,y=;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /*每个数的输出宽度为6,两个数之间逗号建个。

大学生C语言程序设计(第四版 谭洪强)实验7 答案

大学生C语言程序设计(第四版 谭洪强)实验7 答案

实验七 参考答案(参考答案)(1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。

例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。

注意:n 的值要求不大于100。

算法分析:使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。

注意:i 的倒数要表示成:1.0/i;参考子函数如下:double fun(int n){double sum=0;int i;for(i=5;i<=n;i++)if(i%5==0||i%9==0)sum=sum+1.0/i;return sum;}(2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。

n s ⋯++++⋯++++++=321132112111例如:若n 的值为11时,函数的值为1.83333算法分析:等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。

参考子函数如下:float fun(int n){float sum=1; //sum 中已经累加了第一项的值int i,m=1; //m 表示每项的分母;for(i=2;i<=n;i++){ m=m+i;sum=sum+1.0/m;}return sum;}(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。

合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。

例如,当a=45,b=12,调用该函数后,c=5241。

算法分析:对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。

c语言程序设计案例教程 实验项目-设计性题目参考答案

c语言程序设计案例教程 实验项目-设计性题目参考答案

C语言程序设计案例教程(含实验)设计性实验的程序参考答案实验项目一 C程序的编辑、编译、连接和运行题目:编写程序,要求屏幕上显示如下信息:************************ This is a C program .************************程序:#include <stdio.h>void main(){printf(“***********************”);printf(“* This is a C program .*”);printf(“***********************”);}实验项目二数据类型、运算符、表达式题目(1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。

填空1.double x,root;2.root=sqrt(x);(2)输入一个大写英文字母,输出相应的小写字母。

填空1.ch=ch+32;实验项目三顺序结构程序设计题目(1)编写程序,输入三角形的三边长a、b、c,求三角形面积area。

程序代码:#include <stdio.h>#include <mach.h>main(){float a,b,c,s,arer;printf(" 请输入三角形的三个边a,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的边为a=%7.2f, b=57.2f, c=%7.2f\n",a,b,c);printf("三角形的面积area=%7.2\n ",area);(2)设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

C程序设计实验报告(答案)

C程序设计实验报告(答案)

C程序设计实验报告(答案)《C程序设计》实验报告班级:学号:学期:2009--2010学年第⼆学期姓名:《C程序设计》实验报告学期:2009--2010学年第⼆学期教师姓名:教研室:软件⼯程教研室实验1 熟悉C语⾔程序的运⾏环境,掌握数据描述1.1 实验⽬的1.了解在开发环境中如何编辑、编译、连接和运⾏⼀个C语⾔程序。

2.通过运⾏简单的C语⾔程序,初步了解C语⾔程序的结构特点。

3.掌握C语⾔数据类型的概念,学会使⽤C语⾔的相关运算符构成表达式。

1.2 实验预习1.熟悉Turbo C的启动和退出及Turbo C中的编辑、编译、连接和运⾏命令。

2.了解下列命令及函数:include、main、printf、scanf。

3.熟悉Turbo C环境下每个菜单项的功能及相关命令对应的操作。

4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。

int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。

6.常量与变量的区别和联系。

表1-1 Turbo C主菜单项功能表表1-2 Turbo C提⽰⾏功能表表1-3 Turbo C快捷操作表4.熟悉Turbo C环境下的块操作。

表1-4 基本光标命令功能操作表表1-5 快速光标移动命令功能操作表表1-6 插⼊与删除命令功能操作表表1-7 块操作命令功能操作表表1-8 其他命令功能操作表1.3 实验任务1.输⼊下列程序,记录在Turbo c 下的操作⽅法。

#includemain(){printf(“I am a student!”);}环境的启动操作:我的电脑—磁盘(各机房磁盘⽬录有所不同)—Turbo C⽂件夹—tc。

Exe 。

程序的编译⽅法:快捷键是 Alt+F9 ;菜单操作是Compile—compile to OBJ程序的保存⽅法:快捷键是 F2 ;菜单操作是 File--Save程序的运⾏⽅法:快捷键是Ctrl+F9;菜单操作是 Run运⾏结果的查看:快捷键是 Alt+F5 ;菜单操作是 Run—User Screen环境的退出操作:快捷键是 Alt+X ;菜单操作是 File--Quit4.现欲将编好的上例程序以⽂件名my.c保存⾄当前⽬录下,请阐述⽅法;当重新进⼊TC对其进⾏简单修改后欲将其另存⾄C 盘SY⽂件夹下(SY⽂件夹请⾃⾏创建),叙述⽅法。

c程序设计(谭浩强)第七章习题答案

c程序设计(谭浩强)第七章习题答案
{
int i;
float ave=0;
for(i=0;i<10;i++)
ave=ave+a[i][n]/10;
return ave;
}
void max(float a[][5]) //最高分的学生和课程
{
int i,j,row,colum;
float max=a[0][0];
for(i=0;i<10;i++)
# include <stdio.h>
# include<math.h>
# include<string.h>
/*int yue(int a,int b) //求最大公约数
{
int i,min;
min=a>b?b:a;
for(i=min;i>0;i--)
{
if(a%i==0&&b%i==0)
{
return i;
if((mid%2)!=1) //因职工号序号为奇数,故强制把序号转为奇数
mid-=1;
if(strcmp(b,a[mid])>0) //不能写b>a[mid]
{min=mid+2;}
else if(strcmp(b,a[mid])<0) //不能写b<a[mid]
{max=mid-2;}
else
{printf("职工姓名为:%s\n",a[mid-1]);break;}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%-2d",b[i][j]);

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案

常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。

2. 掌握C程序的编辑、调试及运行。

二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:2项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。

程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。

实验七 CCS环境下C程序设计

实验七 CCS环境下C程序设计

实验七CCS环境下C程序设计一、实验目的1.学习C语言的编程;2.掌握在CCS环境下的C程序设计方法;3.熟悉用C语言开发DSP程序的流程。

二、实验设备PC机,CCS软件三、实验步骤与内容1、实验说明CCS包含C编译器,支持标准C以及C和汇编混合编程。

C编译器包括三个功能模块:语法分析、代码优化和代码产生,如下图所示。

其中,语法分析(Parser)完成C语法检查和分析;代码优化(Optimizer)对程序进行优化,以便提高效率;代码产生(Code Generator)将C程序转换成C54x的汇编源程序。

本实验通过一些对数组及数据指针的基本操作,让实验者能够对使用C语言在CCS环境下编程有一个一目了然的认识。

并使用汇编语句,以体会两者综合运用时的优越性。

2、实验流程图3.以设计正弦波为例,说明本实验流程a.连接好DSP开发系统,实验箱上电,打开PC机界面下的CCS2.0软件。

b.CCS 2.0启动后,用Project/Open打开“DSP54X-07”目录下的“Exp07.pjt”工程文件,双击“Exp07.pjt”及“Source”可查看各源程序;并加载“Exp03.out”;单击“Run”运行程序;c.用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;观察变量为x,长度为500,数值类型为16位有符号整型变量;如下图所示,图中下半部分为观察图形窗口的设置,上半部分为观察的图形。

d.查看源程序,参考流程图,分析程序设计思路与流程;关闭窗口,本实验结束。

四、参看以下实验程序说明,加强对C语言设计程序的学习。

}。

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

广东金融学院实验报告课程名称:C++程序设计实验编号实验7数组与指针练习系别参考答案及实验名称姓名学号班级实验地点新电403实验日期2011-11-24实验时数4指导教师曲政同组其他成员无成绩一、实验目的及要求1.学习C/C++数组和指针的概念和使用方法。

2.练习C++/CLI托管数组的创建方法和元素访问方法。

二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)硬件设备:联网的个人计算机操作系统:Windows XP编译系统:Visual Studio2005三、实验内容及步骤(包含简要的实验步骤流程)1.内容和步骤⑴仔细阅读本课件的知识点和例题,努力理解其中的文字阐述和源代码,必要时可将源代码拷入Visual Studio2005生成的C++/CLR框架编译和运行,将运行结果与源代码对照,加深对C/C++数组和指针的理解。

⑵在理解本课件内容的基础上,编写C/C++程序实现下列文字描述:a.声明一个int型变量x,并赋初值3;b.打印x的值;c.打印x的地址;d.声明一个指向int的指针p,并让其指向变量x;e.打印p所指变量的值f.打印p的值;g.声明一个有10个元素的一维本地整型数组A,并为其赋初值0~9;h.在一个循环中打印A的所有元素的值;i.打印A的值;j.打印A的第一个元素的地址;k.声明一个指向int的指针q,并让其指向A的第一个元素;l.在一个循环中通过q后跟下标,打印出A的所有元素的值;m.在一个循环中通过q加上循环变量和取值运算,打印出A的所有元素的值;n.在一个循环中通过q的增量和取值运算,打印出A的所有元素的值;o.在一个循环中通过q的负增量,反序打印出A的所有元素的值;p.声明一个int型指针r,在堆中创建一个int型变量,为该变量赋初值3,并将该变量的地址赋给该指针,打印出该变量的值,然后删除该变量。

q.声明一个本地类Point(可以用包含2个int型变量和一个有参数构造函数的结构体表示)的指针s,在堆中创建一个Point类的对象,调用构造函数为该对象的两个数据成员赋初值3和4,并将该对象的地址赋给该指针,打印两个数据成员的值,然后删除该对象。

r.声明一个int型指针t,在堆中创建一个3个元素的int类型数组并将该数组的首地址赋给该指针,为三个数组元素分别赋值3、4、5,在一个循环中打印出所有元素的值,然后删除该数组。

s.声明一个本地类Point类的指针u,在堆中创建一个3个元素的Point类的对象数组(需在Point中添加无参数构造函数)并将数组的首地址赋给该指针,为三个数组元素分别赋值(1,2)、(3,4)、(5,6),在一个循环中打印该数组所有元素分量的值,然后删除该数组。

t.用基本语法声明并创建一个10个元素的一维托管整型数组B,并在一个循环中为元素赋值0~9;u.在另一个循环中打印B所有元素的值。

v.用初值表方式声明并创建一个10个元素的一维托管整型数组C,并为其元素赋初值10~19;w.在一个循环中打印C所有元素的值。

x.用数组C为数组B赋值。

y.在一个循环中打印B和C所有元素的值。

2.提示和要求⑴首先将上面的文字描述拷入Visual Studio2005生成的C++/CLR框架,在每条文字描述之前加“//”将其变为注释,并在其下留一个空行准备编写对应的程序。

⑵对应于逐条文字描述,在其下编写程序(可能是一个或一组语句),每编写一条文字描述对应的程序,就编译(运行)一次,以保证语法和算法的正确性。

⑶当全部文字描述所对应的程序编写完成,并编译、运行正确,将文字描述和源代码拷入实验报告。

⑷对C/C++的数组和指针做简要总结。

四、实验结果(源程序)#include"stdafx.h"#include<stdio.h>using namespace System;int main(array<System::String^>^args){//a.声明一个int型变量x,并赋初值;int x=3;//b.打印x的值;printf("x=%d\n",x);//c.打印x的地址;printf("&x=%x\n",&x);//d.声明一个指向int的指针p,并让其指向变量x;int*p=&x;//e.打印p所指变量的值printf("*p=%d\n",*p);//f.打印p的值;printf("p=%x\n",p);//g.声明一个有个元素的一维本地整型数组A,并为其赋初值0~9;int A[10]={0,1,2,3,4,5,6,7,8,9};//h.在一个循环中打印A的所有元素的值;for(int i=0;i<10;i++)printf("A[%d]=%d\n",i,A[i]);//i.打印A的值;printf("A=%x\n",A);//j.打印A的第一个元素的地址;printf("A=%x\n",&A[0]);//k.声明一个指向int的指针q,并让其指向A的第一个元素;int*q=A;//l.在一个循环中通过q后跟下标,打印出A的所有元素的值;for(int i=0;i<10;i++)printf("q[%d]=%d\n",i,q[i]);//m.在一个循环中通过q加上循环变量和取值运算,打印出A的所有元素的值;for(int i=0;i<10;i++)printf("q+%d=%d\n",i,*(q+i));//n.在一个循环中通过q的增量和取值运算,打印出A的所有元素的值;for(int i=0;i<10;i++){printf("q=%d,q++\n",*q);q++;}//o.在一个循环中通过q的负增量,反序打印出A的所有元素的值;for(int i=0;i<10;i++){q--;printf("q--,q=%d\n",*q);}//p.声明一个int型指针r,在堆中创建一个int型变量,为该变量赋初值,并将该变量的地址赋给该指针,打印出该变量的值,然后删除该变量。

int*r=new int(3);printf("指针r所指动态变量的值为:%d\n",*r);delete r;//q.声明一个本地类Point(可以用包含个int型变量和一个有参数构造函数的结构体表示)的指针s,在堆中创建一个Point类的对象,调用构造函数为该对象的两个数据成员赋初值和,并将该对象的地址赋给该指针,打印两个数据成员的值,然后删除该对象。

struct Point{int m_x,m_y;Point(int x,int y):m_x(x),m_y(y){}Point(){}};Point*s=new Point(3,4);printf("Point::m_x=%d,Point::m_y=%d\n",s->m_x,s->m_y);delete s;//r.声明一个int型指针t,在堆中创建一个个元素的int类型数组并将该数组的首地址赋给该指针,为三个数组元素分别赋值3、4、5,在一个循环中打印出所有元素的值,然后删除该数组。

int*t=new int[3];t[0]=3;t[1]=4;t[2]=5;for(int i=0;i<3;i++)printf("t[%d]=%d\n",i,t[i]);//s.声明一个本地类Point类的指针u,在堆中创建一个个元素的Point类的对象数组并将该数组的首地址赋给该指针,为三个数组元素分别赋值(1,2)、(3,4)、(5,6),在一个循环中打印该数组所有元素各个分量的值,然后删除该数组。

Point*u=new Point[3];u[0].m_x=1;u[0].m_y=2;u[1].m_x=3;u[1].m_y=4;u[2].m_x=5;u[2].m_y=6;for(int i=0;i<3;i++)printf("u[%d].x=%d,u[%d].y=%d\n",i,u[i].m_x,i,u[i].m_y);//t.用基本语法声明并创建一个个元素的一维托管整型数组B,并在一个循环中为其元素赋值0~9;array<int>^B=gcnew array<int>(10);for(int i=0;i<10;i++)B[i]=i;//u.在另一个循环中打印B所有元素的值。

for(int i=0;i<10;i++)Console::WriteLine("B[{0}]={1}",i,B[i]);//v.用初值表方式声明并创建一个个元素的一维托管整型数组C,并为其元素赋初值10~19;array<int>^C=gcnew array<int>(10){10,11,12,13,14,15,16,17,18,19}; //w.在一个循环中打印C所有元素的值。

for(int i=0;i<10;i++)Console::WriteLine("C[{0}]={1}",i,C[i]);//x.用数组C为数组B赋值。

B=C;//y.在一个循环中打印B和C所有元素的值。

for(int i=0;i<10;i++)Console::WriteLine("B[{0}]={1},C[{0}]={2}",i,B[i],C[i]);return0;}五、实验总结(包括心得体会、问题回答及实验改进意见,可附页)程序的屏幕输出如下:x=3&x=12f374*p=3p=12f374A[0]=0A[1]=1A[2]=2A[3]=3A[4]=4A[5]=5A[6]=6A[7]=7A[8]=8A[9]=9A=12f34cA=12f34cq[0]=0q[1]=1q[2]=2q[3]=3q[4]=4q[5]=5q[6]=6q[7]=7q[8]=8q[9]=9q+0=0q+1=1q+2=2q+3=3q+4=4q+5=5q+6=6q+7=7q+8=8q+9=9q=1,q++q=2,q++q=3,q++q=4,q++q=5,q++q=6,q++q=7,q++q=8,q++q=9,q++q--,q=9q--,q=8q--,q=7q--,q=6q--,q=5q--,q=4q--,q=3q--,q=2q--,q=1q--,q=0指针r所指动态变量的值为:3 Point::m_x=3,Point::m_y=4 t[0]=3t[1]=4t[2]=5u[0].x=1,u[0].y=2u[1].x=3,u[1].y=4u[2].x=5,u[2].y=6B[0]=0B[1]=1B[2]=2B[3]=3B[4]=4B[5]=5B[6]=6B[7]=7B[8]=8B[9]=9C[1]=11C[2]=12C[3]=13C[4]=14C[5]=15C[6]=16C[7]=17C[8]=18C[9]=19B[0]=10,C[0]=10B[1]=11,C[1]=11B[2]=12,C[2]=12B[3]=13,C[3]=13B[4]=14,C[4]=14B[5]=15,C[5]=15B[6]=16,C[6]=16B[7]=17,C[7]=17B[8]=18,C[8]=18B[9]=19,C[9]=19六、教师评语。

相关文档
最新文档