给定输入的C程序,移除括号

给定输入的c程序,移除括号

问题

让我们通过删除表达式中的括号来创建一个简化的表达式。

解决方案

示例 1

Input: A string expression with bracket is as follows:(x+y)+(z+q)The output is as follows:x+y+z+q

示例 2

The input is as follows:(x-y+z)-p+qThe output is as follows:x-y+z-p+q

Algorithm

Refer an algorithm to remove the brackets from a given input.

Step 1: Declare and read the input at runtime.

Step 2: Traverse the string.

Step 3: Copy each element of the input string into new string.

Step 4: If anyone parenthesis is encountered as an element, replace it with empty space.

Example

Following is the C program to remove the brackets from a given input −

<!–

Live Demo

–>

#includeint main(){   int i=0,c=0,j=0;   char a[100],b[100];   printf("

Enter the string :"); scanf("%s",a); while(a[i]!=''){ if((a[i]=='(') && (a[i-1]=='-')){ (c=0)?j=i:j=c; while(a[i]!=')'){ if(a[i+1]=='+') b[j++]='-'; else if(a[i+1]=='-') b[j++]='+'; else if(a[i+1]!=')') b[j++]=a[i+1]; i++; } c=j+1; } else if(a[i]=='(' && a[i-1]=='+'){ (c==0)?j=i:j=c; while(a[i]!=')'){ b[j++]=a[i+1]; i++; } j–; c=j+1; } else if(a[i]==')'){ i++; continue; } else { b[j++]=a[i]; } i++; } b[j]=''; printf("%s",b); return 0;}

输出

执行上述程序时,会产生以下输出 –

Enter the string:(x+y)-zx+y-z

以上就是给定输入的C程序,移除括号的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 21:14:35
下一篇 2025年12月15日 08:51:26

