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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© junjunzhang 中级黑马   /  2015-12-11 01:58  /  1699 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2. 编写一个程序,要求从键盘上输入某个学生的四科成绩,求出该学生的最高分和最低分
  3. */
  4. #include <stdio.h>

  5. int main () {
  6.    
  7.     int score1,score2,score3,score4;
  8.    
  9.     printf ("请输入四科分数,用逗号进行分隔:\n");
  10.    
  11.     scanf ("%d,%d,%d,%d",&score1,&score2,&score3,&score4);
  12.    
  13.     if (score1 > score2) {
  14.    
  15.         if (score3 > score4) {
  16.         
  17.             if (score1 > score3 && score2 >score4){
  18.             
  19.                 printf ("最大值为:%d\n",score1);
  20.             
  21.                 printf ("最小值为:%d\n",score4);
  22.             
  23.             } else {
  24.                
  25.                 printf ("最大值为:%d\n",score3);
  26.             
  27.                 printf ("最小值为:%d\n",score2);
  28.             
  29.             }
  30.         
  31.         } else {
  32.         
  33.             if (score1 > score4 && score2 >score3) {
  34.             
  35.             printf ("最大值为:%d\n",score1);
  36.                
  37.                 printf ("最小值为:%d\n",score3);
  38.             
  39.             } else {
  40.                
  41.                 printf ("最大值为:%d\n",score4);
  42.                
  43.                 printf ("最小值为:%d\n",score2);
  44.             
  45.             }
  46.         
  47.         }
  48.    
  49.     } else {
  50.         
  51.         if (score3 > score4) {
  52.             
  53.             if (score2 > score3 && score1 > score4) {
  54.                
  55.                 printf ("最大值为:%d\n",score2);
  56.             
  57.                 printf ("最小值为:%d\n",score4);
  58.             
  59.             } else {
  60.                
  61.                 printf ("最大值为:%d\n",score3);
  62.                
  63.                 printf ("最小值为:%d\n",score1);
  64.             
  65.             }
  66.             
  67.         } else {
  68.             
  69.             if (score2 > score4 && score1 > score3) {
  70.                
  71.                 printf ("最大值为:%d\n",score2);
  72.                
  73.                 printf ("最小值为:%d\n",score3);
  74.             
  75.             } else {
  76.                
  77.                 printf ("最大值为:%d\n",score4);
  78.                
  79.                 printf ("最小值为:%d\n",score1);
  80.             
  81.             }
  82.             
  83.         }
  84.         
  85.     }
  86.    
  87.     return 0;
  88.         
  89.     }
复制代码

15 个回复

倒序浏览
满天的printf...
回复 使用道具 举报
第三天还没有学数组吗,可以用数组来存放四个分数,声明一个最大值和一个最小值,然后将数组的首元素赋给最大值和最小值,再通过for循环,分别和最大值最小值比较,如果大于最大值,就把这个分数赋给最大值,如果不是再和最小值比较,如果小于最小值,则赋给最小值,如果也不是,那么一次循环结束。这样for循环后,最大值和最小值也就出来了
回复 使用道具 举报
我表示我学完了视频  但是我不会做  晕
回复 使用道具 举报
本帖最后由 allenli12 于 2015-12-11 17:41 编辑
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.    
  6.     int i,j,k,z ;
  7.     int x = 0;
  8.     scanf("%d,%d,%d",&i,&j,&k);
  9.     int a[] = {i,j,k};
  10.     for(x;x<3;x++){
  11.              if(x>0){
  12.                 if(a[x]<a[x-1]){
  13.                     z=a[x-1];
  14.                     a[x-1]=a[x];
  15.                     a[x]=z;      
  16.                     }else{
  17.                           z=a[x];
  18.                           }
  19.                 }
  20.             
  21.             }
  22.     printf("z= %d\n",z);
  23.     system("pause");
  24.     return 0;
  25. }
复制代码


因为工具原因for里面定义x=0编译时报错  只能这么写,我算的是最高数,最低数你就自己写吧
回复 使用道具 举报 1 0
能不能用一个循环呢。这个看着累
回复 使用道具 举报
昨天刚做了,用三目运算符,代码很少的
回复 使用道具 举报
能写出来就很厉害了,加油加油!
回复 使用道具 举报
努力吧,少年
回复 使用道具 举报
韦德460 发表于 2015-12-11 09:56
第三天还没有学数组吗,可以用数组来存放四个分数,声明一个最大值和一个最小值,然后将数组的首元素赋给最 ...

只是为了练习敲代码,还有练习if...else...语句及嵌套
本来不想用&&的量有点儿大,so。。。
回复 使用道具 举报
me1127 发表于 2015-12-11 09:57
我表示我学完了视频  但是我不会做  晕

学长太谦虚了,22技术分在那摆着呢
回复 使用道具 举报
daniel661 来自手机 中级黑马 2015-12-12 00:52:29
12#
两两比较,三目运算
回复 使用道具 举报
me1127 中级黑马 2015-12-12 09:31:03
13#
junjunzhang 发表于 2015-12-12 00:39
学长太谦虚了,22技术分在那摆着呢

我还没去上学呢,下个月才报道,技术分都是装逼吹牛来的
回复 使用道具 举报

干嘛跟我头像一样!!!
回复 使用道具 举报
韦德460 发表于 2015-12-11 09:56
第三天还没有学数组吗,可以用数组来存放四个分数,声明一个最大值和一个最小值,然后将数组的首元素赋给最 ...

后天学习,今天晚上、明天一天预习数组、字符串
回复 使用道具 举报
厉害厉害
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马