战损版用C/C++解一元一次方程组

c语言期末考最后一题是输入一个一元一次方程(字符串形式),并要求把x解出来

很遗憾太菜了,做了五十分钟和傻子没啥区别,今天早上无聊稍微写了下,基本框架出来了,但是仍然不能解决所有问题,它目前只能输入' + '不能输入' - ',先把笔记留下,后面有时间我会慢慢地补全代码,先记录下我的战损版代码

#include <iostream>
using namespace std;
int main()
{
	char fc[100];
	gets_s (fc);
	//计算未知数x的系数(等号前的)
	char* p = fc;
	int num1 = 0;
	while (*p&&*p!='=')
	{
		if (p == fc)
		{
			if (*p == 'x')
			{
				num1++;
			}
		}
		else
		{
			if (*p == 'x')
			{
				if (*(p - 1) >= '1' && *(p - 1) <= '9')
				{
					num1 = num1 + (*(p-1) - 48);
				}
				else
					num1++;
			}
		}
		p++;
	}
	//查找等号后的x的系数
	int num2 = 0;
	while (*p)
	{
	
			if (*p == 'x')
			{
				if (*(p - 1) >= '1' && *(p - 1) <= '9')
				{
					num2 = num2 + (*(p - 1) - 48);
				}
				else
					num2++;
			}
		
		p++;
	}
	int num_1 = num1 - num2;
	cout << num1-num2 << endl;
	//算其他的数字(等号前的)
	num1 = 0, num2 = 0;
	p = fc;
	while (*p&&*p!='=')
	{

		
			if (*p >= '1' && *p <= '9')
			{
				if (*(p + 1) >= '0' && *(p+1) <= '9')
				{
					num1 = num1 + (*(p +1) - 48) + 10*(*p-48);
				}
				else
					num1 = num1 + (*p-48);
			}
		
		p++;
	}
	//cout << num1 << endl;
	//算等号后的数字

	while (*p)
	{


		if (*p >= '1' && *p <= '9')
		{
			if (*(p + 1) >= '0' && *(p + 1) <= '9')
			{
				num2 = num2 + (*(p + 1) - 48) + 10 * (*p - 48);
			}
			else
				num2 = num2 + (*p - 48);
		}

		p++;
	}
	//cout << num2 << endl;
	int num_2 = num2 - num1;
	cout << "x=" << 1.0 * num_2 / num_1 << endl;
	system("pause");
	return 0;

}

暂时下播,我还会回来的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值