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

字號:

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