c++第六章作业
- 格式:doc
- 大小:109.50 KB
- 文档页数:6
第6章函数和模块设计【习题6-1】更正下面函数中的错误。
(1)返回求x和y平方和的函数。
(2)返回求x和y为直角边的斜边的函数。
sum_of_sq(x,y) hypot(double x,double y){ {double x,y; h=sqrt(x*x+y*y);return(x*x+y*y); return(h);} }程序如下:/*c6_1(1).c*/ /*c6_1(2).c*/(1) (2)double sum_of_sq(double x,double y) double hypot(double x,double y) { {return(x*x+y*y); double h;} h=sqrt(x*x+y*y);return(h);}【习题6-2】说明下面函数的功能。
(1)itoa(int n,char s[ ])(2)int htod(char hex [ ]){ { int i,dec=0;static int i=0,j=0; for(i=0;hex[i]!='\0';i++)int c; { if(hex[i]>='0'&&hex[i]<='9') if(n!=0) dec=dec*16+hex[i]-'0';{ if(hex[i]>='A'&&hex[i]<='F') j++; dec=dec*16+hex[i]-'A'+10;c=n%10+'0'; if(hex[i]>='a'&&hex[i]<='f') itoa(n/10,s); dec=dec*16+hex[i]-'a'+10;s[i++]=c; }} return(dec);else }{ (3)void stod(int n)if(j==0) s[j++]='0'; { int i;s[j]='\0'; if(n<0){ putchar('-');n=-n;} i=j=0; if((i=n/10)!=0) stod(i);} putchar(n%10+'0');} }功能:(1)(略)(2)(略)【习题6-3】编写已知三角形三边求面积的函数,对于给定的3个量(正值),按两边之和大于第三边的规定,判别其能否构成三角形,若能构成三角形,输出对应的三角形面积。
1.t为int类型,进入下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是( B )(A) 循环控制表达式的值为0 (B) 循环控制表达式的值为1(C) 循环控制表达式不合法(D) 以上说法都不对2.有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是( D )。
(A) 自然数1~9的累加和 (B) 自然数1~10的累加和(C) 自然数1~9中的奇数之和(D) 自然数1~10中的偶数之和3.以下程序段的输出结果是( C )。
int x=3;do{ printf("%3d",x-=2); }while(!(- -x));(A)1 (B)30 (C)1 -2 (D)死循环4.以下程序中,while循环的循环次数是( D)。
main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}(A) 1 (B) 10(C) 6 (D) 死循环,不能确定次数5.下面程序的输出是( B )。
(A)741 (B)852 (C)963 (D)main(){int y=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}}}6.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( A )。
for (i=5;i;i--)for(j=0;j<4;j++){...}(A)20 (B)25 (C)24 (D)307.执行语句: for(i=l;i++<4;;);后,变量i的值是(C)。
(A) 3 (B) 4 (C) 5 (D) 不定8.假定a和b为int型变量,则执行以下语句后b的值为( D )。
《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。
#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
一、单项选择题1.下列决策哪些不属于短期决策(D)A.生产决策B.追加订货决策C.定价决策D.设备更新改造2.以下项目中不属于短期经营决策的是(D)A.在生产多种产品品种的情况下,如何实现产品的最优组合B.在自制零部件需要投入一定专属固定成本的情况下,对自制和外购方案进行选优C.寻找最佳的产品定价D.对联产品进一步加工所需要的新设备作出是否投资的决策3.下列决策那些不属于长期决策(D)A.扩建厂房B.更新设备C.新产品试制D.定价4.影响决策的因素不能肯定,且出现这种可能结果的概率也无法确切预计,这类型决策成为(B)A.确定型决策B.非确定型决策C.风险型决策D.定价决策5.按决策者所掌握的信息特点不同来分类,决策不包括(C)A.确定性决策B.风险性决策C.互斥方案决策D.不确定性决策6.某工厂经过一定工序加工后的半成品可立即出售,也可继续加工后再出售。
若立即出售可获利5 000元,继续加工后再出售可获利6 510元,则继续加工方案的机会成本为(B)A.1 510元 B.5 000元C.6 510元D.11 510元7.下列成本中属于决策无关成本的是(B)A.机会成本B.联合成本C.可分成本D.差别成本8.当企业生产能力有剩余时,不同产量的差别成本应主要考虑(B)A.总成本B.变动成本C.付现成本D.固定成本9.当企业的生产能力有剩余时,增加生产量会使得企业利润增加或亏损减少的条件是(B)A.增量的销售单价高于单位边际成本B.增量的销售单价高于单位产品成本C.增量的销售单价高于基础生产量的销售单价D.增量的销售单价高于每单位产品固定成本分摊数10.用统一设备生产甲产品还是乙产品的选择是通过比较甲、乙两种产品的________来进行的。
(A)A.边际贡献B.单价C.变动成本D.销售量11.对亏损的B产品是否停产,应根据下面方法来决策(C)A.看B产品亏损数是否能由盈利产品来弥补,如能弥补,继续生产B.B产品亏损数如能由盈利产品来弥补,也应停止生产C.B产品的边际贡献如为正数,不应停止生产D.B产品的边际贡献如为正数,应停止生产12.生产能力无法转移时,亏损产品满足________条件时,应当停产。
《控制工程基础C》作业——适用于测控技术与仪器专业(48学时,含6学时实验)说明:以胡寿松主编《自动控制理论简明教程》为教材,习题的页码以该教材为准。
第一章自动控制概论(参考教材第一章控制系统导论)1-1(P14,1-1)图1-16是液位自动控制系统原理示意图。
在任意情况下,希望液面高度c维持不变,试说明系统工作原理并画出系统方块图。
图1-16 液位自动控制系统1-2(P16,1-5)图1-5是电炉温度控制系统原理示意图。
试分析系统保持电炉温度恒定的工作过程,指出系统的被控对象、被控量以及各部件的作用,最后画出系统方块图。
图1-5 温度控制系统的原理图第二章 控制系统的数学模型(参考教材第二章控制系统的数学模型) 2-1(P81,2-5)设弹簧特性由下式描述:F=12.65y 1.1,其中,F 是弹簧力;y 是变形位移。
若弹簧在形变位移0.25附近作微小变化,试推导Δy 的线性化方程。
2-2(P81,2-7)设系统传递函数为:2()2()32C s R s s s =++,且初始条件 (0)1(0)0c c =-=, 。
试求阶跃输入r (t )=1(t )时,系统的输出响应c (t )。
2-3(P81,2-8)如图,已知G(s)和H(s)两方框相对应的微分方程分别是:()610()20()dc t c t e t dt += ()205()10()db t b t c t dt+=且初始条件均为零,试求传递函数C(s)/R(s)及E(s)/R(s)。
2-4(P82,2-11(a )(b )(c ))已知控制系统结构图如图所示。
试通过结构图等效变换求系统传递函数C(s)/R(s)。
(a )(b )(c )2-5(p82,2-12(a ))试简化图中的系统结构图,并求系统传递函数C(s)/R(s)和C(s)/R(s)。
()N s2-6(p83,2-15(b )、(c ))试用梅森增益公式求图中各系统信号流图的传递函数C(s)/R(s)。
第六章作业参考答案第六章 存货决策5. 在存货决策中,( B )可以不考虑。
固定订货成本C.变动订货成本A. 采购部门的折旧费7.由于存货数量不能及时满足生产和销售的需要而给企业带来的损失称 为(B )。
A. 订货成本 C.米购成本8.在储存成本中,凡总额大小取决于存货数量的多少及储存时间长短的 成本,称为(C )。
、单项选择题 1 .下列各项中,与经济订货量无关的是( D )。
A •每日消耗量B .每日供应量C .储存变动成本D .订货提前期 2 .某公司使用材料A ,一次订货成本为2000元,每单位采购成本为50元, 经济订货批量为2000个,单位资本成本为单位采购成本的10%,全年用量为 8000个。
该材料单位储存成本中的付现成本是( B )元。
3.某商品的再订购点为680件,安全存量为200件,采购间隔日数为12 天,假设每年有300个工作日,则年度耗用量为(C )件。
A . 11000B . 10000C . 12000D . 130004. ( D )不是存货的形式。
A .原材料B .在产品C .产成品D .应收账款6.下列各项中,不属于订货成本的是()。
C.按存货价值计算的保险费 差旅费变动储存成本 A.订货成本 检验费.缺货成本 .储存成本二、多项选择题1. 当采购批量增加时,(AD )。
A.变动储存成本增加 B .变动储存成本减少 C •变动订货成本增加D.变动订货成本减少2. 按存货经济订购批量模型,当订货批量为经济批量时, (ABCD )。
A. 变动储存成本等于变动订货成本B. 变动储存成本等于最低相关总成本的一半C. 变动订货成本等于最低相关总成本的一半D. 存货相关总成本达到最低3. 计算经济订购批量时,不需用的项目是( BD )。
A.全年需要量 B .固定储存成本 C.每次订货成本D.安全存量4. 在存货经济订购批量基本模型假设前提下确定经济订购批量,下列表述 中正确的有(ABCD )。
6-22、编写函数void reverse(string&s),用递归算法使字符串倒序。
(方法一)
#include <iostream>
#include <string>
using namespace std;
string reverse (string&s)
{
if(s.length()>1)
{
string s1=s.substr(1,s.length()-2);
return s.substr(s.length()-1,1)+reverse(s1)+s.substr(0,1);
}
else
return s;
}
void main()
{
string str;
cout<<"please input a string:";
cin>>str;
cout<<"the sorted string is:"<<reverse (str)<<endl;
}
输出结果:
方法二:
#include <iostream>
#include <string>
using namespace std;
string reverse (string&s)
{
int i;
string s1;
if(s.length()>1)
{
for(i=1;i<=s.length();i++)
{
s1=s1+s.substr(s.length()-i,1);
}
}
return s1;
}
void main()
{
string str;
cout<<"please input a string:";
cin>>str;
cout<<"the sorted string is:"<<reverse (str)<<endl;
}
输出结果为:
6-24、基于char*设计一个字符串类MyString,并且具有构造函数,析构函数,复制构造函数,重载运算“+”,“=”,“+=”,“【】”,尽可能完善它,是指满足各种需要(运算重载功能选做,参见第八章)。
#include <iostream>
#include <string>
using namespace std;
class MyString
{
public:
MyString(string a){str1=a;}
MyString(MyString &m)
{cout<<"复制构造函数被调用"<<endl;}
string getstr1();
~MyString(){}
private:
string str1;
};
string MyString::getstr1()
{
return str1;
}
void main()
{
MyString m1("testing");
cout<<"m1 is:"<<m1.getstr1()<<endl;
char *p="My name is Lily";
m1=(MyString)p;
cout<<"changing......"<<endl;
cout<<"m1 is:"<<m1.getstr1()<<endl;
}
输出结果为:
6_25编写一个3x3矩阵转职的函数,在main函数中输入数据。
#include <iostream>
using namespace std;
void transform(int tab[3][3])
{
int i,j,p;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
p=tab[i][j];
tab[i][j]=tab[j][i];
tab[j][i]=p;
}
}
void main()
{
int i,j,count=0;
int row[3][3];
cout<<"please input 9 numbers:"<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
cin>>row[i][j];
}
cout<<"输入的矩阵为:"<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
cout<<row[i][j]<<" ";
cout<<endl;
}
transform(row);
cout<<"转置后的矩阵为:"<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<row[j][i]<<" ";
cout<<endl;
}
}
输出结果为:
6-27:定义一个Employee类,其中包含姓名,地址,城市和邮编等属性,包括setName()和display()等函数,display()使用cout语句显示姓名,地址,城市和邮编等属性,函数setName()改变对象的姓名属性,实现并测试这个类。
#include <iostream>
#include <string>
using namespace std;
class Employee
{
public:
Employee(string name,string add,string city,string mail)
{
Name=name;
Add=add;
City=city;
Mail=mail;
}
string setName()
{
cout<<"please input name:";
cin>>Name;
return Name;}
string setadd()
{
cout<<"please input address:";
cin>>Add;
return Add;}
string setcity()
{
cout<<"please input city:";
cin>>City;
return City;}
string setmail()
{
cout<<"please input mail:";
cin>>Mail;
return Mail;}
void display()
{
cout<<"the information of you are:"<<endl;
cout<<"name:"<<Name<<" "<<"address:"<<Add<<" ";
cout<<"city:"<<City<<" "<<"mail:"<<Mail;
}
private:
string Name,Add,City,Mail;
};
void main()
{
Employee e("Lily","nanjin2haolu","nanjin","413000");
e.setName();
e.setadd();
e.setcity();
e.setmail();
e.display();
}
输出结果:。