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

字號:

7.輸入兩個字符串,將它們連接后輸出。
    「解」程序設有兩個存儲字符串的數(shù)組,先輸入兩個字符串,然后找到第一個字符串的末尾,接著將第二個字符串復制在第一個字符串的后面,然后輸出。程序如下:
    # include
    # define N 120
    main()
    { char s1[N+N],s2[N],*p,*q;
    printf(“輸入2個字符串\n”);
    scanf(“%s%s”,s1,s2);
    for(p=sl;* p?。健甛0’; p++);
    for(q=s2;*p++=*q++;);
    printf(“兩字符串連接后:%s\n” ,sl);
    }
    8.比較兩個字符串是否相等。
    「解」程序設兩個存儲字符串的數(shù)組,先輸入兩個字符串,兩字符率比較時,直接用兩字符串的對應字符比較來實現(xiàn)。完整程序如下:
    # include
    # define N 120
    main()
    { char sl[N] ,s2[N],*p,*q;
    char *result[]={“小于”,“相等” ,“大于”};
    int comp;
    printf(“輸入 2個字符串\n”);
    scanf(“%s%s”,s1,s2);
    for(p=sl,q=s2;*q?。健甛0’&& *p==*q; p++, q++);
    comp=*P <* q? 0:*P==*q? l:2;
    printf(“字符串1與字符串2比較:%s\n”,result[comp]);
    }
    9.輸入10個整數(shù),將其中數(shù)與最后一個數(shù)交換,最小數(shù)與第一個數(shù)交換。
    「解」程序設一個一維數(shù)組存儲輸入的10個整數(shù)。然后遍歷數(shù)組,找出元素和最小元素的指針。接著按要求先將元素與最后一個元素交換,然后將最小元素與第一個元素交換。最后,輸出數(shù)組中的全部整數(shù)。程序應考慮到這樣一種特殊情況,即最后一個元素正是最小元素,它在與元素交換后,位置已移到原先存儲元素的位置。程序應保證元素移到末尾,最小元素移到最前端。
    程序如下:
    # include
    # define N 10
    main()
    { int a[N],*maxp,*minp,*q,t;
    printf(“入%d個整數(shù)\n,N);
    for(q=a;q
    scanf(“%d”,&t);*q=t;
    }
    maxp= minp= a;
    for(q=a;q
    if(*maxp<*p) maxp=q;
    if(*minp>*q) minp=q;
    }
    t=*maxp; *maxp=a[N-1]; a[N-l]=t;
    if(minp==&a[N-l]) minp=maxp;
    t=* minp;*minp= a[0]; a[0]= t;
    for(q=a;q
    printf(“%d”,*q);
    printf(“\n”);
    }