首页 > 电脑

编程问题c语言

更新时间2021-07-07 01:16:08

#include <stdio.h>
#define n 3.141926
main()
{
double r,l,s;
printf("请输入这个圆的半径: ");
scanf("%f",&r);
l=2*n*r;
printf("周长等于%f",l);
s=n*r*r
printf("面积等于%f",s);
return 0;
}
哪里有问题??

程序能够运行了:

编程问题c语言
修改后的程序如下:
#include <stdio.h>
#define n 3.141926
int main()
{
double r,l,s;
printf("请输入这个圆的半径: ");
scanf("%lf",&r);
l=2*n*r;
printf("周长等于%f",l);
s=n*r*r;
printf("面积等于%f",s);
return 0;
}
解析:
程序疏忽只在于double型变量只能用%lf在scanf输入(而float变量只能用%f输入)。另外,double变量可以用%f或%lf在printf输出,float变量只能用%f输出。

前面定义的double类型与%f冲突,要么double改float,要么%f全改%lf

s=n*r*r的地方要加上分号:s=n*r*r;

这是初学者常犯的错误,平常可以看看下面的报错信息,双击后错误的一行会变红色,在下面编译结果的地方找到“列”下面对应的数字,找到那一列,进行修改(可以自己看英文找错因)

望采纳

第五行:要么把double改为float

要么,把输出中的%f都改为%lf

另外,第十行少了“;”符号


相关标签:c语言

上一篇:想做u盘启动,我先下载电脑镜像,然后制作u盘启动,下载好了镜像直接拷贝u盘还是先压缩在拷贝U盘

下一篇:云控系统到底好不好用?