当前位置: 首页 > wzjs >正文

做建设网站的活的兼职军人可以做网站吗

做建设网站的活的兼职,军人可以做网站吗,应用软件app,网站后台验证码出不来1.shell编程:编写一个shell脚本,输入一个奇数,打印对应行数的菱形,如输入5,则打印的图片是:(1)题目解析:本题要求用Shell脚本根据输入奇数n打印n行菱形。我认为核心思路是…

1.shell编程:编写一个shell脚本,输入一个奇数,打印对应行数的菱形,如输入5,则打印的图片是:

(1)题目解析:

本题要求用Shell脚本根据输入奇数n打印n行菱形。我认为核心思路是将菱形拆分为上下两个等腰三角形:上半部分行号从1递增至中间行,下半部分从中间行-1递减至1。每行星号数=2×行号-1,空格数=中间行-当前行号。可以通过双重循环分别生成两部分,结合printf和字符串拼接实现格式化输出。

关键点在于输入验证(确保奇数)和对称性控制,涉及Shell算术运算、循环控制及字符串操作等知识点。

(2)程序代码:

#!/bin/bash# 读取输入并验证是否为奇数read -p "您好,请输入一个奇数: " nif ! [[ "$n" =~ ^[0-9]+$ ]] || [ $((n % 2)) -eq 0 ]; thenecho "您的输入有错误:输入必须为正奇数。"exit 1fimid=$(( (n + 1) / 2 ))  # 计算中间行# 生成上半部分菱形for ((i=1; i<=mid; i++)); dospaces=$(( mid - i ))stars=$(( 2*i - 1 ))# 生成空格和星号字符串space_str=$(printf "%*s" $spaces)star_str=$(printf "%0.s*" $(seq 1 $stars))echo "${space_str// / }${star_str}"done# 生成下半部分菱形for ((i=mid-1; i>=1; i--)); dospaces=$(( mid - i ))stars=$(( 2*i - 1 ))space_str=$(printf "%*s" $spaces)star_str=$(printf "%0.s*" $(seq 1 $stars))echo "${space_str// / }${star_str}"done

将上述代码保存为Shell的脚本文件diamond.sh。

  1. 代码解释:

1)输入验证:使用正则表达式和算术运算确保输入为正奇数。

2)菱形结构分解:

  1. 中间行号 mid = (n+1)/2。
  2. 上半部分:从第1行到中间行,每行星号数递增(1,3,5...)。
  3. 下半部分:从中间行-1到第1行,每行星号数递减。

3)字符串构造:

  1. 空格数 = 中间行号 - 当前行号。
  2. 星号数 = 2×当前行号 – 1。
  3. 使用 printf 生成空格,seq 生成重复星号。

(4)程序分析:

1)开始:程序启动。

2)提示输入:显示提示信息,要求用户输入一个奇数。

3)读取输入:捕获用户输入的值。

4)验证是否为数字:

若输入非数字(如字母、符号),则显示错误信息并结束程序。若输入为数字,则进入下一步验证。

5)验证是否为奇数:

若输入为偶数,则显示错误信息并结束程序。若输入为奇数,则计算菱形的中间行号 mid。

6)生成上半部分菱形:

循环从第1行到中间行号 mid。每行计算空格数(mid - 当前行号)和星号数(2×当前行号 - 1)。生成对应数量的空格和星号,拼接后输出。

7)生成下半部分菱形:

循环从中间行号-1递减到第1行。每行计算空格数(mid - 当前行号)和星号数(2×当前行号 - 1)。生成对应数量的空格和星号,拼接后输出。

8)结束:程序执行完毕。

可制作流程图,如下图所示:

(5)运行结果:

1)测试1:

当输入数字为5时,预计输出为5行的菱形,实际输出如下图所示:

2)测试2:

当输入数字为1时,预计输出为单星号,实际输出如下图所示:

3)测试3

当输入数字为7时,预计输出为7行的菱形,实际输出如下图所示:

4)测试4

当输入数字为4时,预计输出错误提示,实际输出如下图所示:

5)测试5

当输入数字为abc时,预计输出错误提示,实际输出如下图所示:

(6)结果分析:

测试用例

输入

预期输出

实际输出

结果

正常输入

5

5行菱形

√ 匹配

通过

边界值

1

单星号

√ 匹配

通过

较大奇数

7

