c语言求高手解答~

(一)给出A,B两点的坐标,以及第三个点(X,Y),判断第三个点是否在直线AB上,是则输出Yes,否则输出No[ExampleInput]442288[ExampleOu... (一)给出A,B两点的坐标,以及第三个点(X,Y),判断第三个点是否在直线AB上,是则输出Yes,否则输出No

[Example Input]

4 4

2 2 8 8

[Example Output]

Yes

刚开始学 最好只有main函数这种
(二)输入一个整数,从最高位起依次输出每一位上的数字,用空格隔开。

Input sample
3
1256
0
1545

Output
1 2 5 6
0
1 5 4 5
Note: If you have any question on the description, please send an email to its author.

Hint:
第一行输入应为一个整数,表示要输入数字的个数。
第二行开始输入所需操作的数字。
展开
 我来答
920754403ud
2013-10-29
知道答主
回答量:22
采纳率:0%
帮助的人:15.8万
展开全部
#include < stdio.h >
main ( void )
{
double n1, n2, dslope, dslope_n;
double a1 = 2.0, a2 = 2.0; //第一个点坐标
double b1 = 8.0, b2 = 8.0; //第二个点坐标
dslope = 1.0; //直线斜率
printf ( "请输入点的坐标( 中间用空格隔开 ):" );
scanf ( "%lf %lf", &n1, &n2 );
dslope_n = n1 / n2;
if ( dslope_n == 1.0 )
printf ( "Yes\n" );
else
printf ( "No\n" );
}
更多追问追答
追问
- -  求第二题啊亲
追答

等下,我把代码再优化下,马上就好

#include < stdio.h >

#include <math.h>

main ( void )

{

int n, i, j, k, temp, number, digits;

printf ( "要输入多少个数?:" );

scanf ( "%d", &n ) ;

for ( i = 0; i < n; i++ )

{

printf ( "输入的第%d个数是:", i + 1);

scanf ( "%d", &number );

digits = 0;

for ( j = 1; number / j > 0 ; j *= 10 )

digits++;

printf ( "分解后为:" );

for ( k = digits; k > 0; k-- )

{

temp = ( int ) pow ( 10, k - 1 );

printf ( "%3d", number / temp % 10 );

}

printf ( "\n" );

}

return 0;

}

测试结果截图:

匿名用户
2013-10-29
展开全部
第一题可以这样写:
int main()
{
float x1,x2,x3,y1,y2,y3;

scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,y3&);

if((y3-y1)/(x3-x1) == (y2-y1)/(x2-x1))//判断斜率
{

printf("yes");
}else{
printf("no");

}
return 0;

}//没有c语言编译器,不确定正确性,见谅
第二题没看懂
追问

追答
scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,y3&);改为scanf("%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3);

你试试,我这没有编译器,不好意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式