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

字號(hào):

8.編一個(gè)程序,輸入一個(gè)整型數(shù)據(jù),輸出每位數(shù)字,其間用遠(yuǎn)號(hào)分隔。例如,輸入整數(shù)為2345,則輸出應(yīng)為: 2, 3, 4, 5.
    「解」程序的主要工作是從輸入整數(shù)分拆出它的十進(jìn)制整數(shù)的各位數(shù)字,將分拆出來(lái)的各位數(shù)字存于數(shù)組中,然后將這些數(shù)字自高位到低位的順序逐位輸出。要將一個(gè)整數(shù)按十進(jìn)制數(shù)的要求分拆,需用一個(gè)循環(huán),每次循環(huán)求出被分拆數(shù)除以10的余數(shù)的辦法來(lái)求出它的個(gè)位,每分拆出一位就將被分拆的數(shù)除以10.循環(huán)過(guò)程直至被分拆的數(shù)為0結(jié)束。完整程序如下:
    # include
    main()
    {int a[20],i,base=10;
    int n;
    printf(“Enter a number! \n”);
    scanf(“%d”, &n);/*整數(shù)輸入*/
    i=0;/*對(duì)n進(jìn)行分拆,各位數(shù)字自低位到高位存于數(shù)組 a*/
    do{
    a[i++]=n% base;
    n/= base;
    } while(n) ;
    for(i——;i>=0;i——)/*自高位到低位輸出*/
    printf(“%d%c”,a, i? ‘,’ :“\n‘);
    }
    9.編一個(gè)程序,輸入一個(gè)字符串,將其中所有的大寫(xiě)英文字母的代碼+3,小寫(xiě)英文字母的代碼-3.然后輸出加密后的字符串。
    「解」程序的主要工作是輸入字符串,并順序考察輸入字符率中的字符,分別對(duì)其中大小寫(xiě)英文字母完成問(wèn)題要求的更改,而跳過(guò)不是英文字母的字符。完整程序如下:
    # include
    # define N 200
    main()
    {char s[N]; int i;
    printf(“Enter string! \n”);
    scanf(“%s”, s);
    for(i=0;s !=‘\0’; i++)
    if(s >=‘A’ && s=‘Z’)
    s=3;
    else if(s=‘a(chǎn)’&& s=‘z’ )
    s=3;
    printf(“s=%s\n”,s);
    }