位置:首页 > 自考专业

自考“高级语言程序设计”习题答案详解(12)

  • 发布时间:2024-09-15 16:21:23
  • 来源:本站整理
  • 阅读:
导读:
  4.编一个程序,输入三个单精度数,输出其中最小数。
  「解」设最小数存于变量min中,为求三个数中的最小数,可分以下多步完成,先预置min为x,然后分别将其余两个数逐一与min比较,当它们中的某个值比存于min中的值更小时,就用它们更新min.写出程序如下:
  # include
  main()
  { float X,y,Z,min;/

4.编一个程序,输入三个单精度数,输出其中最小数。

「解」设最小数存于变量min中,为求三个数中的最小数,可分以下多步完成,先预置min为x,然后分别将其余两个数逐一与min比较,当它们中的某个值比存于min中的值更小时,就用它们更新min.写出程序如下:

# include

main()

{ float X,y,Z,min;/*变量定义*/

printf(“输入三个单精度浮点数”);

scanf(“%f%f%f”, x, y, Z);

min =x;

if(min y) min= y;

if(min Z) min=Z;

printf(“浮点数%f,%f,%f中的最小值是%f\n”,X,y,Z,min);

}

5.编一个程序,求出所有各位数字的立方和等于1099的3位数。

「解」找出所有各位数字的立方和等于1l99的3位整数。 3位整数是100至999范围内的整数,设分别用a,b,c存储3位数的百位、十位和个位的数字,程序用三重循环求出a,b,c的立方和为1099的3位数a*100+b*10+c.程序如下:

# include

main()

{ int a,b, c;/*变量定义*/

for(a=1; a =9;a++)

for(b=0; b =9; b++)

for(c=0;c =9;c++)

if(a*a*a+b*b*b+c*c*c==1099)

printf(“%d\n”,(10*a+b)*10+c);

}

若用一个变量i表示3位数,循环体将3位数变量i分拆出它的百位、十位和个位共3个数字,然后判这三个数字的立方和是否是1099,若是就输出该变量的值。程序如下:

# include

main()

{ int i,a,b, c;/*变量定义*/

for (i=100;i =999;i++) {

a=i/100;

b=(i0)/10; /*或b=(i/10)%l0*/

c=i;

if(a*a*a+b*b*b+c*c*c==1099)

printf(“%d\n”, i);

}

}

相关阅读