自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(12)

字號(hào):

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