发个自己打的菜鸡代码

weixin_46098893 2019-12-26 09:47:02
#include <stdio.h> #include<math.h> double trianglearea(float a,float b,float c); double squarearea(float a,float b); double roundarea(float r); void main() { int i; while(i>=0) { float a=0,b=0,c=0,r,area; printf("请输入图形的类型!\n"); printf("三角形请输入1,矩形请输入2,圆形请输入3,结束请输入0:\n") ; scanf("%d",&i); if(i==1) { printf("请输入三角形的三条边(如:3,4,5):"); scanf("%f,%f,%f",&a,&b,&c); if(a==0||b==0||c==0) { printf("\n您的输入有误,请注意使用英语逗号,重启程序吧!"); break; } else { area=trianglearea(a,b,c); if(area==0) printf("这三条边无法组成三角形"); else printf("此三角形的面积是:%f",area); } } else if(i==2) { printf("请输入矩形的长和宽(如:3,4):"); scanf("%f,%f",&a,&b); if(a==0||b==0) { printf("\n您的输入有误,请注意使用英语逗号,重启程序吧!"); break; } else { area=squarearea(a,b); printf("此矩形的面积是:%f",area); } } else if(i==3) { float r; printf("请输入圆的半径r(如:3):"); scanf("%f",&r); area=roundarea(r); printf("此圆形的面积是:%f",area); if(area==0) { printf("\n您的输入有误,重启程序吧!"); break; } } else if(i==0) { break; } else { printf("您输入了一个非法的选项数字"); } printf("\n\n"); } } double trianglearea(float a,float b,float c) { float s,area; if(a+b>c&&a+c>b&&b+c>a) { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); } else { area=0; } return area; } double squarearea(float a,float b) { float area; area=a*b; return area; } double roundarea(float r) { float area; area=r*r*3.14; return area; }
...全文
97 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_46098893 2020-01-05
  • 打赏
  • 举报
回复
好的,我知道了,用switch 来选择会更好。,不用if来。
整齐的艾萨克 2020-01-05
  • 打赏
  • 举报
回复
引用 21 楼 C 小学生 的回复:
引用 19 楼 weixin_46098893 的回复:
while>=0确实是不对,用while(ture)会更好
是while(true)不是while(ture),而且用switch更好。
switch不是指这里哦。
整齐的艾萨克 2020-01-05
  • 打赏
  • 举报
回复
引用 19 楼 weixin_46098893 的回复:
while>=0确实是不对,用while(ture)会更好
是while(true)不是while(ture),而且用switch更好。
听啊起风了 2019-12-27
  • 打赏
  • 举报
回复
不太懂,负数算非法输入吗?
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
我这个输入非法就会死循环
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
谢谢指出错误,学到了
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
while>=0确实是不对,用while(ture)会更好
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
我知道了,谢谢建议,i不会给随机,会给一个很小的值,当然还是初始化一下好,另外,下面的=0停止,是为了跟else区分开
qq_1457346882 2019-12-27
  • 打赏
  • 举报
回复
阿西吧,太多了,没有功能能例子就不想看了,不过有个问题,i不赋值就去while(i>=0)如果i随机到一个负数岂不是直接凉了,为什么不直接while(1)或者while(true)呢?还有下面==0退出,那上面条件就不应该加=0了阿
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
这个程序是我上星期写的,有点不记得,是作业来着
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
什么数都可以,只不过不是1到3的就会停止运行
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
那就给它初始化一下,只要不是0就可以
听啊起风了 2019-12-27
  • 打赏
  • 举报
回复
不知道,我的vc6的debug不行,直接跳过
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
我用的Dev,vc应该也行啊,这里有个网址你可以看看 http://m.biancheng.net/view/156.html
听啊起风了 2019-12-27
  • 打赏
  • 举报
回复
我用的远古vc6.0 ,不赋值运行不了
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
就是说系统会给它一个自动给它一个很许的值
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
系统就会自动将一个很小的,如 –858993460 ,所以可以运行(●°u°●)​ 」
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
也对,不过我这样也可以运行
听啊起风了 2019-12-27
  • 打赏
  • 举报
回复
while done循环不是先判断在执行吗?
weixin_46098893 2019-12-27
  • 打赏
  • 举报
回复
i在后面会赋值 ,所以不用初始化
加载更多回复(3)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