C语言基础课第二次作业

题目7-1 统计学生成绩

  

  1.实验代码

#include<stdio.h>
int main(void){
	int N,i,A=0,B=0,C=0,D=0,E=0,f;
	scanf("%d",&N);
for(i=1;i<=N;i++){
	scanf("%d",&f);
	if(f>=90){
		A=A+1;
	}
	else if(f>=80&&f<90){
		B=B+1;
	}
		else if(f>=70&&f<80){
			C=C+1;
		}
		else if(f>=60&&f<70){
			D=D+1;
		}
		else{
			E=E+1;
		}
	}
	printf("%d %d %d %d %d",A,B,C,D,E);
	return 0;
}

  2.设计思路

(1)文字描述

  第一步:定义N,i,A=0,B=0,C=0,D=0,E=0,f。

  第二步:输入N代表for循环循环几次。

  第三步:使用for循环,for(i=1;i<=N;i++)。

  第四步:每次循环scanf一个数字,并用else if语句判断ABDE哪个档次。

  第五步:输出ABCDE的值。

 

  (2)流程图

3.本题调试过程碰到问题及解决办法

   没有问题。

 

7-2 计算油费 (15 分)

  1.实验代码

#include<stdio.h>
int main(void){
    int a,b;char c;double sum,e,f;
    scanf("%d %d %c",&a,&b,&c);
    if(b==90)
        e=6.95;    
    else if(b==93)
        e=7.44;
    else
        e=7.93;
    
  switch(c)
    {
        case 'm' : f=0.95; break;
        case 'e' : f=0.97; break;
    }

    sum=a*e*f;
    printf("%.2f",sum);
    return 0;
} 

  2.设计思路

  (1)文字描述:

  第一步:定义整数a,b。定义字符c。定义双精度数字sum,e,f。

  第二步:输入两个整数与一个字符分别存于a,b,c。

  第三步:用else if判断b的值,使e等于对应几号油的价钱。

  第四部:用switch判断字符c所对应的服务的价钱存于f。

  第五步:sum=a*e*f,并输出sum。

 

    (2)流程图

3.本题调试过程碰到问题及解决办法

 

上图习惯性的把case后的:打成;

这个一直很困惑,以为是电脑的问题,后来看到之前打的代码发现是scanf("%d %d %c",a,b,c);中少打了&号。

二、总结和学习进度条

1.这几周学习自定义函数,do while,switch,for语句等。

遇到问题:我会忘记%d,%c,%f的区别;语句运用上格式模糊,要经常去看书本,于是通过反复地翻书来加深印象。

2.王肖作业评价超链接

祝传令作业评价超链接

唐卫栋作业评论超链接

3.

posted @ 2018-12-04 20:14  沈峰  阅读(901)  评论(10编辑  收藏  举报