Linux用c语言编程一个计算机程序,用户输入两个数后,输出加减乘除的各个结果

Linux用c语言编程一个计算机程序,用户输入两个数后,输出加减乘除的各个结果,第1张

int main () {

float a, b, res

char op[] = "+-*/", *p =op

scanf("%f %f", &a, &b)

while (*p) {

switch(*p) {

case '+': res = a+b break

case '-': res = a+b break

case '*': res = a+b break

case '/': if (b)res = a/b break

}

printf("%f %c %f = %f\n", a, *p, b, res)

p++

}

return 0

}

可以考虑使用$(())进行数学运算

例如:

[WtbmWdgz@localhost 桌面]$ a=5b=3

[WtbmWdgz@localhost 桌面]$ echo $((a*7-b))

32

这个可以执行加减乘除和取模(就是取余数)的数学计算还有逻辑运算的与、或、非、还有异或运算

与运算是两个条件同时成立结果才成立。或运算是两个条件有一个成立结果就成立。非运算只需要一个条件。条件成立,结果就是否定。条件不成立 ,结果就肯定。比如:下雨就不出门,不下雨就出门。异或也叫半加。它是 两个条件相同,结果是0,就是否定,两条件不同,结果才是肯定或者是1

原来我�‹.shell写的计算器:[root@liuxiting testdir]# cat calculator.sh #!/bin/bashecho "usage: 1+3 <Enter>,q <Enter>is quit"while [ 1 ]doread -p "->>" str 1>>/dev/nulla=`echo $str |awk -F '+|-|*|/' '{print $1}'`if [ $a == q ]thenbreakfib=`echo $str |awk -F '+|-|*|/' '{print $2}'`o=`echo $str |grep -o "[[:punct:]]" | grep -v "\."`case $o in+) awk 'BEGIN{printf " =%.2f\n",'$a'+'$b'}'-) awk 'BEGIN{printf " =%.2f\n",'$a'-'$b'}'\*) awk 'BEGIN{printf " =%.2f\n",'$a'*'$b'}'/)if [ $b -eq 0 ]then echo 0 Can NOT be denominator!continuefi awk 'BEGIN{printf " =%.2f\n",'$a'/'$b'}'#^) awk 'BEGIN{printf " =%.2f\n",'$a'**'$b'}'*) echo erroresacdone 刚刚写的倒序输出:[root@liuxiting testdir]# cat daoXuShuChu.sh #!/bin/bash echo "usage: 123456 <Enter>, q <Enter>is quit"while [ 1 ]doecho -n "Pleasw enter number : " read n if [ $n == 'q' ]then breakfisd=0 rev="" on=$n echo "$n" while [ $n -gt 0 ] do sd=$(( $n % 10 )) # get Remainder n=$(( $n / 10 )) # get next digit rev=$( echo $rev$sd) done echo "$on in a reverse order $rev" done


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

原文地址:https://54852.com/yw/8563706.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存