简单的C语言,程序是正确的,但我不知道出了什么问题? 向师傅征求意见。

发布于 科技 2024-06-10
10个回答
  1. 匿名用户2024-01-29

    以下 ** 应该是正确的。

    评论中解释了这些更改。

    #include

    const int n=5;

    void extrm(int a,int n,int *max,int *min);

    void main()

    int a[n];

    int i = 0;

    printf("请输入五个整数:");

    for(i=0;ia[i])这里有一个逻辑错误。

    min=a[i];

  2. 匿名用户2024-01-28

    #include

    在此处定义 N 5。

    void extrm(int a,int n,int *max,int *min);

    void main()

    int a[n];

    int m,n;

    int i;变量应该首先在使用中定义,而不是在中间定义。

    printf("请输入五个整数:");

    for(i=0;ia[i])

    min=a[i];

    就是现在。

  3. 匿名用户2024-01-27

    你用的第7行后面的引号是全角的,应该用半角的,对应第一个引号,我扫描了一下程序,应该还是有一些问题的。

  4. 匿名用户2024-01-26

    错误在于这句话:

    if (p[i+j]!='*'a[i++]=p[i+j]其实用来给数组a写顺序字符的下标i,和用来遍历数组p的下标i+j,应该不会互相影响,但是在你的程序中,i是自递增的,导致后面的p[i+j]跳过一些字符,而不是一个个遍历。

    正确的做法是使用单独的下标来处理数组 a。

    void fun(char *a)

    n = i;n 表示前导 * 符号末尾的位置和实际有效字母开头的位置。

    for(j=0;p[i+j] != '\0';j++)a[n]='\0';在数组 a 的末尾写 0 个字符的结尾 }

  5. 匿名用户2024-01-25

    printf("%.2f%f",fa,db);

    由于浮点数据具有默认的位数,并且后面的数据通常不准确,因此最好自己使用它来精确精确小数位数。

  6. 匿名用户2024-01-24

    问题超出了浮点数的范围,浮点数为 4 个字节,双精度为 8 个字节。

    浮点数的范围是 -2 128 2 128,即双倍的范围是 -2 1024 2 1024,即

    这意味着浮点数不能超过 7 个有效数字,而 double 不能超过 16 个有效数字。

    房东的 fa = 超过 7 位,所以有错误。

  7. 匿名用户2024-01-23

    浮动具有双倍的范围和精度。

    1.范围。

    float 和 double 的范围由索引的位数决定。

    浮点数有 8 位数字,双精度值有 11 位数字,分布如下:

    float:

    1bit(符号位)、8bit(指数位)、23bit(尾数位)。

    double:

    1bit(符号位)、11bit(指数位)、52bit(尾数数字)。

    因此,float 的指数范围为 -127 +128,而 double 的指数范围为 -1023 +1024,指数数字除以补码。

    其中负指数确定浮点数可以表示的具有最小绝对值的非零数; 正指数确定浮点数可以表示的绝对值最大的数字,即确定浮点数的值范围。

    浮点数的范围是 -2 128 2 128,即双倍的范围是 -2 1024 2 1024,即

    2.精度。

    float 和 double 的精度由尾数的位数决定。 浮点数按照科学记数法存储在内存中,其整数部分始终是隐含的“1”,由于不变,因此不会影响精度。

    float:2 23 = 8388608,总共 7 位,表示最多可以有 7 位有效位,但绝对保证是 6 位,即浮点数的准确率为 6 7 位;

    double:2 52 = 4503599627370496,共 16 位,同理,double 的精度为 15 16 位。

    我想收养,谢谢!

  8. 匿名用户2024-01-22

    错误 ** 是这句话 s=1 2*(a+b+c); 乘法和除法的优先级相同,程序等价于s=(1 2)*(a+b+c); 默认情况下,1 和 2 都是整数,即 (1 2) 是 0,所以无论 (a+b+c) 是什么,s 都等于 0

    你可以把 1 或 2 修改为或程序认为 (1 2) 是一个浮点数,并且值只是弯曲,这样就可以计算出正确的结果。

    #include

    #include

    main()

    float a,b,c,area,s;

    scanf("%f%f%f",&a,&b,&c);

    s=(;area=sqrt(s*(s-a)*(s-b)*(s-c));

    printf("%f%f",s,area);

    结果如下:

  9. 匿名用户2024-01-21

    您好,**没有错,只是当你输入重力时,输入格式没有按要求输入重力g,正确的输入g应该是这样的,请看下图。

    希望对你有所帮助。

  10. 匿名用户2024-01-20

    scanf 并输出 a b c 以查看它是否是您输入的值。 scanf 中的格式字符串直接尝试使用 %d%d%d。

相关回答
8个回答2024-06-10

房东你好。 替换为以下内容**:

#include >>>More

13个回答2024-06-10

1.打开Visual Stdio软件,在空项目中新建一个C语言程序的空文件 >>>More

4个回答2024-06-10

这是我的书名:

问题:输入 2 个整数,计算并输出它们的总和、差值、乘积和商。 要求程序输入不同的数据并运行两次。 >>>More

14个回答2024-06-10

我同意我楼上说的加{}来划分级别,但是,其实没有{},看看你发的这个**的缩进关系,也可以看出if和else的对应关系。 >>>More

3个回答2024-06-10

#include

void fun1(int n) >>>More