c语言用while写出长方形,《浙工大C语言课本习题答案》

9. 写出下列程序运行时输入 3 4 5 的输出结果。 #include #include 输出结果:边长为3.00,4.00,5.00的三角形面积为6.00 void main()

{ float a1,a2,a3,s,d;

scanf(\ s=(a1+a2+a3)/2;

s=sqrt(s*(s-a1)*(s-a2)*(s-a3));

printf(\边长为%.2f,%.2f,%.2f的三角形面积为:%-10.3f\\n\ } 10. 编程题

⑴ 编程,用getchar函数接收2个字符,用putchar函数输出这2个字符。 解答: #include void main() { char x;

x=getchar(); putchar(x); x=getchar(); putchar(x); }

⑵ 编程,用scanf函数输入1个10进制整数、1个单精度浮点数、1个双精度浮点数,并通过printf函数把输入的3个数分别输出。

解答: #include void main()

{ int k; float x; double d; scanf(\ printf(\ }

⑶ 编程,输入1个整数,然后分别以8进制、10进制、16进制形式输出该数。 解答: #include void main()

{ int x; scanf(\

printf(\ }

习 题 三

1. 根据下列数学式,写出C的算术表达式。

?(a2?b)?y342?10tan?125?ba?6b?5?c?d5

x??

解答:-(a*a+pow(b,3))*pow(y,4) (sqrt(2)+100)/(atan(x)+3.141593) (5+b)/((a+6)/(b+5)-c*d) 2. 按照要求写出下列C的表达式。

⑴ 数学式 (x+1)e所对应的C算术表达式。

⑵ 将double类型变量x的整数部分与y的小数部分相加的算术表达式。 ⑶ 将非零实型变量x四舍五入到小数点后2位的算术表达式。 ⑷ 为变量s赋值:取变量x 的符号,取变量y的绝对值。 ⑸ 条件“-5≤x≤3”所对应的C逻辑表达式。

⑹ a、b是字符变量,已知a的值为大写字母、b的值为小写字母,写出判断a、b是否为同一字母的逻辑表达式

⑺ int类型变量a、b均为两位正整数,写出判断a的个位数等于b的十位数、且b的个位数等于a的十位数的逻辑表达式。

⑻ 计算变量a、b中较小值的条件表达式。 ⑼ 判断变量ch 是英文字母的表达式;

⑽ 若字符变量ch的值为大写字母,则重新赋值为对应的小写字母。 解答: ⑴

(x+1)*exp(2*x)

(int)x+y-(int)y

(int)(x*100+fabs(x)/x*0.5)/100.0

⑷ s= fabs(y)*x/fabs(x) ⑸ -5<=x && x<=3 ⑹ b-a=='a'-'A' ⑺ a==b/10 && b==a/10 ⑻ a

3. 声明“int k=12;float x=9.5;double d=2.7;char zf='B';”,写出下列表达式值。 ⑴ (int)x%k*d ⑵ k+5.6d ⑸ zf='B' ⑹ zf=='B' 解答:⑴ 24.3,⑵ 1,⑶ 1,⑷ 0,⑸ 'B',⑹ 1 4. 填空题

⑴ 声明“float x=2.5,y=4.7; int a=7;”,表达式x+a%3*(int)(x+y)%2/4值为 2.5 。 ⑵ 设整型变量a、b值分别为10与20,计算c=(a%2==0)?a:b后,c的值为 10 。 ⑶ 设整型变量d的值为7,表达式“3='A' && ch<='z' )ch=ch-32;

⑸ 下列程序的输出结果是 (0.00,0.5) 。 #include void main( ) { int y;

double d=3.4, x; x=(y=d/2.0)/2;

printf(\ }

⑹ 判断a、b是否绝对值相等而符号相反的逻辑表达式为 a==-b 。

⑺ 判断变量a、b中必有且只有一个为0的逻辑表达式为 a*b==0 && a+b!=0 。 ⑻ c初值为3,计算赋值表达式“a=5+(c+=6)”后表达式值、a、c的值依次为 14、14、

2X

6

9 。

⑼ 求解赋值表达式“a=(b=10)%(c=6)”后,表达式值、a、b、c的值依次为 4、4、10、6。

⑽ 求解逗号表达式“x=a=3,6*a”后,表达式值、x、a的值依次为 18、18、3 。 ⑾ 若a=13、b=25、c=-17,表达式“((y=(a='a'&&s<='z')?s-32:s;”后字符变量s的值为 'D' 。 5. 写出下列程序的输出结果。 程序 ⑴ #include void main()

{ unsigned k,n; scanf(\ k=n*10+n/10;

printf(\ }

运行时输入数据为:69 72 输出结果为: n=69 k=96 程序 ⑵ #include void main()

{ int x=40,y=4,z=4;

x=y==z; printf(\ x=x==(y=z); printf(\ }

输出结果为: 1 4 4 0 4 4

程序 ⑶ #include void main() { int x,y,z; x=y=2; z=3;

y=x++-1; printf(\ y=--z+1; printf(\ x=y=z=0; ++x&&++y||++z;

printf(\

--x&&++y&&++z; printf(\ }

输出结果为: 3 1 3 3 3 2 1 1 0 0 1 0

6. 编程,输入长方形的长和宽,求长方形的面积和周长并输出。 解答: #include void main()

{ float a,b,x,y;

scanf(\ printf(\面积=%.4f 周长=%.4f\\n\ }

7. 编程,输入3个字符后,按各字符ASCII码从小到大的顺序输出这些字符。 解答: #include

7

void main()

{ char a,b,c,x,y,z; scanf(\

x=(x=ab?a:b)>c?z:c; y=a+b+c-x-z; printf(\ }

8. 编程,输入3个整数,要求按绝对值从小到大输出它们的值。 解答: #include

#include //也可以用题7的做法 void main()

{ int x,y,z,a; scanf(\ if(fabs(x)>fabs(y)) { a=x;x=y;y=a;} if(fabs(x)>fabs(z)) { a=x;x=z;z=a;} if(fabs(y)>fabs(z)) { a=y;y=z;z=a;} printf(\ }

9. 编程,输入3个数,计算这三个数的平均值,并求出与平均值最接近的值。 解答: #include #include void main()

{ float a,b,c,v,x; scanf(\ v=(a+b+c)/3; x=a;

if(fabs(b-v)10. 编程,输入1个3位正整数,输出其个位、十位、百位反序的数(如123反序数为321)。

解答: #include void main()

{ int n,m; scanf(\

m=n*100+n0/10*10+n/100; printf(\ }

习 题 四

1. 填空题

⑴ 求1至100的和,写作 for(s=0,i=1; i<=100 ;++i) s+=i; ⑵ 执行程序段“y=1;x=5; while(x--); y++;”后,y的值为 2 。 ⑶ 顺序输出26个大写英文字母的循环结构,写作 for( ch='A';ch<='Z';ch++ ) putchar(ch);

⑷ 输入若干个以问号结束的字符,同时输出这串字符(不包括问号),写作 while( (ch=getchar()) !='?') putchar(ch);

8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值