四大湖问题

我国有4大淡水湖。 
A说:洞庭湖最大,洪泽最小。鄱阳湖第三。 
B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二。太湖第三。 
C说:洪泽湖最小,洞庭湖第三。 
D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。 
4个人每人仅答对了一个,请你编程给出4个湖从大到小的顺序。

利用枚举法以及逻辑表达式的返回值求解问题

#include <stdio.h>
#include <string.h>
int main()
{
	int DT,HZ,PY,TH;
	int a, b, c, d;
	char lake[10][100];
	int sum;
	for (DT = 1; DT <= 4; DT++)
	{
		for (HZ = 1; HZ <= 4; HZ++)
		{
			if(HZ==DT) continue;//湖的面积不能相等
			for (PY = 1; PY <= 4; PY++)
			{
				if(PY==HZ || PY==DT) continue;
				for (TH = 1; TH <= 4; TH++)
				{
					if(TH==HZ || TH==DT ||TH==PY) continue;
				if (((DT==1)+(HZ==4)+(PY==3))==1&&((HZ==1)+(DT==4)+(PY==2)+(TH==3))==1
				&&((HZ==4)+(DT==3))==1 &&((PY==1)+(TH==4)+(HZ==2)+(DT==3))==1)
					{
						 strcpy (lake[DT], "洞庭湖");
						 strcpy (lake[HZ], "洪泽湖 ");                      
						 strcpy (lake[PY], "鄱阳湖");                     
						 strcpy (lake[TH], "太湖");  
					}

				}
			}
		}
	}
	for (int i = 1; i <=4; i++)
	{
		printf("%s\n",lake[i]);
	}
	return 0;
}

运行结果: 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在您提供的代码中,有几处需要进行修改和调整才能正确运行: 1. 在读取股票数据时,您使用了`pd.read_excel`函数,但是该函数需要传入文件的完整路径。请确保提供正确的文件路径,或者将Excel文件与代码文件放在同一个目录下,并使用相对路径。 2. 在绘制K线图之前,需要先创建一个空的figure对象,并将其传递给`mpf.plot`函数。可以使用`mpf.figure()`来创建一个figure对象。 3. 在计算M日移动平均线之前,您需要指定M的具体值。 4. 在计算BOLL指标线时,您需要指定N的具体值。 5. 最后,您需要调整代码中的变量名,将`data`改为`df`或其他合适的变量名。 以下是修改后的示例代码: ```python import pandas as pd import mplfinance as mpf data = ['中水渔业000798.SZ', '开创国际600097.SH', '大股份600257.SH', '好当家600467.SH'] M = 10 # 移动平均线的时长 N = 20 # BOLL指标的时长 # 读取股票数据 result_list = [] for stock in data: df = pd.read_excel("C:\Users\lenovo\Desktop\04-渔业.xlsx", sheet_name=stock) result_list.append(df) # 绘制K线图 fig = mpf.figure(style='charles') for df in result_list: mpf.plot(df, type='candle', style='charles', title='Stock K-line Chart', fig=fig) # 计算M日移动平均线 for df in result_list: df['MA'] = df['Close'].rolling(window=M).mean() # 计算N日的移动平均线和标准差 for df in result_list: df['MA_N'] = df['Close'].rolling(window=N).mean() df['std'] = df['Close'].rolling(window=N).std() # 计算BOLL指标线 for df in result_list: df['BOLL_upper'] = df['MA_N'] + 2 * df['std'] df['BOLL_lower'] = df['MA_N'] - 2 * df['std'] ``` 请根据您的实际情况进行进一步的调整和修改。希望能帮到您!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值