算法入门1 (c语言)

来源:互联网 发布:伯爵表 知乎 编辑:程序博客网 时间:2024/06/07 01:56
  1. //
  2. //  main.c
  3. //  算法入门1
  4. //
  5. //  Created by tarena on 15/5/28.
  6. //  Copyright (c) 2015年 com.tarena.wanq. All rights reserved.
  7. //
  8. #include <stdio.h>
  9. #include <math.h>
  10. /* 题目1
  11. 平均数(average)
  12. 输入3个整数,输出他们的平均数,保留3位小数
  13. */
  14. void average();
  15. void average()
  16. {
  17.    int a,b,c;
  18.    scanf("%d%d%d",&a,&b,&c);
  19.    float ave = (a+b+c)/3.0;
  20.    printf("%.3f",ave);
  21. }
  22. /* 题目2
  23. 温度(templerature)
  24. 输入华氏温度f,输出对应的摄氏温度c,保留3位小数,提示:c=(f-32)/9.
  25. */
  26. void templerature();
  27. void templerature()
  28. {
  29.    float f;
  30.    scanf("%f",&f);
  31.    float c = (f-32)/9;
  32.    printf("%.3f",c);
  33. }
  34. /* 题目3
  35. 连续和(sum)
  36. 输入正整数n,输出 1+2+...+n 的值,提示:目标是解决问题,而不是练习编程
  37. */
  38. void sum();
  39. void sum()
  40. {
  41.    int n;
  42.    scanf("%d",&n);
  43.    int sum = (1+n)*n/2;
  44.    printf("%d",sum);
  45. }
  46. /* 题目4
  47. 正弦和余弦(sin/cos)
  48. 输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数
  49. */
  50. void sincos();
  51. void sincos()
  52. {
  53.    int angle;
  54.    scanf("%d", &angle);
  55.    float sin,cos;
  56.    sin = sinf(angle/360);
  57.    cos = cosf(angle/360);
  58.    printf("%.3f %.3f",sin,cos);
  59. }
  60. /* 题目5
  61. 距离(distance)
  62. 输入4个浮点数x1,y1,x2,y2,输出平面坐标系中点x1,y1到点x2,y2的距离
  63. */
  64. void distance();
  65. void distance()
  66. {
  67.    float x1,y1,x2,y2;
  68.    scanf("%f %f %f %f",&x1,&y1,&x2,&y2);
  69.    float dist = sqrtf((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  70.    printf("%.3f",dist);
  71. }
  72. /* 题目6
  73. 偶数(odd)
  74. 输入一个整数,判断它是否为偶数。如果是,则输出yes,否则输出no。
  75. */
  76. void odd();
  77. void odd()
  78. {
  79.    int i;
  80.    scanf("%d",&i);
  81.    if(i%2 == 0){
  82.        printf("yes");
  83.    }else{
  84.        printf("no");
  85.    }
  86. }
  87. /* 题目7
  88. 打折(discount)
  89. 一件衣服95元,若消费满300,可打八五折。输入购买衣服件数,输出需要支付的金额,保留两位小数
  90. */
  91. void discount();
  92. void discount()
  93. {
  94.    int price = 95;
  95.    int num;
  96.    scanf("%d",&num);
  97.    float amount = price*num;
  98.    if(amount>300){
  99.        amount = amount*0.85;
  100.    }
  101.    printf("%.2f",amount);
  102. }
  103. /* 题目8
  104. 绝对值(abs)
  105. 输入一个浮点数,输出他的绝对值,保留两位小数
  106. */
  107. void my_abs();
  108. void my_abs()
  109. {
  110.    float f;
  111.    scanf("%f",&f);
  112.    if(f<=0){
  113.        f= -f;
  114.    }
  115.    printf("%.2f",f);
  116. }
  117. /* 题目9
  118. 三角形(triangle)
  119. 输入三角形三边长度值,判断它是否能为直角三角形的三个边长。如果可以,则输出yes,如果不能,则输出no。如果根本无法构造三角形,则输出not a triangle
  120. */
  121. void triangle();
  122. void triangle()
  123. {
  124.    int a,b,c;
  125.    scanf("%d%d%d",&a,&b,&c);
  126.    // 任意两边之和大于第三边,两边之差小于第三边
  127.    if(a+b<=c||a+c<=b||b+c<=a)/*判断是否能构成三角形*/
  128. printf("No!\n");
  129. else
  130. {
  131. printf("Yes!\n");
  132. if(a==c||a==b||b==c)/*判断是否为等腰三角形*/
  133. {
  134. printf("It can be an isoceles triangle!\n");
  135. if(a==c && a==b)/*判断是否为等边三角形*/
  136. printf("It also can be an equilateral triangle!\n");
  137. else
  138. printf("But it can not be an equilateral triangle!\n");
  139. }
  140. else
  141. {
  142. printf("It can't be an isoceles triangle!\n");
  143. }
  144. }
  145. }
  146. /* 题目10
  147. 年份(year)
  148. 输入年份,判断是非位闰年。如果是,则输出yes,否则输出no.
  149. */
  150. void year();
  151. void year()
  152. {
  153.    int year;
  154.    scanf("%d",&year);
  155.    if(year%400==0||(year%4&&year==0%100!=0)){
  156.        printf("yes");
  157.    }else{
  158.        printf("no");
  159.    }
  160. }
  161. int main(int argc, const char * argv[])
  162. {
  163.    // insert code here...
  164.    printf("Hello, World!\n");
  165.    // 测试average
  166. //    average();
  167.    // 测试templerature
  168. //    templerature();
  169.    // 测试sum()
  170. //    sum();
  171.    // 测试sincos
  172. //    sincos();
  173.    // distance()
  174. //    distance();
  175.    // discount
  176.    discount();
  177.    return 0;
  178. }

0 0
原创粉丝点击