7行菱形

√ 匹配

通过

偶数输入

4

错误提示

√ 匹配

通过

非法字符

abc

错误提示

√ 匹配

通过

由此可知,程序比较好地完成了题目要求。在基于上述测试结果的基础上,对本程序进行总结分析如下:

1)本程序涉及的Linux理论知识点

  1. Shell脚本基础:变量赋值、算术运算 $(( ))、条件判断 [[ ]]。
  2. 字符串操作:printf 格式化输出、参数扩展 ${var//pattern/replacement}。
  3. 循环控制:for 循环语法、C风格循环 ((i=1; i<=n; i++))。
  4. 输入输出:read 命令交互式输入、echo 输出重定向。

2)实现难点

  1. 对称性控制:确保上下半部分空格和星号数量严格对称。
  2. 字符串拼接:Shell中需通过子shell或循环生成重复字符。
  3. 错误处理:对非数字输入和偶数的健壮性验证。

文章转载自:

http://r4pf7P8h.fgxnb.cn
http://5gFh1fJI.fgxnb.cn
http://C5hk4Lgf.fgxnb.cn
http://NRXsTKHL.fgxnb.cn
http://dwBrrdou.fgxnb.cn
http://A8LW7HS1.fgxnb.cn
http://iW1E4l3t.fgxnb.cn
http://PSmqXhxV.fgxnb.cn
http://us1B8MNZ.fgxnb.cn
http://h3HbQIQA.fgxnb.cn
http://nk8Hzv8D.fgxnb.cn
http://HwyuKi0l.fgxnb.cn
http://XWqzl5Rw.fgxnb.cn
http://iqn5tULF.fgxnb.cn
http://gEhcxHSM.fgxnb.cn
http://pZ46zvxC.fgxnb.cn
http://nuhcytRb.fgxnb.cn
http://RjT3kewu.fgxnb.cn
http://hYcbQmS5.fgxnb.cn
http://sI7q9lzJ.fgxnb.cn
http://dOJGncpp.fgxnb.cn
http://6Md2FQM6.fgxnb.cn
http://DN5F7bbP.fgxnb.cn
http://VBXQlgPN.fgxnb.cn
http://4sEsbUNf.fgxnb.cn
http://G3IakMag.fgxnb.cn
http://EGqHmdIA.fgxnb.cn
http://FqNFCyrr.fgxnb.cn
http://6Ist3AOm.fgxnb.cn
http://WlpM4LOQ.fgxnb.cn
http://www.dtcms.com/wzjs/657885.html

相关文章:

  • phpcms如何做装饰网站公司做网站流程流程
  • 嘉兴建设企业网站外包服务属于什么行业
  • 网站建设 中企动力 扬州公证网站建设管理
  • 淮安市汽车网站建设背景网络优化工程师实习报告
  • 工业设计网站外网北京企业网站制作
  • 网站域名备案证书小制作简单易学
  • 免费下载图片的网站有哪些东莞常平镇地图
  • 用了wordpress的网站顺德微信网站建设
  • 网站建设开发合同北京王府井在哪个区
  • 桥梁建设网站高邮建设银行网站
  • 安徽池州做企业网站wordpress mysql 安装
  • 郑州网站设计公司排名西安推广网站
  • 凡客建设网站稳定吗网站建设朋友圈
  • 电脑做网站服务器WIN7 买个域名wordpress 爬
  • 网站平面模板上海企业电话查询
  • 某某网站安全建设方案wordpress 转 html
  • 网站开发用什么数据库dedecmsv5.6 qq空间网站模板
  • 福州网站搭建洛阳建设网站的公司
  • 购物网站制作费用做的烂的网站
  • 网站备案相关前置许可企业网站建设主要包括哪些内容
  • 快递网站模版深圳定制开发公司
  • 贵州建设工程招投标协会网站网站开发 技术投标
  • 建网站的详细技术卢松松网站的百度广告怎么做的
  • 珠海网站制作报价建设外贸网站案例
  • 网站建设竞价托管服务网易企业邮箱服务器配置
  • 用dw设计网站模板下载介绍自己公司的范文
  • 生态农业网站建设方案肇庆网站快速排名优化
  • 做教育集团的网站建设微信开放平台介绍
  • 如何添加百度指数网站开发和优化关系
  • 深圳网站建设深圳网站目录结构怎么做