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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 956251361 中级黑马   /  2015-12-24 10:47  /  1608 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果成绩大于60小于80,输出c ,如果大于80小于90输出b, 如果大于90小于100输出a. 用三目运算符 来实现.
#include <stdio.h>

int main(int argc, const char * argv[]) {
    int score;
    printf("请输入一个60到100的整数:\n");
   
    scanf("%d",&score);
   
    char shuchu;
   
    if (score>60&&score<100) {
        shuchu = (score>60&&score<80)?'c':((score>=80&&score<90)?'b':'a');
    }else{
   
        printf("输入不合法");
        return 0;
    }
    printf("shuchu = %s\n",&shuchu);
   
    return 0;
}
大家看看我这个写的有什么问题,我运行之后结果是这样的
shuchu = bU

就是在正确的输出结果的后面总是后出现一个其他的字符,不固定,每次都不一样
这是怎么回事

9 个回复

倒序浏览
  1. #include <stdio.h>

  2. int main(int argc, const char * argv[]) {
  3.      int score;
  4.      printf("请输入一个60到100的整数:\n");
  5.      
  6.      scanf("%d",&score);
  7.      
  8.      char shuchu;
  9.      
  10.      if (score>60&&score<100) {
  11.          shuchu = (score>60&&score<80)?'c':((score>=80&&score<90)?'b':'a');
  12.      }else{
  13.      
  14.          printf("输入不合法");
  15.          return 0;
  16.      }
  17.      printf("shuchu = %c\n",shuchu);
  18.      
  19.      return 0;
  20. }
复制代码

这样写就好了啊
回复 使用道具 举报

谢谢了,看来我还得看看基础,另外问一下,你们在贴子里变写的代码格式怎么弄得,我的和你们的不一样,怎么加的行标
回复 使用道具 举报
为什么输出%s呢?
回复 使用道具 举报
956251361 发表于 2015-12-24 13:01
谢谢了,看来我还得看看基础,另外问一下,你们在贴子里变写的代码格式怎么弄得,我的和你们的不一样,怎么加 ...

点击输入选项里的代码就好了,把代码贴到代码框里就可以了
回复 使用道具 举报
本帖最后由 luolita90 于 2015-12-26 21:42 编辑

你们的代码好一目了然,为什么我写的人不人鬼不鬼……我以为输出必须写进三目运算符里……

//如果成绩大于60小于80,输出c ,如果大于80小于90输出b, 如果大于90小于100输出a. 用三目运算符 来实现.
    int score;
    printf("请输入成绩:");
    scanf("%d",&score);
    score = score/10;
    (score<6||score >9)?:((score <8) ? printf("c"):((score <9)?printf("b"):printf("a")));
    printf("\n");
    return 0;
回复 使用道具 举报
我是新手,刚开始学  ,看着你们写的感觉好厉害
回复 使用道具 举报
看看学习了
回复 使用道具 举报
ak13211 中级黑马 2015-12-27 15:48:18
9#
三目忘记了。。。
回复 使用道具 举报
wkop 中级黑马 2015-12-27 21:57:50
10#
%s是输出字符串时使用,%c用于输出单个字符
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马