编程挑战:三角形相似性判断

需积分: 5 3 下载量 167 浏览量 更新于2024-09-12 收藏 3KB TXT 举报
"VC的一些格式代码" 这些代码片段展示了C语言在处理不同问题时的解决方案。其中涉及到的主要知识点包括输入输出、循环结构、条件判断以及简单的数学运算。 1. 输入输出: - `scanf` 函数用于从标准输入读取数据,例如 `scanf("%d",&n)` 用于读取一个整数到变量 `n`。 - `printf` 函数用于向标准输出打印数据,例如 `printf("yes!\n")` 打印字符串 "yes!" 并换行。 2. 循环结构: - `while` 循环用于重复执行一段代码,直到特定条件不满足为止。例如,`while(n--)` 会在 `n` 的值减一后仍大于或等于零时继续执行循环体内的代码。 - `for` 循环同样用于重复执行,但通常包含初始化、条件检查和更新操作,如 `for(i=0;i!=m;i++)`。 3. 条件判断: - `if` 语句用于进行条件分支,例如 `if((a+b)>c&&(a+c)>b&&(b+c)>a)` 检查三个边长是否满足构成三角形的条件。 - `else` 语句与 `if` 配对,当 `if` 条件不成立时执行 `else` 后的代码。 - `if...else if...else` 结构可以用于多个条件的判断,例如在判断三角形是否相似的场景中,检查是否有整除关系或者浮点数除法的结果。 4. 数学运算: - `%` 运算符表示取余数,如 `a%b` 会得到 `a` 除以 `b` 的余数,用于判断是否存在整除关系。 - `/` 运算符表示除法,如 `(1.00*a)/b` 表示将 `a` 转换为浮点数后除以 `b`,确保结果为浮点数。 - `+` 运算符表示加法,如 `a+b` 表示 `a` 和 `b` 的和。 5. 三角形性质: - 在第一段代码中,三角形的相似性未被涉及,它仅检查两个三角形的边长比例是否为整数,这可能是相似性的一种简化表示。 - 第二段代码检查了三角形的存在性,即边长满足三角不等式:任意两边之和大于第三边(`(a+b)>c&&...`)。 - 第三段代码同样检查了三角不等式来确定三角形是否存在。 - 最后两段代码检查了三角形的存在性,并在满足条件时打印 "YES",否则打印 "NO"。 6. 字符处理: - 在最后一段代码中,`char c` 用于接收字符输入,`scanf("%d%c%d",&a,&c,&b)` 读取一个整数、一个字符和另一个整数。这里未给出完整代码,可能用于处理加法运算。 这些代码展示了C语言在处理基础计算和逻辑判断时的基本语法,同时涵盖了输入输出、循环控制、条件判断以及数学运算的综合运用。在实际编程中,这样的基础结构经常被用于解决更复杂的问题。

#!/usr/local/python # -- coding: utf-8 -- import requests import json import logging # Function to get the vCenter server session def get_vc_session(vcip, username, password): s.post('https://' + vcip + '/rest/com/vmware/cis/session', auth=(username, password)) return s # Function to get all the VMs from vCenter inventory def get_vms(vcip,host=''): vms = s.get('https://' + vcip + '/rest/vcenter/vm'+"?filter.hosts="+str(host)) return vms def get_hosts(vcip,cluster=''): result = s.get('https://' + vcip + '/rest/vcenter/host'+"?filter.clusters="+str(cluster)) return result def get_clusters(vcip,dc=''): clusters = s.get('https://' + vcip + '/rest/vcenter/cluster'"?filter.datacenters="+str(dc)) return clusters def get_clusterinfo(vcip,cluster): clusterinfo = s.get('https://' + vcip + '/rest/vcenter/cluster/'+cluster) return clusterinfo def get_datacenters(vcip): datacenters = s.get('https://' + vcip + '/rest/vcenter/datacenter') return datacenters def get_datacenterinfo(vcip,datacenter): datacenterinfo = s.get('https://' + vcip + '/rest/vcenter/datacenter/'+datacenter) return datacenterinfo # Function to power on particular VM def poweron_vm(vmmoid, vcip): s.post('https://' + vcip + '/rest/vcenter/vm/' + vmmoid + '/power/start') # Function to power off particular VM def poweroff_vm(vmmoid, vcip): s.post('https://' + vcip + '/rest/vcenter/vm/' + vmmoid + '/power/stop') def getfolder(vcip): folderinfo = s.get('https://' + vcip + '/rest/vcenter/folder') print(folderinfo) print(dir(folderinfo)) return json.loads(folderinfo.content).values()[0] def gethostlistinfo(vcip): info=get_datacenters(vcip) for dc in json.loads(info.content).values()[0]: dcname=dc.get("name") dcvalue = dc.get("datacenter") #print(dcname,dcvalue) info=get_clusters(vcip, dc=dcvalue) for cls in json.loads(info.content).values()[0]: clustername=cls.get("name") clustervalue = cls.get("cluster") #print(dcname,clustername,clustervalue) info=get_hosts(vcip,cluster=clustervalue) for h in json.loads(info.content).values()[0]: hostip=h.get("name") hostvalue = h.get("host") constate = h.get("connection_state") hostPowerState = h.get("power_state") #print(vcip,dcname,clustername,hostip,constate,power_state) info=get_vms(vcip,hostvalue) for v in json.loads(info.content).values()[0]: vmname = v.get("name") vmvalue = v.get("vm") vmMemSize = v.get("memory_size_MiB") vmCpuCount = v.get("cpu_count") vmPowerState = v.get("power_state") print(vcip,dcname,clustername,hostip,constate,hostPowerState,vmname,vmMemSize,vmCpuCount,vmPowerState) ###main#### vcip='172...' username="administrator@vsphere.local" password="YVd5******" logging.captureWarnings(True) global s s = requests.Session() s.verify = False s = get_vc_session(vcip, username, password) info=gethostlistinfo(vcip) 解释这段代码并改正格式

2023-05-30 上传