| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 354 人关注过本帖
标题:向高手求助!! 我好几个程序都遇到的类似的声明问题...
只看楼主 加入收藏
theperfact
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2009-8-8
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
向高手求助!! 我好几个程序都遇到的类似的声明问题...
求两个坐标间的距离:
#include <stdio.h>
#include <conio.h>
#include <math.h>
struct ss
{ int x;
  int y;
};
float san(struct ss *p1 ,struct ss *p2)
{int z;
z=(float)sqrt((p2->x-p1->x)*(p2->x-p1->x)+(p2->y-p1->y)*(p2->y-p1->y));
return(z);
}
main()
{   
      struct ss *p1;
      struct ss *p2;  
      float l;
printf("x1=");  scanf("%-3d",&p1->x);
printf("y1=");  scanf("%-3d",&p1->y);
printf("x2=");  scanf("%-3d",&p2->x);
printf("x2=");  scanf("%-3d",&p2->y);
l=san(p1,p2);
printf("l=%ld",fabs(l));
getch();
}
搜索更多相关主题的帖子: 声明 
2009-08-16 20:43
prankmoon
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:161
专家分:921
注 册:2009-7-21
收藏
得分:20 
以下是我写的代码,并附上我的编程体会,希望能够对你有所帮助:
程序代码:
#include <stdio.h>
#include <conio.h>
#include <math.h>

struct POINT            // 应该给结构取一个有意义的名字
{
    int x;
    int y; 
}; 

float get_distance(struct POINT *p1, struct POINT *p2)
{
    float z;            // 这里的z应该为float型,否则,你的 return z 会有问题
    
    z = (float)sqrt((p2->x - p1->x)*(p2->x - p1->x)
                  + (p2->y - p1->y)*(p2->y - p1->y));
    
    return z;
}

int main(void)          // 如果函数不需要参数,就使用void显式说明不需要
{
    struct POINT p1;    // 不要用指针,否则你需要给这个指针所指的对象分配空间
    struct POINT p2;  
    float distance;     // 永远不要用字符'l'(小写L)作为变量名
    
    printf("x1 = ");    // 每个语句单独写一行
    scanf("%3d", &p1.x);// 参数之间用一个空格隔开

    printf("y1 = ");
    scanf("%3d", &p1.y);

    printf("x2 = ");
    scanf("%3d", &p2.x);

    printf("y2 = ");
    scanf("%3d", &p2.y);
    
    distance = get_distance((struct POINT *)&p1, (struct POINT *)&p2);
    printf("distance = %f\n", fabs(distance));
    
    getch();
    return 0;           // 使用现代风格的return
} 

输入与输出:
x1 = 1
y1 = 2
x2 = 2
y2 = 1
distance = 1.414214

建议:
    翻翻林锐博士的《高质量C++/C编程指南》

[ 本帖最后由 prankmoon 于 2009-8-17 12:36 编辑 ]
2009-08-17 12:33
theperfact
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2009-8-8
收藏
得分:0 
谢谢你的回到问题懂了
那本书现在还看不了吧,C++还没看过。
我刚看过一本入门书,但发现网上的程序都看不懂很多不认识的东西,不知道再看那本书全面详细点,给个建议谢谢。
2009-08-19 17:41
快速回复:向高手求助!! 我好几个程序都遇到的类似的声明问题...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024508 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved