shell编程入门之成绩统计

备注:如果你是厂里的童鞋,写作业找到了这篇文章,希望你不要直接copy^_^,其实试着自己敲一遍会对你帮助很大。

题目要求是把student.txt内的成绩进行各个阶段的统计,文本格式都是"学号:成绩"。

下面是我的做法:

#! bin/bash
s=$(cat score.txt | cut -d : -f 2 | tr " " ",");
arr=($s);
num=(0,0,0,0,0);
grade=(0,0,0,0,0);

for x in ${arr[@]};do
	if [ $((x)) -lt 100 -a $((x)) -gt 90 ];then
		num[0]=$(($((num[0])) + 1));
		grade[0]=$((grade[0] + $((x))));
	elif [ $((x)) -gt 80 ];then
		num[1]=$(($((num[1])) + 1));
		grade[1]=$((grade[1] + $((x))));
	elif [ $((x)) -gt 70 ];then
		num[2]=$(($((num[2])) + 1));
		grade[2]=$((grade[2] + $((x))));
	elif [ $((x)) -gt 60 ];then
		num[3]=$(($((num[3])) + 1));
		grade[3]=$((grade[3] + $((x))));
	else
		num[4]=$(($((num[4])) + 1));
		grade[4]=$((grade[4] + $((x))));
	fi
done

echo the avg score of 90~100 is $((${grade[0]} / ${num[0]})),and the number of student is ${num[0]};
echo the avg score of 80~89 is $((${grade[1]} / ${num[1]})),and the number of student is ${num[1]};
echo the avg score of 70~79 is $((${grade[2]} / ${num[2]})),and the number of student is ${num[2]};
echo the avg score of 60~69 is $((${grade[3]} / ${num[3]})),and the number of student is ${num[3]};
echo the avg score of ~60 is $((${grade[4]} / ${num[4]})),and the number of student is ${num[4]};

 

原文地址:https://www.cnblogs.com/rimochiko/p/8168606.html

时间: 2024-08-30 06:25:14

shell编程入门之成绩统计的相关文章

Linux下的shell编程入门

通常情况下,我们从命令行输入命令每输入一次就能够得到系统的一次响应.一旦需要我们一个接着一个的输入命令而最后才得到结果的时候,这样的做法显然就没有效率.要达到这样的目的,通常我们利用shell程序或者shell脚本来实现. 一.简介 Shell编程有很多类似C语言和其他程序语言的特征,但是又没有编程语言那样复杂.Shell程序就是放在一个文件中的一系列Linux命令和实用程序,在执行的时候,通过Linux一个接着一个地解释和执行每个命令. 下面我们来看一个简单的shell程序: 1.首先建立一个

shell 编程入门,一些简单符合命令

shell 编程入门 1,,shell 特性 linux预设保存1000条输入过的命令,存于 .bash_history . (1,) !! 表示执行上一条命令 #pwd /root #!! pwd /root (2) !n ,n表示数字,表示执行历史第n条指令,例如!1002 #history |grep 1002 1002 pwd #!1002 pwd /root (3)!字符串,表示执行命令历史中最近一次以 pw 开头的命令 #!pw pwd /root (4)alias 自定义命令的别名

linux运维、架构之路-shell编程入门

一.shell编程入门必备基础 1.vim编辑器的命令,vimrc设置 2.150个linux基础命令 3.linux中基础的系统服务crond,ssh网络服务,nfs,rsync,inotify,lnmp,sersync,nmap等 二.变量分类 1.全局变量 [[email protected] ~]# env HOSTNAME=nfs-server TERM=linux SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=172.19.5.146 49184

Linux Shell编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne

转inux Shell编程入门

http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一.

linux shell编程入门笔记

shell编程的重要性: 对于hadoop程序员,通常需要熟悉shell编程,因为shell可以非常方便的运行程序代码. shell文件格式: 文件名后缀通常是.sh #!/bin/sh[先指定文件下面用的是哪一个sh] #这里是注释 shell中的变量: (1)变量不需要声明,初始化不需要指定类型 (2)变量名称只能有字母.数字.下划线组成,不能使用数字开头 (3)分类: 临时变量 环境变量 (export) 显示变量值使用echo命令 ,加上变量名对于变量引用,也可以使用{变量名} 示例程序

转:Linux Shell编程入门

http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一.

《shell编程入门》学习总结

以下图为本章节的知识点结构图. [前言]我们在linux上敲过的命令是有记录的.默认保存1000条.保存位置:.bash_history.但是前提是我们得正常退出. [shell是什么?]shell是一个脚本,不是一种正式的编程语言.shell也就是一些命令的集合,能够帮助我们更加方便的管理服务器. [shell特性] !! 是执行上一条命令. [[email protected] ~]# ls -l 11.txt -rw-r--r--. 1 root root 1536 Oct 18 03:2

Shell编程入门(第二版)(中)

变量測试语句-test 作用:用来測试变量是否相等,是否为空,文件类型等. 格式: test 測试条件 或 [] #范围:整数,字符串.文件 1)整数測试: test int1 -eq int2  測试整数是否相等 test int1 -ge int2  測试int1是否>=int2 test int1 -gt int2  測试int1是否>int2 test int1 -le  int2 測试int1是否<=int2 test int1 -lt int2  測试int1是否<in