C程序查找区域
C program to find area
我对以下代码有问题:
#include<stdio.h>
#include<conio.h>
float area_crcl(int);
float area_rect(int,int);
void main()
{
int n,a,b,r;
float area;
clrscr();
printf("nEnter your choice-n1.Area of circlen2.Area of Squaren3.Area of Rectanglen");
scanf("%d",&n);
switch(n)
{
case 1:printf("nEnter the radius of circle..n");
scanf("%d",&r);
area=area_crcl(r);
printf("nArea of circle is %dn",area);
break;
case 2:printf("nenter the edge of squaren");
scanf("%d",&a);
area=area_rect(a,a);
printf("nArea of square is %dn",area);
break;
case 3:printf("nenter the lenght n breadth of rectanglen");
scanf("%d%d",&a,&b);
area=area_rect(a,b);
printf("nArea of rectangle is %dn",area);
break;
default:printf("nU entered wrong choice..n");
}
getch();
}
float area_crcl(int r)
{
float area;
area=3.14*r*r;
return area;
}
float area_rect(int a,int b)
{
float area;
area=a*b;
return area;
}
我得到的输出是:
输入您的选择-1.圆的面积2.广场面积3.矩形面积1
输入圆的半径。。2
圆的面积为0
为什么我得到0作为输出?
您的打印声明是:
printf("nArea of circle is %dn",area);
area
是float
,您使用的是%d
格式的字符串,它用于int
变量。这不起作用——使用%e
、%f
、%g
或%a
。
对于浮点,请在printf中使用%f。一般来说,要非常小心地将printf中的%与传递的参数相匹配。没有进行检查,这完全由程序员负责
printf("nArea of circle is %fn",area);
您正在使用%d
打印float
,这是您的问题。
除了你的错误还有一件事:
只是不要被conio.h
卡住,好吧。。。继续生活:)
printf("圆的面积是%d\n",面积);
区域是浮动的,所以上面的语句将不起作用,请使用下面的正确语句:
printf("圆的面积是%f\n",面积);
area
的类型为float
,您正在使用%d
说明符来打印它。功能
area_rect()
area_crcl()
两者都返回分配给area
的浮点值(也是浮点值)
更改
printf("nArea of circle is %dn",area);
至
printf("nArea of circle is %fn",area);
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 在C++中查找文件
- 模板元程序查找相似的连续类型名称
- 在UNIX系统中使用DIR查找文件的字节大小
- 查找最接近的大于当前数字的数字的索引
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 查找后更改类变量
- 使用正则表达式regex_search在字符串中查找字符串
- 使用gcc从静态链接的文件中查找可选符号
- 在C++中查找范围的长度
- 算法问题:查找从堆栈中弹出的所有序列
- 查找要填充区域的矩形的大小
- 查找每个连接组件区域的邻域
- 查找一个区域中未包含在另一个区域中的第一个元素
- 用于在黑白图像上查找未连接区域(岛屿)的算法
- 使用区域设置查找字符串中的子字符串
- 在矩阵c++中查找区域
- C程序查找区域
- 在二维数组的矩形区域内查找最大值的快速方法
- 查找排序区域中元素数量的最快方法是什么?