你scanf 输入应该加上分隔符不然读取会出错,两个%d之间应该加个空格,另外第五行2和a之间少了乘号
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;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: