第九周编程总结--助教

题目1 查询水果价格
(1)实验代码
#include<stdio.h>
int main ()
{
 int i,choice;
 double price;
 
     printf("[1] apple\n");
  printf("[2] pear\n");
  printf("[3] orange\n");
  printf("[4] grape\n");
  printf("[0] exit\n");
 
  for(i = 1;i<=5;i++)
  {
    
  scanf("%d", &choice);
    
  switch(choice)
  {
   case 1:price = 3.00;break;
   case 2:price = 2.50;break;
   case 3:price = 4.10;break;
   case 4:price = 10.20;break;
   default:price = 0.00;break;
      }
      if(0==choice)
  break;
      
  printf("price = %.2f\n",price);
    }
 return 0;
 }
(2)设计思路
第一步:定义变量,打印查询列表
第二步:运用for循环输入scanf,再用switch语句判断
第三步:输出价格,如果choice为0跳出循环
第四步:输出结果
(3)本题调试过程碰到问题及解决办法
一个是格式问题,输入和输出中的空格没有注意,还一个是打印查询表格的位置问题。
(4)运行结果截图


题目2 计算油费
(1)实验代码
#include<stdio.h>
int main ()
{
 double a,price,s;
 int b;
 char c;
 
 scanf("%lf %d %c", &a, &b, &c);
 
 switch(b)
 {
  case 90:price = 6.95;break;
  case 93:price = 7.44;break;
  case 97:price = 7.93;break;
 }
 if(c == 'm')
 {
  s = price * a * 0.95;
 }
 if(c == 'e')
 {
  s = price * a * 0.97;
 }
 printf("%.2f",s);
 
 return 0;
 }
(2)设计思路
第一步:定义变量,输入在一行中给出两个整数和一个字符
第二步:使用switch语句判断是几号汽油,输出价格
第三步:用if语句判断是自助还是协助
第四步:计算结果输出
(3)本题调试过程碰到问题及解决办法
一次通过,无问题
(4)运行结果截图


题目3 计算天数
(1)实验代码
#include<stdio.h>
int main ()
{
 int y, m, d, a;
 
 scanf("%d/%d/%d", &y, &m, &d);
 
 switch(m)
 {
  case 1:a = 0;break;
  case 2:a = 31;break;
  case 3:a = 59;break;
  case 4:a = 90;break;
  case 5:a = 120;break;
  case 6:a = 151;break;
  case 7:a = 181;break;
  case 8:a = 212;break;
  case 9:a = 243;break;
  case 10:a = 273;break;
  case 11:a = 304;break;
  case 12:a = 334;break;
 }
 
 if(y%4==0&&y%100!=0||y%400==0)
 {
  a = a + 1;
  if(m==1)
  a = a - 1;
 }
 printf("%d",d+a);
 
 return 0;
 }
(2)设计思路
第一步:定义变量,输入年月日
第二步:用switch语句判断是几月,输出天数
第三步:如果是闰年增加一天,如果为一月减去一天
第四步:输出结果
(3)本题调试过程碰到问题及解决办法
这题比较骚,不过还是不难,主要是在每月上累加天数,很容易计算错误。
我出错在闰年的一月,用了if语句改正了错误。
(4)运行结果截图

 

posted @ 2018-11-15 21:49  ZhouWei211  阅读(188)  评论(0编辑  收藏  举报