一道简单的C语言有问题 30

题目是(在一个正方形里有个圆,圆的直径就是正方形的边长,输入半径,求出圆的面积+正方形的面积。)请帮忙改正下,要求用函数。#include<stdio.h>floatis... 题目是(在一个正方形里有个圆,圆的直径就是正方形的边长,输入半径,求出圆的面积+正方形的面积。)请帮忙改正下,要求用函数。

#include <stdio.h>
float isum(float radii,float pai);
void main()
{
float itotal=0,ifirst=0,isecond=o;
printf("请输入半径:\n");
scanf("%d %d",&ifirst,&isecond);
itotal=isum(ifirst,isecond);
printf("sum is %d",itotal);
}
float isum(float radii)
{
float iresult=0;
iresult =
return iresult;
}
展开
 我来答
sun_siliang
2011-12-22 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:5041万
展开全部
#include <stdio.h>
#define pai 3.1415926
float isum(float radii);
void main()
{
float itotal,ifirst;
printf("请输入半径:\n");
scanf("%f",&ifirst);
itotal=isum(ifirst);
printf("sum is %f\n",itotal);
}
float isum(float radii)
{
float iresult=0;
iresult =radii*radii*pai+4*radii*radii;
return iresult;
}

//运行情况:
请输入半径:
10
sum is 714.159241
请按任意键继续. . .
kaixingui2012
2011-12-22 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:7038万
展开全部
#include <stdio.h>
#define PAI 3.1415926

double isum(int radii);
int main()
{
double dtotal=0;
int iradii=0;
printf("请输入半径:\n");
scanf("%d",&iradii);
dtotal=isum(iradii);
printf("sum is %lf",dtotal);
return 0;
}
double isum(int radii)
{
double dresult=0;
dresult = PAI*radii*radii + 4*radii*radii ;
return dresult;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夕噷
2011-12-22 · 超过18用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:69.8万
展开全部
#include <stdio.h>
#define PI 3.14
float isum(float radii,float pai);
void main()
{
float itotal,ifirst;
printf("请输入半径:\n");
scanf("%d",&ifirst);
itotal=isum(ifirst);
printf("sum is %d",itotal);
}
float isum(float radii)
{
float iresult;
iresult =PI*radii*radii+radii*2*radii*2;
return iresult;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曹蓓cb
2011-12-22
知道答主
回答量:25
采纳率:0%
帮助的人:14.5万
展开全部
其实你只需要构建函数:使输入半径时,得到正方形的边长,即求出正方形的面积;得到圆的面积。两个加在一起即可。
#include <stdio.h>
#define M 3.14
float isum(float r)
{
float d;
float s1=0,s2=0,s=0;
d=r;
s1=M*r*r;
s2=(2*d)*(2*d);
s=s1+s2;
return s;
}
void main()
{
float ifirst,sum=0;
printf("请输入半径:\n");
scanf("%f",&ifirst);
sum=isum(ifirst);
printf("sum is %f",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ1829335891
2011-12-22
知道答主
回答量:42
采纳率:0%
帮助的人:18.1万
展开全部
我对你的题目的理解是:输入项只有1个,而输出项有两个(正方形面积和圆面积)。——当然我也有另一种理解,就是输入项是圆的半径,而输出项是正方形面积与圆面积的和。——拜托,提问时注意不要有歧义。

所以,思路有2:
1.设置两个函数,一个用于求圆面积,一个用于求正方形面积。
理由:如果只考虑使用基本变量,那么一个函数的返回值只能是一个,所以需要两个函数来返回两个值。
2.只设置一个函数,但是需要使用结构体,这样可以返回多个值。

根据你给出的代码,我想你大概只需要第一种思路的方法。代码如下:
#include <stdio.h>
double circleS(double r);
double recS(double a);
void main()
{
double r_circle;
double s_circle=0,s_rec=0;
printf("请输入半径:\n");
scanf("%lf ",&r_circle);
s_circle=circleS(r_circle);
s_rec=recS(r_circle);
printf("sum of circle is %lf, sum of rec is %lf",s_circle,s_rec);
}
double circleS(double r)
{
double iresult=3.14*r*r;
return iresult;
}
double recS(double r)
{
double iresult=(2.0*r)*(2.0*r);
return iresult;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式