相关推荐

  • C++程序遍历字典

    虽然C++没有字典,但它有一种类似字典的结构,称为map。每个map的条目中包含两个值−键和映射值−。每个项目都使用键值进行索引,而映射值是与键相关联的值。映射值可能是唯一的,也可能不是唯一的,但键始终是唯一的。在本教程中,我们将看一下迭代器以及它们如何与map一起工作。 在C++中的迭代器 迭代器…

    2025年12月17日
    000
  • C++程序以给定弧度值找到双曲余弦值

    双曲函数是使用双曲线而不是圆定义的,与普通三角函数相当。双曲函数在双曲几何中用于计算角度和距离。它们还出现在大量线性微分方程、三次方程等的解中。对于给定的角度$theta$。双曲余弦函数 cosh$(theta)$ 如下 $$mathrm{cos(x):=:frac{e^x:+:e^{-x}}{2}…

    2025年12月17日
    000
  • C程序:两个分数相加

    给定输入为分数,即 a/b 和 c/d,其中 a、b、c 和 d 可以是除 0 以外的任何整数值,任务是将这两个分数相加以生成它们的最终和。 分数用 − 表示 a / b,其中 a 被称为分子,b 被称为分母。a 和 b 可以有任何数值,但 b 不能为 0。两个分数的和表示为 a / b + c /…

    2025年12月17日
    000
  • C++程序用于找到给定矩阵的迹和法线

    一些应用程序可以从二维数组或矩阵的使用中受益匪浅。数字存储在矩阵的行和列中。使用多维数组,我们也可以用 C++ 定义 2D 矩阵。在这篇文章中,我们将了解如何使用 C++确定给定矩阵的法线和迹线。 矩阵中元素总数的平方根就是所谓的普通的。迹线由构成主对角线的所有组件组成。让我们查看 C++ 代码中算…

    2025年12月17日
    000
  • 使用结构体编写的C程序,用于计算圆和圆柱体的面积

    在C编程语言中,我们可以利用结构体来找到圆的面积、圆柱体的面积和体积。 用于找到圆的面积的逻辑如下: s.areacircle = (float)pi*s.radius*s.radius; 用于计算圆柱体的面积的逻辑如下: s.areacylinder = (float)2*pi*s.radius*…

    2025年12月17日
    000
  • C程序打印所有ASCII值

    问题 打印 0 到 255 个字符的美国信息交换标准代码 (ASCII) 值,而不将字符初始化为整数类型变量。只需使用格式说明符即可。 解决方案 这里我们编写一个程序,仅打印 65 到 122。 如果您想查看所有 ASCII值,在 for 循环中你可以写如下 – For(i=0;i&lt…

    2025年12月17日
    000
  • 在C程序中,将一个数组中具有最大AND值的一对元素打印出来

    根据问题,我们给定了一个包含n个正整数的数组,我们需要从数组中找到具有最大AND值的一对。 示例 Input: arr[] = { 4, 8, 12, 16 }Output: pair = 8 12The maximum and value= 8Input:arr[] = { 4, 8, 16, 2…

    2025年12月17日
    000
  • C程序用于矩阵相减

    给定两个矩阵 mat1[行][列] 和 mat2[行][列],我们必须找到两个矩阵之间的差异并打印两个矩阵相减后获得的结果。两个矩阵相减为 mat1[n][m] – mat2[n][m]。 对于减法,两个矩阵的行数和列数应该相同。 示例 Input:MAT1[N][N] = { {1, 2, 3},…

    2025年12月17日
    000
  • 获取给定数字的大小的C++程序

    给定数字的大小意味着该特定数字之间的差异和零。它还可以表示一个数学对象相对于该数学对象中其他对象的大小同种。我们将遵循这里的第一个定义,以及大小或绝对值数字的表示为 |x|,其中 x 是实数。我们探索展示的方式给定实数的绝对值或大小。 朴素方法 我们可以自己编写一个程序来找出给定实数的大小。这下面解…

    2025年12月17日
    000
  • C程序计算3D空间中三个点之间的距离

    给定一个三维平面,因此有三个坐标,任务是找到给定点之间的距离并显示结果。 在三维平面上,有三个坐标轴,x轴的坐标为(x1,y1,z1),y轴的坐标为(x2,y2,z2),z轴的坐标为(x3,y3,z)。计算它们之间的距离有一个直接的公式如下所示 $$sqrt{lgroup x2-x1rgroup^{…

    2025年12月17日
    000
  • 编写一个C程序,将大写字母转换为小写字母,不使用字符串转换函数

    在了解如何在不使用字符串转换函数的情况下将大写字母转换为小写字母之前,让我们来看一下使用转换函数将大写字母转换为小写字母的程序,然后您将清楚我们在程序中所做的事情: 示例 #include #include int main(){ char string[50]; printf(“enter a s…

    2025年12月17日
    000
  • 将以下内容翻译为中文:在C程序中打印1/n的前k位小数,其中n是一个正整数

    输入数字 N,这样 1/N 将返回以十进制指定的形式生成的输出,直到达到限制。 使用浮点数很容易,但挑战在于不使用它们。 输入 − n=5 k=5 输出 − 20000 这意味着如果 n=5 且 k= 5 除以 1/5 后的输出应显示至小数点后 5 位。 算法 StartStep 1 -> D…

    2025年12月17日
    000
  • C++程序用于通过键更新字典的值

    许多计算机语言都提供字典,这是一种数据结构。字典是一种更快的数据结构,它基于键和值存储数据。它保留了键值组合,以便键可以几乎实时地轻松搜索某些组件。 C++ STL 语言标准包括类似字典的数据结构。术语“map”用于描述这种数据结构。该映射创建一对任意类型的键和值(由于我们使用的是 C++,因此必须…

    2025年12月17日
    000
  • 在C程序中,使用二分查找算法来搜索有理数,而不使用浮点数算术

    在这个问题中,我们得到了一个有理数的排序数组。我们必须使用二分搜索算法来搜索该有理数数组的给定元素,而不使用浮点运算。 有理数是以 p/q 形式表示的数字,其中p 和 q 都是整数。例如,⅔、⅕。 二分搜索是一种搜索技术,通过查找数组的中间来查找元素。 用于查找使用二分法搜索有理数排序数组中的元素,…

    2025年12月17日
    000
  • 寻找二次方程的根的C程序

    In this tutorial, we will be discussing a program to find the roots of the Quadratic equation. Given a quadratic equation of the form ax2 + bx + c. Ou…

    2025年12月17日
    000
  • C程序在一个单一数组上执行两个半部分的操作

    问题 编写一个程序来接受一个由N个元素组成的一维数组,并将其分成两半。稍后,将前半部分按升序排序,后半部分按降序排序。 解决方案 在单个数组中对两个半部分执行两次操作的解决方案C语言解释如下 – 前半部分升序排序的逻辑如下 – for (i=0; i<b; ++i){ …

    2025年12月17日
    000
  • 使用C程序进行线程同步,按顺序打印数字

    给定线程,程序必须根据它们的优先级从0到10打印线程。 什么是线程? 线程是在程序内部运行的轻量级进程。一个简单的程序可以包含n个线程。 与Java不同,C/C++语言标准不支持多线程,POSIX线程(Pthreads)是C/C++中多线程的标准。C语言不包含任何内置的多线程应用程序支持,而是完全依…

    2025年12月17日
    000
  • 使用正则表达式的C++程序打印每个单词的首字母

    A useful tool for string operations is regex. This may be found in virtually all high-level当前的编程语言,包括C++。正则表达式(Regex)被用作通用搜索模式。例如,通过构建一个简单的字符串被称为正则表达式…

    2025年12月17日
    000
  • 使用赋值运算符计算带税金额的C程序

    问题 编写一个 C 程序,输入美元金额,然后添加 18% 的税金来显示金额。 解决方案 让我们考虑餐厅人员在顾客的每张账单上加收 18% 的税。 用于计算税的逻辑是 – value=(money + (money * 0.18)); 这笔钱应该乘以18%并添加到钱中,然后餐厅人员可以从顾…

    2025年12月17日
    000
  • C++程序来计算给定弧度值的双曲正弦

    普通三角函数类似于双曲函数,它们是使用双曲线而不是圆来定义的。在双曲几何中,双曲函数用于计算角度和距离。此外,它们还出现在许多线性微分方程、三次方程等的答案中。对于给定的角度$theta$。双曲正弦函数 sinh$(theta)$ 如下所示。 $$mathrm{sinh(x):=:frac{e^x:…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信