用c语言编写分段函数程序 编写一个函数f,将船如此函数的直角坐标值转换为极坐标值,并返回主调函数中。急求,多谢!

【图文】第3章 matlab 编程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第3章 matlab 编程
上传于||暂无简介
大小:565.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢printf(&%d,%d\n&quo;三、填空题;1.在C语言中,字符型数据和整型数据之间可以通用;出;2.&%-ms&表示如果串长;3.printf函数的“格式控制”包括两部分,它;4.编写程序求矩形的面积和周长,矩形的长和宽由键;#include&stdio.h&;voidmain();{floatl,w;;p
printf(&%d,%d\n&,y,z);
三、 填空题
1. 在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以
输出,也能以
2. &%-ms&表示如果串长小于m,则在m列范围内,字符串向
3. printf函数的“格式控制”包括两部分,它们是
4. 编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。
#include &stdio.h&
void main()
float l,w;
printf(“please input length and width of the rectangle\n”);
scanf(“%f%f”,&l,&w); area= girth=
‘0’所对应的整数就是0。请填空。
void main()
1. 将华氏温度转换为摄氏温度和绝对温度的公式分别为:
c= printf(“please input a char:\n”); c= n= printf(
,c,n); 5. 编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的整数存入n,如:字符5(f-32)
(摄氏温度) 9
k=273.16+c
(绝对温度)
请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:① f=34
2. 写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。转换公式是:
测试数据:① r=10
3. 写一个程序,按如下格式输出数据。
4. 输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
5. 输入一个3位整数,求出该数每个位上的数字之和。如123,每个位上的数字和就是1+2+3=6。
分支程序设计
一、 选择题
1. 若x=0,y=3,z=3,以下表达式值为0的是
B.x&y? 1:0
C. x%2&&y==z
D. y=x||z/3
2. 以下运算符中优先级最低的运算符为
,优先级最高的为
3. 若w=1,x=2,y=3,z=4,则条件表达式w&x?w:y&z?y:z的结果为
4. 若w,x,z均为int型变量,则执行以下语句后的输出为
w=3;z=7;x=10; printf(&%d\n&,x&10?x+100:x-10); printf(&%d\n&,w++||z++); printf(&%d\n&,!w&z); printf(&%d\n&,w&&z);
5. 分析以下程序, 下列说法正确的是
{ int x=5,a=0,b=0;
if(x=a+b) printf(&* * * *\n&);
printf(&# # # #\n&);
A. 有语法错,不能通过编译
B. 通过编译,但不能连接 C. 输出* * * *
D. 输出# # # #
6. 分析以下程序, 下列说法正确的是
{ int x=5,a=0,b=3;
if(x=a+b) printf(&* * * *\n&);
printf(&# # # #\n&);
} A. 有语法错,不能通过编译
B. 通过编译,但不能连接 C. 输出* * * *
D. 输出# # # #
7. 分析以下程序, 下列说法正确的是
{ int x=0,a=0,b=0;
if(x=a+b) printf(&* * * *\n&);
printf(&# # # #\n&);
} A. 有语法错,不能通过编译
B. 通过编译,但不能连接 C. 输出* * * *
D. 输出# # # #
8. 分析以下程序, 下列说法正确的是
{ int x=0,a=0,b=0;
if(x==a+b) printf(&* * * *\n&);
printf(&# # # #\n&);
} A. 有语法错,不能通过编译
B. 通过编译,但不能连接 C. 输出* * * *
D. 输出# # # #
include &stdio.h&
{ int a=-1,b=4,k;
k=(a++&=0)&&(!(b--&=0));
printf(&%d,%d,%d\n&,k,a,b);
{ int x=4,y=0,z;
printf(&%d&,x);
x*=(y==(z=4));
printf(&%d&,x);
{ int x,y,z;
x=3; y=z=4;
printf(&%d&,(x&=z&=x)?1:0);
printf(&%d&,z&=y && y&=x);
{ int x=1,y=1,z=10;
if(y&0) x=3;
printf(&%d\t&,x);
二、 读程序写结果
if(z=y&0) x=3;
else if(y==0) x=5;
printf(&%d\t&,x);
printf(&%d\t&,z);
{ char x=‘B’;
{ case ‘A’: printf(“It is A.”);
case ‘B’: printf(“It is B.”);
case ‘C’: printf(“It is C.”);
default: printf(“other.”);
{ int x=1,y=0,a=0,b=0;
{ case 1: switch(y)
{ case 0: a++;
case 1: b++;
case 2: a++;b++;
case 3: a++;b++;
printf(&a=%d,b=%d\n&,a,b);
三、 填空题
1. 若a=5,b=6,c=7,d=8,则表达式d=a/2&&b==c||!a的值为
int x=10,y,z;执行y=z=x;x=y==z后,变量x的值为
3. 分段函数:输入x,计算y值,输出y,其中:
x&0 y=2x+3
x&0,y=(x+7)/3
#include &stdio.h&
scanf(&%d&,&x);
包含各类专业文献、幼儿教育、小学教育、外语学习资料、文学作品欣赏、C语言习题集及答案38等内容。 
 C语言考试题库及答案_IT认证_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载|举报文档C语言考试题库及答案_IT认证_资格考试/认证_教育专区。C 语言理论上机...  C语言习题集及答案_IT/计算机_专业资料。c语言目 第一单元 第二单元 第三单元 第四单元 第五单元 第六单元 第七单元 第八单元 第九单元 录 程序设计和C语言...  C语言练习题(带详解答案)_其它_高等教育_教育专区。C语言复习题 一、 单项选择题 1. A )是构成 C 语言程序的基本单位。 ( A、函数 2.C 语言程序从 B、...  C语言练习题(带答案) 25页 2财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 C语言练习题参考答案 隐藏&& 完成...  C语言基础练习题及答案_IT认证_资格考试/认证_教育专区。很好的,做了之后很有收获 第一章 C 语言基础知识 ?1? 《C 语言程序设计》习题篇 第一章 C 语言...  C语言考试题及答案_从业资格考试_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载|举报文档 C语言考试题及答案_从业资格考试_资格考试/认证_教育专区。C 语言...  一、单项选择题(25 道小题,共 50 分) 1、以下说法中正确的是(C) 分) (2 A、 语言程序总是从第一个的函数开始执行 B、 C 语言程序中,要调用的函数...  非常好的C语言章节习题集带答案_IT认证_资格考试/认证_教育专区。第 1 章 认识 C 语言 二、习题(一) 、是非题 1.程序是指挥计算机进行各种信息处理任务的一组...  C语言经典例题及答案_哲学_高等教育_教育专区。39道c语言经典题有答案 作业一一、求一个任意边长的矩形面积。 #include &stdio.h& void main() {int w,h,...第一节& 用户坐标到屏幕坐标变换 &&& 1. 窗口到视口的变换 &&& 2. 实型值到整型值的变换 &&& 3. y坐标值方向变换 &&& 4. 长宽比例变换 第二节 二维几何变换 & 一、 基本变换 &&& 1、比例变换 &&& 2. 对称变换 &&& 3. 错切变换 &&& 4. 旋转变换 &&& 5. 平移变换 & 二、复合变换 &&& 1. 复合平移 &&& 2. 复合比例 &&& 3. 复合旋转 &&& 4. 相对点(xo,yo)的比例变换 &&& 5. 相对点(xo,yo)的旋转变换 && 从这一部分开始,进入了图形编程的比较烦琐的部分,要真正对图形编程有所了解,这一部分的内容是必须要掌握的。 && 在计算机绘图过程中,经常需要进行绘图变换,主要包括二维图形变换和三维图形变换。这一部分讨论二维图形变换,其内容有用户坐标到屏幕坐标的变换、图形的比例变换、对称变换、错切变换、旋转变换、平移变换和复合变换等。后面讲到了二维剪裁,即线段裁剪与多边形裁剪。 第一节& 用户坐标到屏幕坐标变换 &&&假设纸上有一个图形,要用计算机把它在屏幕上画出来。那么首先遇到的问题是,纸上的图形采用的坐标是实数域域中的直角坐标系或是极坐标系,统称为用户坐标系。而屏幕上采用的坐标系是整数域中直角坐标系,这类坐标系统称为设备坐标系。因此用户坐标系中图形需要经过变换才能绘制在屏幕上,显然这个变换的内容包括: 1)将用户坐标系中任意范围区域转换到屏幕某个范围区域,从而用户坐标系此范围区域内的图形也转换到屏幕上该范围区域内。 2)用户坐标系此区域内图形上的坐标值转换到屏幕上该范围区域内后不一定是整数,取整后才成为该范围区域内的屏幕坐标值。 3)用户坐标右手系到屏幕坐标左手系的坐标轴方向变换。 4)当屏幕坐标系水平方向与垂直方向刻度不等(即像素间距不等)时,为保持图形不走样,还要进行比例变换。下面介绍这些内容的具体计算问题。 1.窗口到视口的变换 && 更确切地说,是实际图形到屏幕图形的转换。有时也称为数据规格化。 && 在用户坐标系中,指定一矩形域以确定要显示(或绘制)的图形部分,这个矩形区域称为窗口。在屏幕上可任选一矩形域以显示(或绘制)窗口内的图形,该域称为视口。如图2-1所示。
&& 一般视窗口的四条边界分别为: && 左边界 x=x1、右边界 x=x2.下边界 y=y1,上边界y=y2。 && 视口的四条边界分别为: && 左边界sx=sx1,右边界sx=sx2,上边界sy=sy1,下边界sy=sy2。 && 经变换后应有,窗口的上边界线段(或下边界线段)长x2-x1变换成视口上边界线段(或下边界线段)长sx2-sx1。设其比例变换因子为k1,则可得 && k1*(x2-x1)=sx2-sx1 && k1=(sx2-sx1)/(x2-x1) &&&对窗口内任一x坐标(x1&=x&=x2)变换后为视口内水平方向sx坐标(sx1&=sx&=sx2)。由上述有: && k1*(x-x1)=sx-sx1 && sx=sx1+k1*(x-x1) &&&&&=sx1+(x-x1)*(sx2-sx1)/(x2-x1) && 同样,经变换后窗口的左边界线段(或右边界线段)长y2-y1变换成视口左边界线段(或右边界线段)长sy2-sy1。设其比例变换因子为k2,则可得 && k2*(y2-y1)=sy2-sy1 && k2=(sy2-sy1)/(y2-y1) && 对窗口内任一y坐标(y1&=y&=y2)变换后为视口内垂直sy坐标(sy1&=sy&=sy2),应有 &&&k2*(y-y1)=sy-sy1 &&&sy=sy1+k2*(y-y1) &&&& =sy1+(y-y1)*(sy2-sy1)/(y2-y1) &&&于是对窗口内图形上任一点坐标(x,y)变换到屏幕上视口内成为(sx,sy),则 &&&sx=sx1+(x-x1)*(sx2-sx1)/(x2-x1) &&&sy=sy1+(y-y1)*(sy2-sy1)/(y2-y1) &&&写成简式 &&&sx=k1*x+a &&&sy=k2*y+b 这里 &&&a=sx1-k1*x1 &&&b-sy1-k2*y1 &&&k1=(sx2-sx1)/(x2-x1) &&&k2=(sy2-sy1)/(y2-y1) 2. 实型值到整型值的变换 &&&上面对窗口内图形上任一点坐标(x,y)变换到屏幕上视口内成为(sx,sy), &&&sx=k1*x+a &&&sy=k2*y+b&&&&&&&&&k1,k2,a,b同上 &&&这样计算出来的sx,sy一般是实型值,而屏幕上视口内屏幕坐标是整型值,因此要将sx,sy实型值转换成屏幕坐标系的整型值。这可以通过四舍五入的方法将实型值的绝对值圆整化。由于C语言中已经替我们想到了这点,它提供的函数可以自动取整,因此用户在调用标准函数在屏幕上绘图时一般不需要考虑这个问题。当然也可以用赋值的类型转换规则来实现实型值到整型值的变换。 3. y坐标值方向变换 &&&一般屏幕坐标系是直角左手系,y轴方向向下为正,原点在屏幕的左上角,如图2-2所示。
阅读(...) 评论() &C语言实现直角坐标转换为极坐标 - 博客频道 - CSDN.NET
AnSwEr不是答案
看书,听歌,写代码。
分类:C/C++
& 需要利用数学库中的数学函数,废话不多说了,直接贴code:
#include&stdio.h&
#include&math.h&
#define RAD_TO_DEG (180/(4*atan(1)))//pi=4*atan(1)
typedef struct polar_y{
//与极点的距离
typedef struct rect_v{
POLAR_V rect_to_polar(RECT_V);
int main(void)
puts(&Enter x, y coordinates(enter q to quit): &);
while(scanf(&%lf %lf&, &input.x, &input.y)==2)
result=rect_to_polar(input);
printf(&magnitude=%0.2f, angle=%0.2f\n&, result.magnitude, result.angle);
puts(&BYE!&);
POLAR_V rect_to_polar(RECT_V rv)
pv.magnitude = sqrt(rv.x*rv.x+rv.y*rv.y);//开根
if(pv.magnitude==0)//位于极点
pv.angle=0.0;
pv.angle=RAD_TO_DEG * atan2(rv.y, rv.x);//atan2()返回弧度值,此为转换为角度的公式
& 先介绍以一下atan()接受一个double参数,即正切值,来返回角度值(为弧度,1弧度=180/pi=57.296度)。但是如果x,y都为负值,如x=-4,y=-4,x/y=1,那么结果为45度。
显然与真实结果不符合,幸好C库还提供atan2()函数,它与atan()不同之处在于检查参数符号。
& 如代码中一样,得到的结果还需要进行转换,给大家一个转换公式:角度=(弧度*180)/(4*atan(1))。(4*atan(1)=PI)
& 如果你在linux下编译,有可能会出现上图的错误,只需要在gcc编译时在最后加上-lm即可。
gcc还有一些选项是连接头文件和库的:
-lm:代表标准库目录中名为libm.a的库函数;如果有共享库,会自动选择。
-L:在当前目录查找库函数。
-I:包含保存在子目录活非标准位置中的头文件。
排名:千里之外
/AnSwErYWJ
(26)(12)(10)(25)(10)(5)(2)(5)(2)(1)(1)极坐标系下两函数之间怎么计算面积?数学公式打不出来,见图
jxhgfik4715
应为(-pi/6,pi/6)范围的积分,是(0,pi/6)积分2倍,因此约掉了1/2
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 c语言编写排序函数 的文章

 

随机推荐