| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 485 人关注过本帖
标题:新手报到,大仙帮忙看一下函数调用问题出在哪?
只看楼主 加入收藏
sunfragrance
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-4-17
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
新手报到,大仙帮忙看一下函数调用问题出在哪?
#include <stdio.h>
void areaofrect(){
    int x,y;
    int z=x*y;
   
    printf("请输入长和高:");
    scanf("%d %d",&x,&y);
    printf("长方形的面积为z=%d\n",z);
   

}
void areaoftriangle(){
    int m,n;
       double v=0.5*m*n;
      
           printf("请输入底和高:");
    scanf("%d %d",&m,&n);
    printf("三角形的面积为v=%.3f\n",v);
 
}
double pi(){
       double p=3.1415;
       return p;
}
void areaofround(){
       int r;
       double s=r*r*pi();
      
           printf("请输入圆的半径:");
    scanf("%d",&r);
    printf("长方形的面积为s=%.3f\n",s);
           
}
void main(){
    int select;
    printf("0.退出\n1.求长方形的面积\n2.求三角形的面积\n3.求圆的面积\n");
    printf("请输入你要进行的操作的序号:");
    scanf("%d",&select);

    do{
        if(select==0){break;}
        switch(select)
        {
        case 1:areaofrect();break;
        case 2:areaoftriangle();break;
        case 3:areaofround();break;
        default:printf("输入有误,请在0-3中选择\n");
        }
    }while(select<=3||select>=0);
        

}
运行之后数据溢出,而且还是循环下去。。。大神求教啊。。。
搜索更多相关主题的帖子: include double return 长方形 三角形 
2014-04-17 21:41
thidea
Rank: 2
等 级:论坛游民
帖 子:8
专家分:22
注 册:2014-3-17
收藏
得分:5 
去掉do while和if试试
default就已经包含不是1,2,3的情况了,不需要do while了
个人愚见,
2014-04-17 22:51
thidea
Rank: 2
等 级:论坛游民
帖 子:8
专家分:22
注 册:2014-3-17
收藏
得分:5 
我知道问题在哪了
你是先写公式再赋值,顺序搞错了
2014-04-17 23:07
thidea
Rank: 2
等 级:论坛游民
帖 子:8
专家分:22
注 册:2014-3-17
收藏
得分:10 
#include <stdio.h>

void areaofrect()
{
    int x,y;
    printf("请输入长和高:");
    scanf("%d %d",&x,&y);
    int z=x*y;
    printf("长方形的面积为z=%d\n",z);
}

void areaoftriangle(){
    int m,n;
   
    printf("请输入底和高:");
    scanf("%d %d",&m,&n);
    double v=0.5*m*n;
    printf("三角形的面积为v=%.3f\n",v);

}
double pi(){
       double p=3.1415;
       return p;
}
void areaofround(){
       int r;

      
    printf("请输入圆的半径:");
    scanf("%d",&r);
    double s=r*r*pi();
    printf("长方形的面积为s=%.3f\n",s);
           
}
void main(){
    int select;
    printf("0.退出\n1.求长方形的面积\n2.求三角形的面积\n3.求圆的面积\n");
    printf("请输入你要进行的操作的序号:");
    scanf("%d",&select);

    switch(select)
    {
    case 1:areaofrect();break;
    case 2:areaoftriangle();break;
    case 3:areaofround();break;
    default:printf("输入有误,请在0-3中选择\n");
    }
}
2014-04-17 23:10
sunfragrance
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 4 楼 thidea
非常感谢啊,终于知道问题了。。。
2014-04-18 08:31
sunfragrance
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 3 楼 thidea
哦哦,和四楼的大神一个意思,谢啦。。。继续合作哈
2014-04-18 08:32
快速回复:新手报到,大仙帮忙看一下函数调用问题出在哪?
数据加载中...
 
   



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

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