UT源码+105032014070
设计三角形问题的程序
输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及不构成三角形。(等腰直角三角形,判断为等腰三角形)
现在要求输入三个整数a、b、c,必须满足以下条件:
条件1 1≤a≤100 条件4 a<b+ c
条件2 1≤b≤100 条件5 b<a+ c
条件3 1≤c≤100 条件6 c<a+ b
String triangle(int a,int b,int c) 返回字符型
程序要求:
1)先显示:“请输入三角形的三条边:”
2)只要有不满足条件1,2,3之一,就返回“边的值不在范围内!”
3)只要有不满足4,5,6之一,就返回“不构成三角形”
4)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”
源码:
#include<stdio.h>
int SameLengthNum(int a,int b,int c){
int count = 0;
if(a==b){ count++; }
if(a==c){ count++; }
if(b==c){ count++; }
return count;
}
char* Triangle(int a,int b,int c){
char* ch;
if(!(1<=a<=100) || !(1<=b<=100) || !(1<=c<=100)){ return ch="边的值不在范围内"; }
if(!(a<(b+c)) || !(b<(a+c)) || !(c<(a+b))){ return ch="不构成三角形"; }
switch(SameLengthNum( a, b, c)){
case 0:{
if((a*a+b*b)==(c*c) || (a*a+c*c)==(b*b) || (c*c+b*b)==(a*a))
return ch="直角三角形";
else
return ch="一般三角形";
}
case 1: return ch="等腰三角形";
case 3: return ch="等边三角形";
}
}
void UseMethod(){
int a,b,c;
printf("请输入三角形的三条边(格式:a,b,c):\n");
scanf("%d,%d,%d",&a,&b,&c);
char* ch = Triangle(a,b,c);
printf("测算结果:%s\n\n\n",ch);
}
void Menu(){
bool flag = true;
while(flag){
printf("What can I do for you?\n\t1.测算三角形类型\n\t0.退出\n选择您所需要的功能:\n");
int select = 0;
scanf("%d",&select);
switch(select){
case 0: flag = false;printf("感谢您的使用,再见!\n");break;
case 1: UseMethod();break;
}
}
}
void main(){ Menu(); }
-----------------------------------------3.19-----------------------------------------
修改后代码:
#include<stdio.h>
int SameLengthNum(int a,int b,int c){
int count = 0;
if(a==b){
count++;
}
if(a==c){
count++;
}
if(b==c){
count++;
}
return count;
}
char* Triangle(int a,int b,int c){
char* ch;
if(!(1<=a&&a<=100) || !(1<=b&&b<=100) || !(1<=c&&c<=100)){
return ch="边的值不在范围内";
}
if(!(a<(b+c)) || !(b<(a+c)) || !(c<(a+b))){
return ch="不构成三角形";
}
switch(SameLengthNum( a, b, c)){
case 0:{
if((a*a+b*b)==(c*c) || (a*a+c*c)==(b*b) || (c*c+b*b)==(a*a))
return ch="直角三角形";
else
return ch="一般三角形";
}
case 1: return ch="等腰三角形";
case 3: return ch="等边三角形";
}
}
void UseMethod(){
float a,b,c;
printf("请输入三角形的三条边(格式:a,b,c):\n");
scanf("%f,%f,%f",&a,&b,&c);
if((int)a!=a||(int)b!=b||(int)c!=c){
printf("请输入整数。\n");
}
else{
char* ch = Triangle(a,b,c);
printf("测算结果:%s\n\n\n",ch);
}
}
void Menu(){
bool flag = true;
while(flag){
printf("What can I do for you?\n\t1.测算三角形类型\n\t0.退出\n选择您所需要的功能:\n");
int select = 0;
scanf("%d",&select);
if(select!=0 && select!=1){
printf("请输入0或1选择您所需要的功能。\n");
}
else{
switch(select){
case 0: {
flag = false;
printf("感谢您的使用,再见!\n");
break;
}
case 1: UseMethod();break;
}
}
}
}
void main(){
Menu();
}
UT源码+105032014070的更多相关文章
- UT源码 005
NextDate函数问题 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 NextDate函数包含三个变量month.day和year,函数的输出为输入日期后一天的日期. 要求 ...
- UT源码105032014093
需求描述: 设计佣金问题的程序 commission方法是用来计算销售佣金的需求,手机配件的销售商,手机配件有耳机(headphone).手机壳(Mobile phone shell).手机贴膜(Ce ...
- UT源码 065
NextDate函数问题 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 NextDate函数包含三个变量month.day和year,函数的输出为输入日期后一天的日期. 要求 ...
- UT源码105032014098
(2)NextDate函数问题 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 NextDate函数包含三个变量month.day和year,函数的输出为输入日期后一天的日期. ...
- UT源码-124
(1)设计三角形问题的程序 输入三个整数a.b.c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形.等腰三角形.一般三角形(特殊的还有直角三角形),以及不构成三角形.(等 ...
- UT源码 105032014098
package exam1; import java.util.Scanner; public class test01 { static String nextDate(int year,int m ...
- UT源码_105032014033
需求描述: 设计佣金问题的程序 commission方法是用来计算销售佣金的需求,手机配件的销售商,手机配件有耳机(headphone).手机壳(Mobile phone shell).手机贴膜(Ce ...
- UT源码+019
设计三角形问题的程序 输入三个整数a.b.c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形.等腰三角形.一般三角形(特殊的还有直角三角形),以及不构成三角形.(等腰直角 ...
- UT源码162
(3)设计佣金问题的程序 commission方法是用来计算销售佣金的需求,手机配件的销售商,手机配件有耳机(headphone).手机壳(Mobile phone shell).手机贴膜(Cellp ...
随机推荐
- Hadoop mapreduce自定义分组RawComparator
本文发表于本人博客. 今天接着上次[Hadoop mapreduce自定义排序WritableComparable]文章写,按照顺序那么这次应该是讲解自定义分组如何实现,关于操作顺序在这里不多说了,需 ...
- 临时表单导出Excel
function ExportExcel(url, vals) { var form = jQuery("<form action='" + url + "' me ...
- 使用vux实现上拉刷新的总结
最近公司在研发app,选择了基于Vue框架的vux组件库,现总结在实现上拉刷新功能遇到的坑: 1.问题:只刷新一次,解决方法:需要自己手动重置状态 this.scrollerStatus.pullup ...
- hbase优缺点
Hbase的优缺点 1 列的可以动态增加,并且列为空就不存储数据,节省存储空间. 2 Hbase自动切分数据,使得数据存储自动具有水平scalability. 3 Hbase可以提供高并发读写操作的支 ...
- qq空间相册下载
qq空间相册下载 描述 目前功能只可以下载 单个相册 程序基本是3个独立分开的部分. 解析(某一用户)所有相册 解析(单个)相册所有图片地址并写文件 根据文件下载图片 目的 只要有权限可以访问到的相册 ...
- 记我一年的OI之路
upd:感觉没必要设密码了吧,把这个发出来还能显得自己弱颓一些.. 自从我刚刚接触c++,到现在已经快一年了吧,这一年中,我学到了很多,失去了很多,也得到了很多. 开通了blog,那就从现在,就是一个 ...
- SQL 触发器的缺点 坏处 弊端 哼╭(╯^╰)╮
(自己总结,有误请不吝赐教) 1.如果触发频率高,占用内存,降低数据访问速度 2.相对不灵活,一旦触发马上执行,不能排除特殊情况 3.一定程度上打乱代码结构,相关的代码都需要特别注释,否则造成阅读和维 ...
- shell 判断文件是否存在,没有则创建
没有该文件则创建,有则 ls -l 输出文件信息. #!/bin/bash echo "enter the name:" read filename if test -e $fil ...
- 30道Spring面试题和答案
Spring 概述 1. 什么是spring? Spring 是个java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring ...
- 【安全测试】Web应用安全之XSS跨站脚本攻击漏洞
前言 以前都只是在各类文档中见到过XSS,也进行过相关的学习,但是都是一知半解,过了一段时间就忘了. 前几天我们收到了了一份标题为<XX账号昵称参数中存在存储XSS漏洞>的报告文档,来源是 ...