刚开始学C语言求解,咋错了?

img

img

你scanf 输入应该加上分隔符不然读取会出错,两个%d之间应该加个空格,另外第五行2和a之间少了乘号

img

2*a,不是2a

试试去掉输出末尾的\n
提交后报错是什么,截图看一下?
算式应写为
s=(2*a-b+1)*b/2;
数字与变量相乘中间应写乘号,直接写为2a是错误的
有帮助望采纳

2a不对,应该是2*a

#include<stdio.h>

int main() {
   int a,b,s;
   scanf("%d%d",&a,&b);
   s=(2*a-b+1)*b/2;
   printf("%d\n",s);
   return 0;
}



S=(2a-b+1)*b/2;
改为
把S改为float类型,否则相除以后没有小数部分
S=(2*a-b+1)*b/2.0;

#include <stdio.h>
   int main() {
   inta,b;
   float s;
   scanf(%d %d",&a,&b);
   s=(2*a-b+1)*b / 2.0;
   printf("%0.2f\n",s);
   return 0;
}

同学你好,是运算符优先级的问题,另外,c语言中是没有2a这样的写法的,应该写成2*a。

#include <stdio.h>
int main(void)
{
    int a, b,s;
    scanf_s("%d%d",&a,&b);
    s = ((2*a - b + 1) * b )/ 2;
    printf("%d\n",s);
    return 0;

}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^