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

字號:

2.編程序,輸入10個整數(shù)存入一維數(shù)組,再按逆序重新存放后再輸出。
    「解」將數(shù)組的元素逆序重新存放,就是將數(shù)組的首尾對應(yīng)元素兩兩交換。簡單地可用兩個游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個變量值為下標(biāo)的數(shù)組元素。開始時,i的值為0,j的值為末元素的下標(biāo)。每次交換后,i增1,j減1.繼續(xù)交換的
    條件是i    # include
    main()
    { int a[10], i,j,t,n=10;
    printf(“Enter %d numbers! \n”, n);
    for(i=0;i    scanf(“%d”,&a );
    for(i=0,j=n-1;i    t= a; a=a[j] ;a[j] =t;
    }
    for(i=0; i    printf(“%d\t”, a);
    printf(“\n”);
    }
    3.編程序,輸入兩個字符串(<40個字符) ,連接后輸出(不準(zhǔn)用系統(tǒng)函數(shù)) .
    「解」將字符串s2連接到字符串s1的計算過程可分兩個步驟完成。首先找到字符串s1的末尾,然后參照字符串s2,將字符串s2的全部有效字符逐一復(fù)制到字符串s1,最后在字符串s1的末尾接上字符率結(jié)束標(biāo)記符。完整程序如下:
    # include
    # define N 40
    main()
    { char s1[N] ,s2[N];
    int i,j;
    printf(“Enter stringl!\n”);
    scanf(“%s”,s1);
    printf(“Enter string2! \n”);
    scanf(“%s”, s2);
    for(i=0; sl?。健甛0’ ; i++) ;
    for(j=0;s2[j]!=‘\0’ ;i++,j++)
    so=s[j] ;
    s1=‘\0’
    printf(“sl=%s\n” ,sl);
    }