习题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小时内删除。