结构推理 逻辑结构程序设计
   1.实验目的
   ①了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
   ②学会正确使用逻辑运算符和逻辑表达式。
   ③熟练掌握if语句和switch语句。
   ④结合程序掌握一些简单算法。
   ⑤学习调试程序。
   2.实验内容
   本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
   3.程序编写
   ①下面程序实现:输入三个整数,按从大到小的顺序进行输出。请在if后的()内填入正确内容。
   main()
   {int x,y,z,c;
   scanf("/%d/%d/%d",&x,&y,&z);
   if(    )
   {c=y;y=z;z=c;}
   if(    )
   {c=x;x=z;z=c;}
   if(    )
   {c=x;x=y;y=c;}
   printf("/%d,/%d,/%d",x,y,z);
   }
   ②以下程序实现:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母:其他字符不变。请在()内填入正确内容。
   main()
   {char ch;
   scanf("/%c",&ch);
   if(    )ch=ch+32;
   else if(ch>='a'&&ch<='z')(    )
   printf("/%c",ch);
   }
   ③试编程判断输入的正整数是否既是5的整数倍又是7的整数倍。若是,则输出yes;否则输出no。
   ④编程实现:有3个整数a,b,c,由键盘输入,输出其中最大的数。
   ⑤给出100分制成绩,要求根据成绩的多少,输出成绩等级“A”、“B”、“C”、“D”、“E”。90分以上为“A”,80~89分为“B”,70~79分为“C”,60~69分为“D”,60分以下为“E”。用switch语句进行编程。
【正确答案】程序编写
   ①y<z,x<z,x<y
   ②ch>='A'&&ch<='Z',ch=ch-32
   ③main()
     {int x;
       scnaf("/%d.t,&x)
   if(x/%7==0&&x/%5==0)
   printf("yes!");
   else printf("no!");
   }
   ④main()
     { int x,y,z;
     int u,  v;
   scanf("/%d,/%d,/%d",&x,&y,&z);
   if(x>y)u=x:
   else u=y;
   if(z<u)v=u;else v=z;printf("/%d",v);}
   ⑤main()
    {float score;
     char grade;
   printf("请输入学生成绩:\n");
   scanf("/%f",&score);
   switch((int)(score/10))
       {case 10;
       case 9:grade='A':break;
       case 8:grade='B';break;
       case 7:grade='C';break;
       case 6:grade='D';break;
       case  5:
       case  4:
       case  3:
       case  2:
       case  1:
       case 0:grade='E';
   }
   printf("/%5.1f,/%5.1f",score,grade);
   }
【答案解析】