| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 976 人关注过本帖
标题:新手学 c ,运行出错,麻烦帮忙看一下
取消只看楼主 加入收藏
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
结帖率:69.23%
收藏
已结贴  问题点数:5 回复次数:5 
新手学 c ,运行出错,麻烦帮忙看一下
/*按下列要求改写上述程序:
试编一个求三角形面积的自定义函数triangle(),在main函数中两次调用该函数求三边分别为3、4、5及2、5、6的三角形面积并输出。
要求:1)第一次将调用结果赋给一个变量,再打印该变量的值;
      例如:s=area(3,4,5);
            printf("该三角形的面积为:",s);
2)第二次将函数调用作为printf函数的参数直接输出。
例如:printf("该三角形的面积为:%.2f\n",area(3,4,5));*/
#include <stdio.h>
#include <math.h>
void main()
{    double triangle(double a,double b,double c);
    double area(double a,double b,double c,double s);
    double a,b,c,s,m;
    printf("input data for triangle:");
    scanf("%f,%f,%f",&a,&b,&c);
    s=triangle(a,b,c);
    scanf("%f",&s);
    m=area(a,b,c);
    printf("\n");
}
double triangle(double a,double b,double c)
{    double s;
    if(a+b>c && a+c>b && b+c>a)        
    s=(a+b+c)/2;
    printf("%f\n",s);
    return s;
}
double area(double a,double b,double c,double s)
{   double m;
    m=sqrt(s*(s-a)*(s-b)*(s-c));
   printf("该三角形的面积为:%.2f\n",m);
   return m;
}
搜索更多相关主题的帖子: triangle include double 三角形 
2014-04-20 19:41
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 3 楼 ying8501
为什么s和m要赋初值啊,赋值后有什么意义啊
2014-04-20 21:43
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 2 楼 Andrew_Lee
恩,这是一个错误,可是改了之后还是不行,结果只输出了s没有输出m
2014-04-20 21:56
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 5 楼 ying8501
恩,这个知道了,
现在主要问题是结果不能输出m啊,结果只显示S,
2014-04-20 22:46
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
/*要求随机产生10个3位以内整数放入一维数组arr[ ]中,并用选择排序法对这10个数降序排列,程序中存在若干错误,请改正这些错误并把程序补充完整后上机调试通过。*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define size 10
void main()
{  int i,j,k,temp,arr[size];
   srand((unsigned) time(NULL));
   for(i=0;i<size;i++)
      arr[i]=rand()%1000;
  printf("排序前的10个数:\n");
  for(i=0;i<size;i++)
  printf("%5d",arr[i]);
   printf("\n");
  for(i=0;i<size;i++)
   {  k=0;
       for(j=i;j<size;j++)
       {  if(arr[j]>arr[k])
           temp=arr[j],arr[j]=arr[k],arr[k]=temp;
       }
       arr[i]=a[k];
    }
  printf("排序后的10个数:");
    for(i=0;i<size;i++)
       printf("%5d",arr[i]);
  printf("\n");
}

那这个呢?寻寻觅觅总有一个错误~~~
2014-04-24 13:25
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 11 楼 wp231957
好的。
2014-04-24 22:22
快速回复:新手学 c ,运行出错,麻烦帮忙看一下
数据加载中...
 
   



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

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