黑脸艺术家 发表于 2022-2-27 16:26:09

大佬们帮忙看看哪里错了

#include<stdio.h>
int main()
{
        int a,h,S;//三角形的底,高和面积
        printf("请输入三角形的底和高:");
        scanf("%d,%d",&a,&h);
        S=1/2*a*h;//数学计算公式
        printf("该三角形的面积为:%d\n",S);
        return 0;
}

运行面积一直为0

傻眼貓咪 发表于 2022-2-27 16:31:18

将 int 改成 float 试试

傻眼貓咪 发表于 2022-2-27 16:35:24

#include <stdio.h>

int main()
{
    float a, h, S; // <--------- 改成 float
    printf("请输入三角形的底和高:");
    scanf("%f,%f", &a, &h); // <--------- 改成 %f
    S = .5*a*h; // <--------- 注意这里
    printf("该三角形的面积为:%f\n", S); // <--------- 改成 %f
    return 0;
}请输入三角形的底和高:3,5
该三角形的面积为:7.500000

isdkz 发表于 2022-2-27 16:36:48

因为整数跟整数相除得到的是整数,所以 1/2 得到的是 0,

你可以把 1/2 换成 0.5,或者换成 1/2.0,1.0/2,1.0/2.0 都行#include<stdio.h>
int main()
{
      int a,h,S;//三角形的底,高和面积
      printf("请输入三角形的底和高:");
      scanf("%d,%d",&a,&h);
      S=0.5*a*h;//数学计算公式
      printf("该三角形的面积为:%d\n",S);
      return 0;
}
页: [1]
查看完整版本: 大佬们帮忙看看哪里错了