linux c编写一个求一千以内所有是一个数的平方并且该数中有两个数是相同的数的程序

linux c编写一个求一千以内所有是一个数的平方并且该数中有两个数是相同的数的程序,第1张

你是优优吗?

#不好意思,没看到你要求C语言,可惜我不会。

运行结果:

$ ./square.sh

100

121

144

225

400

441

484

676

900

sum is 3491

下面是bash脚本square.sh:

#!/bin/bash

sum=0

cacl_char_num()

{

num=$1

cache=`echo $num|fold -w1`

for digit in {0..9}

do

samecharnum=`echo "$cache"|grep -c -o $digit `

if [ "$samecharnum" -gt 1 ]

then

echo "yes"

break

fi

done

}

for i in `echo {1..1000}`#计算 1到 1000

do

VARIABLE=$(echo "sqrt($i)" | bc -l)

VARIABLE=`echo $VARIABLE |sed -r 's/\.0+$//'`

#echo $VARIABLE

if [ "$VARIABLE" -eq "$VARIABLE" >&/dev/null ]then # test if integer

#echo "'$VARIABLE' is indeed an integer"

ddd=`cacl_char_num $i`

#echo $ddd

if [ "x"$ddd = "xyes" ]

then

echo $i

let "sum=$sum + $i"

fi

fi

done

echo

echo 'sum is '$sum

你到底是说LINUX的命令行(SHELL)还是说LINUX下的C语言编程啊

LINUX的命令行,通常是以0表示成功

[root@localhost ~]#ls /tmp

0296001329 sess_2b9b30e06876b57bc35f6d6fc995ec5b2b48da21

[root@localhost ~]#echo $?

0

0表示命令执行成功

[root@localhost ~]#ls /abcdefghijkl

ls: /abcdefghijkl: No such file or directory

[root@localhost ~]#echo $?

1

如果是C语言中,则按惯例,非0表示真,0表示假。我是说惯例,具体请自已看函数说明。

其实不管是哪个,都是一个约定而已,不要死死地记住0就是成功非0就是失败什么的,要知道它返回的是什么东西。比如我目前就在用一个脚本,它的功用就是得到服务器(游戏服务器)的在线人数。它是个SHELL。那他返回0时我是不是说它成功?错!什么都不表示,只表示0人在线。

如果是在平时游戏运营中那这个0就表示失败或异常(没有人在线不是异常是什么?)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7128639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存