从键盘输入一个小写英文字母,将其转换为大写英文字母利用ascll值来做
2条回答 默认 最新
- 只会呼吸灯的小码农 2022-12-20 16:34关注
#!/bin/bash echo "SHELL编程(利用ascll码值)从键盘输入一个小写英文字母,将其转换为大写英文字母!" echo "从键盘输入一个小写英文字母,将其转换为大写英文字母利用ascll值来做!" echo "请输入一个小写的英文字母:" # "-n 仅能输入一个字符,-t 限制时间为5s,-s 输入的不显示" read -n 1 -t 5 -s x echo $x awk -v t=$x; case $x in "a") echo "A";; "b") echo "B";; "c") echo "C";; "d") echo "D";; "e") echo "E";; "f") echo "F";; "g") echo "G";; "h") echo "H";; "i") echo "I";; "j") echo "J";; "k") echo "K";; "l") echo "L";; "m") echo "M";; "n") echo "N";; "o") echo "O";; "p") echo "P";; "q") echo "Q";; "r") echo "R";; "s") echo "S";; "t") echo "T";; "u") echo "U";; "v") echo "V";; "w") echo "W";; "x") echo "X";; "y") echo "Y";; "z") echo "Z";; *) echo "input err." esac
做了一会儿,发现这道题需要解决的关键难点便是如何用shell将输入进来的字符(串)转换成整数,然后进行相加减,虽然字符本来就是小整数,但是做着你可能会发现报这个错:test: s: integer expression expected,也就是期望是整数,我用了以下 awk,没做出来,你可以试试;最后用了穷举,可能没利用到ASCII,如果博主有更好的答案,欢迎告知我,谢谢,还有一个思路就是写一个c文件,然后用shell脚本来操作这个c文件,传一个参数进去得出结果,另外,据我所知,shell本来就是用来操作各种文件的,也不知道那位大佬想出了这个"妖魔鬼怪"(😂)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报