习题3参考解答
1.什么是算法?常用描述算法的工具有哪些?
解:所谓算法,就是计算机解决某一个问题的具体方法和步骤。常用描述算法的工具有流程图、N-S图。
2.试用流程图表示求3个数中的最大数的算法。
解:流程图如图1-1所示。
图1-1 求3个数中的最大数的流程图
3.什么是结构化程序设计?它的主要内容是什么?
解:结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用3种基本控制结构构造程序,任何程序都可由顺序、选择、循环这3种基本控制结构构造 。
4.从键盘输入3个整数,按照从小到大的顺序输出。
解:
#include<stdio.h>
int main()
{
int a,b,c,temp;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b){temp=a;a=b;b=temp;}
if(a>c){temp=a;a=c;c=temp;}
if(b>c){temp=b;b=c;c=temp;}
printf("%d,%d,%d\n",a,b,c);
return 0;
}
程序运行情况如下:
12,8,29↙
8,12,29
5.输入一个华氏温度F,要求输出摄氏温度C。公式为
要求要有文字说明,取两位小数。
解:
#include<stdio.h>
int main()
{
float f,c;
printf("请输入一个华氏温度:\n");
scanf("%f",&f);
c=5*(f-32)/9;
printf("%.2f\n",c);
return 0;
}
程序运行情况如下:
请输入一个华氏温度:
36↙
2.22
6.输入一个三位整数,要求输出它的百位数、十位数和个位数。
解:
#include<stdio.h>
int main()
{
int num; /* num表示一个三位整数 */
int a,b,c; /* a,b,c分别表示百位、十位和个位上的数字 */
scanf("%d",&num);
a=num/100;
b=(num-a*100)/10;
c=num-a*100-b*10;
printf("%d,%d,%d\n",a,b,c);
return 0;
}
程序运行情况如下:
123↙
1,2,3
7.小红有面值1分的硬币638枚,可以兑换成几元几角剩余几分?
说明:100枚1分的硬币可以兑换成1元,10枚1分的硬币可以兑换成1角。兑换原则是面额从大到小。
解:
#include<stdio.h>
int main()
{
int a=638;
int yuan;
int jiao;
int fen,temp;
c语言while语句流程图 yuan=a/100;
temp=a%100;
jiao=temp/10;
fen=temp%10;
printf("1元的数量:%d\n",yuan);
printf("1角的数量:%d\n",jiao);
printf("1分的数量:%d\n",fen);
return 0;
}
程序运行结果如下:
1元的数量:6
1角的数量:3
1分的数量:8
8.设圆柱的半径为2.5,圆柱的高为4,求圆柱的体积。用scanf函数输入数据,printf函数输出计算结果,输出时要求有文字说明,取两位小数。
解:
#include<stdio.h>
#define PI 3.1415926
int main()
{
float r,h,v;
printf("Please input r,h:");
scanf("%f,%f",&r,&h);
v=PI*r*r*h;
printf("半径为:%.2f,高为:%.2f的圆柱体体积为:%.2f\n",r,h,v);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论