C语言的问题求大神帮忙,用C语言编写一个四则运算程序,输出计算结果。

供稿:hz-xin.com     日期:2025-01-12
设计一个C语言程序, 输入一个四则运算的表达式,在输入 = 后自动输出结果

1、首先,编写C语言的头文件#include 。

2、然后编写Main函数框架。

3、接下来定义两个变量。

4、然后编写输入的函数。

5、输入后,编写输出程序。

6、全部代码都写好了,运行程序,观看运行情况。


注意事项:
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

#include
int main()
{ int a=1,b,c;
char op;
while(a||b)
{
printf("请输入一个算式(二数都为0时结束):");
scanf("%d%c%d",&a,&op,&b);
if(a==0&&b==0)break;
if(op=='+')c=a+b;
if(op=='-')c=a-b;
if(op=='*')c=a*b;
if(op=='/')c=a/b;
if(op=='%')c=a%b;
printf("%d%c%d=%d
",a,op,b,c);
}
getch();
return 0;
}

#include "stdio.h"
#include "stdlib.h"

char token;

int exp();
int term();
int factor();

void error()
{
     fprintf(stderr,"Error
");
     exit(1);
}

//
void match(char expecttoken)
{
    if ( token == expecttoken)
    {
          token = getchar();
    }
     else
     {
          error();
     }
}


int main()
{
    int result;
     token = getchar();
     result = exp();
     if ( token == '
')
     {
          printf("result=%d",result);
          return 0;
     }
     else error();
     return 0;
}

int exp()
{
    int temp = term();
     while((token=='+'||token=='-'))
     switch(token)
     {
        case '+':
               match('+');
                    temp+=term();
               break;
          case '-':
               match('-');
               temp -=term();
               break;
     }
     return temp;
}

int term()
{
     int temp = factor();
     while(token == '*')
     {
          match('*');
          temp*=factor();
     }
     return temp;
}

int factor()
{
     int temp;
     if (token == '(')
     {
          match('(');
        temp = exp();
          match(')');
     }
     else if( isdigit(token))
     {
        ungetc(token,stdin);
          scanf("%d",&temp);
          token = getchar();
     }
     else error();
     return temp;
}

出自大名鼎鼎的编译原理作者之手。



C语言的问题求大神帮忙,用C语言编写一个四则运算程序,输出计算...
return 0;}int exp()

一道C语言编程问题,高手们来看看帮忙解答下
for (c = b-1;c > 0;c--)\/\/以C为循环变量,在1到B之间。{ \/\/判断公式左右两侧是不是相等,相等侧符合题目要求 if (c*c*(a*a+b*b) == a*a*b*b){ sum = a+b+c; \/\/判定成立,求和 printf("SUM = %d\\nA = %d\\nB = %d\\nC = %d\\n",sum,a,b,c);return 0;} ...

c语言求大神帮忙解决编程问题
if (i%7==0) 能被7整除。用 n 计数,满5个则换行。include<stdio.h> int main(){ int i,n=0;for (i=100;i<=1000;i++){ if (i%7==0) {printf("%d ",i); n++;}; \/\/输出和计数 if (n==5){printf("\\n");n=0;}; \/\/换行控制 };return 0;} ...

关于相邻数的问题,求c语言大神帮忙编程啊!!!
include <stdio.h>#include <string.h>long long max(long long a, long long b){ return a > b?a:b;}int main()\/\/原题,数据范围最大支持2^63 - 1 -> -2^63{ long long maxn = 0, sum = 0, maxi = 1LL<<63, a; int n; scanf("%d",&n); while(...

请高手用C语言帮忙做个编程的题目,谢谢了!
{ if(number %dev == 0){ return 1;} return 0;} void EasyDone(int a){ int chose;int i,j;printf("Input your chose\\n1>能被3整除的"<Enter 1>","\\n2>能被5整除的<Enter 2>","\\n3>能被3或5整除的<Enter 3>\\n");scanf("%d",&chose);switch(chose){ case 1:for(i =...

C语言作业,求大神帮忙
{ return (mid); \/\/如果当前的学号mid与x一样,就返回这个学生的学号mid } } return(-1); \/\/如果数组num没有符合条件的学号,返回一个-1,程序结束 } 3、改错1 include <stdio.h> int BinSearch(long a[], int n, long x); \/\/一个函数声明,用来查找输入的学号的学生的成绩 ...

c语言问题:求大神帮忙看一眼这个程序哪里有问题
这个问题关键在于计算闰年的个数,闰年比普通年份多了一天,所以最后天数直接加上闰年数就行了。(注意在循环时控制条件不用算当年是否为闰年,因为当年还没开始)以下是具体代码:include <stdio.h>#include<stdlib.h>main(){ int i,by,ty,r=0;long unsigned min;printf("Input your birth year...

大神求解,C语言问题
memset(strNum[i],0,(len+1)*sizeof(char));\/\/初始化为0 ltoa(*(num+i),strNum[i],10);\/\/将数字转换为字符串,以十进制转换 lastNum=strNum[i][strlen(strNum[i])-1];\/\/找到数字的最后一位 for (j=strlen(strNum[i]);j<len;j++)\/\/将剩下空位用最后一位数字按照最大值...

大一c语言编程问题,求大神解答。。。谢谢 有n个人围成一圈,顺序排号...
char student[N];\/\/N个人,1表示未退出,0表示已经退出 int out[N];\/\/退出的人的号码记录 int count = -1;\/\/循环计数 0,1,2 <=> 1-3 int num_out = -1;\/\/退出号码记录的数组的下标 memset(student, 1, sizeof(student));\/\/将所有人状态置为1(未退出)for (int i = 0; i...

C语言作业,求大神帮忙
main(){ int a,n;printf("请输入月份:");scanf("%d",&a);printf("请输入机票数量:");scanf("%d",&n); \/\/a为月份,n为机票数量 if(a>=7&&a<=9)if(n>=20)printf("优惠率r%: 15");else printf("优惠率r%: 5");else if(a>=1&&a<=5||a==10||a==11)if(n>=20)...