自考“高級語言程序設計”習題答案詳解(12)

字號:

4.編一個程序,輸入三個單精度數(shù),輸出其中最小數(shù)。
    「解」設最小數(shù)存于變量min中,為求三個數(shù)中的最小數(shù),可分以下多步完成,先預置min為x,然后分別將其余兩個數(shù)逐一與min比較,當它們中的某個值比存于min中的值更小時,就用它們更新min.寫出程序如下:
    # include
    main()
    { float X,y,Z,min;/*變量定義*/
    printf(“輸入三個單精度浮點數(shù)”);
    scanf(“%f%f%f”, &x,&y,&Z);
    min =x;
    if(min>y) min= y;
    if(min>Z) min=Z;
    printf(“浮點數(shù)%f,%f,%f中的最小值是%f\n”,X,y,Z,min);
    }
    5.編一個程序,求出所有各位數(shù)字的立方和等于1099的3位數(shù)。
    「解」找出所有各位數(shù)字的立方和等于1l99的3位整數(shù)。 3位整數(shù)是100至999范圍內的整數(shù),設分別用a,b,c存儲3位數(shù)的百位、十位和個位的數(shù)字,程序用三重循環(huán)求出a,b,c的立方和為1099的3位數(shù)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位數(shù),循環(huán)體將3位數(shù)變量i分拆出它的百位、十位和個位共3個數(shù)字,然后判這三個數(shù)字的立方和是否是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);
    }
    }