A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. //
  2. //  main.c
  3. //  HomeWork_01
  4. //
  5. //  Created by 蒋伟 on 16/5/12.
  6. //  Copyright (c) 2016年 蒋伟. All rights reserved.
  7. //

  8. #include <stdio.h>

  9. int quDeMax(int num1,int num2);
  10. int siSheWuRu(float num);
  11. void panDuanChengNian(int age);
  12. void panDuanRunNian(int year);
  13. int quTianShu(int year,int mouth);
  14. void panDuan5WeiShu(int num);
  15. int quLeiJiaHe(int min,int max);
  16. void panDuan3BeiShu(int num);
  17. void panDuanZhengShu(float num);
  18. char fenDengJi(int score);
  19. int quJiShuLeiJiaHe(int min,int max);

  20. int main(int argc, const char * argv[]) {
  21.   
  22.     printf("请输入两个数以比较大小:");
  23.     int num1,num2;
  24.     scanf("%d%d",&num1,&num2);
  25.     int max1 = quDeMax(num1,num2);
  26.     printf("两者之间较大的是:%d\n\n",max1);
  27.    
  28.     printf("请输入一个浮点数进行四舍五入:");
  29.     float num3;
  30.     scanf("%f",&num3);
  31.     int result = siSheWuRu(num3);
  32.     printf("%.2f四舍五入的结果为:%d\n\n",num3,result);
  33.    
  34.     printf("请输入您的年龄以判断您是否成年:");
  35.     int age;
  36.     scanf("%d",&age);
  37.     panDuanChengNian(age);
  38.     printf("\n");
  39.    
  40.     printf("请输入一个年份以判断是否是闰年:");
  41.     int year;
  42.     scanf("%d",&year);
  43.     panDuanRunNian(year);
  44.     printf("\n");
  45.    
  46.     printf("请输入年份和月份查询此月的天数:");
  47.     int year2,mouth2;
  48.     scanf("%d%d",&year2,&mouth2);
  49.     int day = quTianShu(year2,mouth2);
  50.     printf("%d年%d月有%d天!\n\n",year2,mouth2,day);
  51.    
  52.     printf("请输入一个5位数以判断各位数加起来是不是5:");
  53.     int num4;
  54.     scanf("%d",&num4);
  55.     panDuan5WeiShu(num4);
  56.     printf("\n");
  57.    
  58.     printf("请输入范围以求累加和:");
  59.     int min2,max2;
  60.     scanf("%d%d",&min2,&max2);
  61.     int sum2 = quLeiJiaHe(min2,max2);
  62.     printf("累加的和为:%d\n\n",sum2);
  63.    
  64.     printf("请输入一个整数判断是否是3的倍数:");
  65.     int num5;
  66.     scanf("%d",&num5);
  67.     panDuan3BeiShu(num5);
  68.     printf("\n");
  69.    
  70.     printf("请输入一个数判断是否是正数:");
  71.     float num6;
  72.     scanf("%f",&num6);
  73.     panDuanZhengShu(num6);
  74.     printf("\n");
  75.    
  76.     printf("请输入您的成绩:");
  77.     int score;
  78.     scanf("%d",&score);
  79.     char result2 = fenDengJi(score);
  80.     printf("您获得的等级是:%c\n\n",result2);
  81.    
  82.     printf("请输入范围以求奇数累加和:");
  83.     int min3,max3;
  84.     scanf("%d%d",&min3,&max3);
  85.     int sum3 = quJiShuLeiJiaHe(min3,max3);
  86.     printf("奇数累加的和为:%d\n\n",sum3);
  87.     return 0;
  88. }

  89. /**
  90. *取两个整数的最大值
  91. */
  92. int quDeMax(int num1,int num2){
  93.     if(num1>=num2){
  94.         return num1;
  95.     }else{
  96.         return num2;
  97.     }
  98. }

  99. /**
  100. *返回浮点数四舍五入的整数
  101. */
  102. int siSheWuRu(float num){
  103.     int zheng = (int)num;
  104.     float fen = num - zheng;
  105.     if(fen >= 0.5){
  106.         zheng++;
  107.     }
  108.     return zheng;
  109. }

  110. /**
  111. *判断是否成年
  112. */
  113. void panDuanChengNian(int age){
  114.     if(age>=18){
  115.         printf("您已成年!\n");
  116.     }else{
  117.         printf("您未成年!\n");
  118.     }
  119. }

  120. /**
  121. *判断年份是否为闰年
  122. */
  123. void panDuanRunNian(int year){
  124.     if(year%400==0 ||(year%100!=0&&year%4==0)){
  125.         printf("%d年是闰年!\n",year);
  126.     }else{
  127.         printf("%d年不是闰年!\n",year);
  128.     }
  129. }

  130. /**
  131. *返回该年月的天数
  132. */
  133. int quTianShu(int year,int mouth){
  134.     switch(mouth){
  135.     case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  136.         return 31;
  137.         break;
  138.     case 4: case 6: case 9: case 11:
  139.         return 30;
  140.         break;
  141.     case 2:
  142.         if(year%400==0||(year%100!=0&&year%4==0)){
  143.             return 29;
  144.         }else{
  145.             return 28;
  146.         }
  147.     default:
  148.         return 0;
  149.     }
  150. }

  151. /**
  152. *判断5位数的五位加起来等不等于5
  153. */
  154. void panDuan5WeiShu(int num){
  155.     int g = num%10;
  156.     int s = num/10%10;
  157.     int b = num/100%10;
  158.     int q = num/1000%10;
  159.     int w = num/10000;
  160.     if(g+s+b+q+w == 5){
  161.         printf("%d五位数的各位数和为五。\n",num);
  162.     }else{
  163.         printf("%d五位数的各位数和不为五。\n",num);
  164.     }
  165. }

  166. /**
  167. *返回min-max范围内整数的累加和
  168. */
  169. int quLeiJiaHe(int min,int max){
  170.     int sum = 0;
  171.     for(int i = min; i <= max; i++){
  172.         sum+=i;
  173.     }
  174.     return sum;
  175. }

  176. /**
  177. *判断整数是不是3的倍数
  178. */
  179. void panDuan3BeiShu(int num){
  180.     if(num%3 == 0){
  181.         printf("%d是3的倍数\n",num);
  182.     }else{
  183.         printf("%d不是3的倍数\n",num);
  184.     }
  185. }

  186. /**
  187. *判断一个数是不是正数
  188. */
  189. void panDuanZhengShu(float num){
  190.     if(num > 0){
  191.         printf("%.2f是正数!\n",num);
  192.     }else{
  193.         printf("%.2f不是正数!\n",num);
  194.     }
  195. }

  196. /**
  197. *返回分数所在等级
  198. */
  199. char fenDengJi(int score){
  200.     if(score >= 90){
  201.         return 'A';
  202.     }else if(score >= 80){
  203.         return 'B';
  204.     }else if(score >= 70){
  205.         return 'C';
  206.     }else if(score >= 60){
  207.         return 'D';
  208.     }else{
  209.         return 'E';
  210.     }
  211. }

  212. /**
  213. *返回min-max的奇数和
  214. */
  215. int quJiShuLeiJiaHe(int min,int max){
  216.     int sum;
  217.     for(int i = min; i <= max; i++){
  218.         if(i%2 == 1){
  219.             sum+=i;
  220.         }
  221.     }
  222.     return sum;
  223. }


复制代码


1 个回复

倒序浏览
学霸,给跪了,我也要加油了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马