为什么无论输入什么半径输出结果总为0

#includeint main()
double r;double s;
printf("请输入圆的一个半径r:\n"); scanf("%f",&r); s =3.1415926rr; printf("s=%f", s);

double类型的数据输入应该用"%lf",而不是"%f"。

修改后的代码如下,如果有用,望采纳,谢谢!

#include <stdio.h>

int main() {
    double r;
    double s;
    printf("请输入圆的一个半径r:\n");
    scanf("%lf",&r);
    s =3.1415926*r*r;
    printf("s=%f", s);
    return 0;
}

img

该回答引用ChatGPT

这段C++代码中存在多个问题:

缺少头文件,应该添加头文件来支持输入输出函数。
变量r的类型声明应该为double,而不是int。
输入时使用了%f格式符,但变量r的类型是double,应该使用%lf格式符。
计算面积的公式应该是s = 3.1415926 * r * r,而不是s = 3.1415926rr,因为乘号*是必须的。
输出结果时没有换行符,应该在字符串末尾添加\n来换行。
以下是修改后的代码:


#include <cstdio>

int main() {
  double r;
  double s;

  printf("请输入圆的一个半径r:\n");
  scanf("%lf", &r);

  s = 3.1415926 * r * r;
  printf("s=%f\n", s);

  return 0;
}

现在输入正确的半径,程序应该可以正确计算圆的面积并输出结果。