C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序

作者&投稿:伯广 (若有异议请与网页底部的电邮联系)
C语言编程,已知三角形的三边长a,b,c,计算求三角形面积的公式为:~

程序代码如下:
#include
#include
int main()
{
printf("输入三个边长:
");
float a,b,c;
float s,area;
scanf("%f%f%f",&a,&b,&c);
s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c && b+c>a && a+c>b)
printf("面积是%.2f
",area);
else
printf("三条边无法构成三角形");
return 0;
}


扩展资料:
三角形具有以下性质:
1、三角形任意两边之和大于第三边,任意两边之差小于第三边。
2、在平面上三角形的内角和等于180°(内角和定理)。
3、在平面上三角形的外角和等于360° (外角和定理)。
4、三角形的三条角平分线交于一点,三条高线的所在直线交于一点,三条中线交于一点。
5、三角形的任意一条中线将这个三角形分为两个面积相等的三角形。
参考资料:百度百科-三角形面积公式
百度百科-三角形性质

可以。
逗号运算符,从左至右计算,取最后一个表达式的值作为整个语句的值。
先算a=3,就是把a赋值成3,然后算b=4,对b赋值成4,最后计算c=a+b,实际就是c=3+4,c的值是7。最终整条语句的最后值就是c的值7.

我理解的简单的数学表达式:纯数字+运算符+纯数字+(回车)
而且这里的运算符指 +,-,*,/ 四种之一,纯数字是指整数
如下:
#include <stdio.h>
#define NUMSIZE 10 //操作数长度
int ch_to_num(char a[]); //多位数字符到数值的转换

void main()
{
char var1[NUMSIZE+1]; //存放第一个操作数字符串,最后一位存放结束符'\0'
char var2[NUMSIZE+1]; //存放第二个操作数字符串,最后一位存放结束符'\0'
char var_op; //存放操作数字符

bool flag1 = false; //用来标记是否已经输入第一个操作数字符串
bool flag2 = false; //用来标记是否已经输入第二个操作数字符串
bool flag_op = false; //用来标记是否已经输入操作符

int num1; //存放第一个操作数值
int num2; //存放第二个操作数值
double result0; //存放运算结果

char current_char;
int i = 0;

printf("请输入简单表达式!\n");
scanf("%c", ¤t_char);
while (current_char >= '0' && current_char <= '9')
{//输入第一个变量
var1[i++] = current_char;
scanf("%c", ¤t_char);
}
if ( i > 0 )
{//第一个操作数合格
flag1 = true; //保存好第一个操作数,改变标记
var1[i] = '\0'; //加入结束符
}
else
{
printf("输入格式有错!");
return;
}

if (current_char =='+'||current_char =='-'||current_char =='*'||current_char =='/')
{//操作符为加减乘除,合格
var_op = current_char; //保存操作符
flag_op = true; //改变标记符
}
else
{
printf("输入格式有错!");
return;
}

scanf("%c", ¤t_char);
i = 0;
while (current_char >= '0' && current_char <= '9')
{//输入第二个变量
var2[i++] = current_char;
scanf("%c", ¤t_char);
}
if ( i > 0 )
{//第二个操作数合格
flag2 = true; //保存好第二个操作数,改变标记
var2[i] = '\0'; //加入结束符
}
else
{
printf("输入格式有错!");
return;
}

//计算:
num1 = ch_to_num(var1);
num2 = ch_to_num(var2);
switch(var_op)
{
case '+' :
result0 = num1 + num2;
printf("\n%d+%d=%f\n",num1,num2,result0);
break;
case '-' :
result0 = num1 - num2;
printf("\n%d-%d=%f\n",num1,num2,result0);
break;
case '*' :
result0 = num1 * num2;
printf("\n%d*%d=%f\n",num1,num2,result0);
break;
case '/' :
result0 = (num1 + 0.0) / num2;
printf("\n%d/%d=%f\n",num1,num2,result0);
break;
default:
break;
}
}
int ch_to_num(char input[])
{
int sum = 0;
int i = 0;
char ch;
ch = input[i];
while ( ch != '\0')
{
sum = sum * 10 +ch - '0';
i++;
ch = input[i];
}
return sum;
}

main()
{
int a,b;
int sum;
scanf("a=%d,b=%d\n",&a,&b);
sum=a+b;
printf("sum=a+b");
printf("%d\n",sum);

}
这个是最简单是数学表达式吧,是个加法的而已。 我是直接写出来的,没有调试过,如果有错误你可以找我。希望对你有帮助

从键盘输入a,b。计算a+b的值。
main()
{
int a,b,sum ; \*定义变量a,b和sum为整形。*\
scanf("a=%d,b=%d\n",&a,&b); \*从键盘先后接收a和b两个变量的值*\
sum=a+b; \*把a+b的值赋给sum*\
printf("%d=%d+%d",sum,a,b); \*打印结果,%d是占位符,表示一个整数,分别对应引号后的三个变量*\
}

引号内的字符会原封不动的打印出来,但是占位符是不会被打印出来的,会替换成对应的值,

#include <stdio.h>

void main()
{
int a,b,sum ;
printf("请输入两个数(以空格隔开)");
scanf("%d%d",&a,&b);
sum=a+b;
printf("%d+%d=%d",a,b,sum);

}
已测试

http://zhidao.baidu.com/question/55330642.html 去看看吧


文山壮族苗族自治州17395085704: C语言:从键盘输入一个人简单的数学表达式,计算并显示该表达式的值? -
王奖一舒: main() { double value1 value2; char operator; scanf("%lf%c%lf",value1,operator,value2); swicth(operator){ case'+': printf("=%.2f\n",value1+value2); break; case'-': printf("=%.2f\n",value1-value2); break; case'*': printf("=%.2f\n",value1*value2)...

文山壮族苗族自治州17395085704: 用c语言写一个简单的程序,就是在键盘上输入10个数,然后求平均数
王奖一舒:#include <stdio.h> int main() { double num[10]; double count,ave; double i; printf("请输入10个数字:"); for(i=0;i<10;i++) { scanf("%d",&num[i]); } for(i=0;i<10;i++) { count+=num[i]; } printf("%d\n",count); ave=count/10.0; printf("平均数...

文山壮族苗族自治州17395085704: 从键盘输入一个简单的四则运算表达式 -
王奖一舒: #include "stdio.h" void main() {int a,b;printf("\nplease input two int number:\n");scanf("%d %d",&a,&b);printf("%d+%d=%d",a,b,a+b);printf("%d-%d=%d",a,b,a-b);printf("%d*%d=%d",a,b,a*b);printf("%d/%d=%f",a,b,a/b);getch(); }

文山壮族苗族自治州17395085704: C语言中初始化线性表,并从键盘输入值 -
王奖一舒: 数据结构 如果只建立线性表 那是不能使表保持顺序的 只有链表才能 所以我用了链表 还有就是自己多看看书 自己多想想代码 #include #include typedef int elemtype; typedef struct xianxing { struct xianxing *next; elemtype number; }ST; ST *Init_...

文山壮族苗族自治州17395085704: C语言编程打印菱形的数字图表 -
王奖一舒: #include "stdio.h" int main() { int n,i,j; while(scanf("%d",&n)) { for(i=1; i<=n; i++) { for(j=1; j<=n-i; j++) //画空格 printf(" "); for(j=1; j<=i; j++) printf("%d",j);//输出从1到n for(j=i-1; j>=1; j--) printf("%d",j);//输出从n-1到1 printf("\n"); } ...

文山壮族苗族自治州17395085704: 作业要求: 用c语言编写一个完整的程序,功能如下: 1,创建一个线性表,采用顺序存储的方式,键盘输入初 -
王奖一舒: #include #define NULL 0 struct link{ int num; struct link *next; }; struct link *creat(void) {struct link *p1,*p2,*head; p1=(struct link *)malloc(sizeof(struct link)); scanf("%d",&p1->num); head=p1; while(p1->num!=0)//这里一定要以数字0结束,而不能设...

文山壮族苗族自治州17395085704: C语言怎样编程用键盘输入学生的分数,并求平均分和不及格人数? -
王奖一舒: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { //num代表总人数,score用于记录当前输入的分数,sum记录总分, //average记录平均分,failed记录不及格人数,所有分数都定为“整数”. int num=0, score=0,sum=0,...

文山壮族苗族自治州17395085704: C语言编写一个程序,实现如下功能:从键盘输入一个三位数,求各位数字之和.简单点!!!
王奖一舒: <p>#include "stdio.h"</p> <p>void main()</p> <p>{</p> <p> int n,sum=0;</p> <p> printf("请输入一个三位数:");</p> <p> scanf("%d",&amp;n);</p> <p> sum=n/100+n%100/10+n%10;//百位数+十位数+个位数</p> <p> printf("这个三位数各位数字之和是%d\n",sum);</p> <p> </p> <p> </p> <p>}</p> <p>结果:</p> <p></p>

文山壮族苗族自治州17395085704: 从键盘上输入一个整数然后从个位数开始输出每一位上的数字 C语言 -
王奖一舒: n";if(number==0)printf("%d\scanf(",&number),number);); #include&lt/.h> int main() { int number;stdio;%d"printf("please input the number\n"while(number!=0){printf("%d",number%10);number=number/*这是我写的程序 希望对你有帮助*/

文山壮族苗族自治州17395085704: 用C语言写出 有三个整数a,b,c由键盘输入,输出其中最大的数和最小的数 -
王奖一舒: #include int main (){ int a, b, c; printf("请输入三个任意整数:\n"); scanf("%d%d%d", &a, &b, &c); if(b > a){ a = b; if(a < c) a = c; } else{ if(a < c) a = c; } printf("最大的整数是:%d\n", a); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网