亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      自考

      各地資訊
      當(dāng)前位置:華課網(wǎng)校 >> 自考 >> 模擬試題 >> 工學(xué)類 >> C語言程序設(shè)計 >> 文章內(nèi)容

      排行熱點

      • 歷年真題
      • 模擬試題
      • 自考自答

      自學(xué)考試《C語言程序設(shè)計》練習(xí)題及答案_第2頁

      來源:華課網(wǎng)校  [2017年1月31日]  【

        【3.16】下面程序的功能是輸出兩個字符串中對應(yīng)相等的字符。請選擇填空。

        #include

        char x[]="programming";

        char y[]="Fortran";

        main()

        { int i=0;

        while(x[i]!= '\0' && y[i]!= '\0')

        if(x[i]==y[i])

        printf("%c", ① );

        else

        i++;

        }

        【3.17】下面程序的功能是將字符串s中的每個字符按升序的規(guī)則插到數(shù)組a中, 字符串a(chǎn)已排好序。

        #include

        main()

        { char a[20]="cehiknqtw";

        char s[]="fbla";

        int i,k,j;

        for(k=0;s[k]!= '\0';k++ )

        { j=0;

        while(s[k]>=a[j] && a[j]!= '\0' )

        j++;

        for( ① )

       、 ;

        a[j]=s[k];

        }

        puts(a);

        }

        【3.18】下面程序的功能是對鍵盤輸入的兩個字符串進行比較,然后輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如:輸入的兩個字符串分別為"abcdefg"和"abceef",則輸出為-1。

        #include

        main()

        { char str1[100],str2[100],c;

        int i,s;

        printf("Enter string 1: "); gets(str1);

        printf("Enter string 2: "); gets(str2);

        i=0;

        while((str1[i] == str2[i] && str1[i]!= ① ))

        i++;

        s= ② ;

        printf("%d\n", s);

        }

        【3.19】下面的函數(shù)expand在將字符串s復(fù)制到字符串t時, 將其中的換行符和制表符轉(zhuǎn)換為可見的轉(zhuǎn)義字符表示,即用'\n'表示換行符,用'\t'表示制表符。

        expand(char s[],char t[])

        { int i,j;

        for(i=j=0;s[i]!= '\0';i++ )

        switch (s[i])

        { case '\n': t[ ① ] = ② ;

        t[j++] = 'n';

        break;

        case '\t': t[ ③ ] = ④ ;

        t[j++] = 't';

        break;

        default: t[ ⑤ ] = s[i];

        break;

        }

        t[j] = ⑥ ;

        }

        【3.20】下面的函數(shù)index(char s[], char t[])檢查字符串s中是否包含字符串t,若包含,則返回t在s中的開始位置(下標值),否則送回-1。

        index(char s[], char t[])

        { int i,j,k;

        for(i=0;s[i]!= '\0';i++ )

        { for(j=i,k=0; ① && s[j]==t[k];j++,k++) ;

        if( ② )

        return (i);

        }

        return(-1);

        }

        n

        【3.21】下面程序的功能是計算S= k! 。

        k=0

        long fun(int n)

        { int i;

        long s;

        for(i=1;i ① ;i++)

        s*=i;

        return( ② );

        }

        main()

        { int k,n;

        long s;

        scanf("%d",&n);

        s= ③ ;

        for(k=0;k<=n;k++)

        s+= ④ ;

        printf("%ld\n",s);

        }

        【3.22】下面程序的功能是顯示具有n個元素的數(shù)組s中的最大元素。

        #define N 20

        main()

        { int i,a[N];

        for(i=0;i

        scanf("%d",&a[i]);

        printf("%d\n", ① );

        }

        fmax(int s[],int n)

        { int k,p;

        for(p=0,k=p;p

        if(s[p]>s[k]) ② ;

        return(k);

        }

        【3.23】下面程序的功能是由鍵盤輸入n,求滿足下述條件的x、y:

        nx和ny的末3位數(shù)字相同,且x≠y,x、y、n均為自然數(shù),并使x+y為最小。

        #include

        pow3(int n,int x)

        { int i, last;

        for(last=1,i=1;i<=x;i++ )

        last= ① ;

        return(last);

        }

        main()

        { int x,n,min,flag=1;

        scanf("%d", &n);

        for(min=2;flag;min++)

        for(x=1;x

        if( ② && pow3(n,x)==pow3(n,min-x))

        { printf("x=%d,y=%d\n", x, min-x );

        ③ ;

        }

        }

        【3.24】下面的程序是用遞歸算法求a的平方根。求平方根的迭代公式如下:

        #include

        double mysqrt( double a, double x0 )

        { double x1, y;

        x1 = ① ;

        if( fabs(x1-x0)>0.00001 )

        y = mysqrt( ② );

        else y = x1;

        return( y );

        }

        main()

        { double x;

        printf("Enter x: ");

        scanf("%lf", &x);

        printf("The sqrt of %lf=%lf\n", x, mysqrt( x, 1.0) );

        }

        【3.25】以下程序是計算學(xué)生的年齡。已知第一位最小的學(xué)生年齡為10歲,其余學(xué)生的年齡一個比一個大2歲,求第5個學(xué)生的年齡。

        #include

        age( int n )

        { int c;

        if( n==1 ) c=10;

        else c= ① ;

        return(c);

        }

        main()

        { int n=5;

        printf("age:%d\n", ② );

        }

        【3.26】下面的函數(shù)sum(int n)完成計算1~n的累加和。

        sum(int n)

        { if(n<=0)

        printf("data error\n");

        if(n==1) ① ;

        else ② ;

        }

        【3.27】下面的函數(shù)是一個求階乘的遞歸調(diào)用函數(shù)。

        facto(int n)

        { if( n == 1 ) ① ;

        else return( ② );

        }

        【3.28】組合問題,由組合的基本性質(zhì)可知:

        (1) C(m,n)=C(n-m,n)

        (2) C(m,n+1)=C(m,n)+C(m-1,n)

        公式(2)是一個遞歸公式,一直到滿足C(1,n)=n為止。當(dāng)n<2*m時,可先用公式(1) 進行簡化,填寫程序中的空白,使程序可以正確運行。

        #include"stdio.h"

        main()

        { int m,n;

        printf("Input m,n=");

        scanf("%d%d", &m, &n);

        printf("The combination numbeers is %d\n", combin(m,n));

        }

        combin( int m, int n)

        { int com;

        if( n<2*m ) m=n-m;

        if( m==0 ) com=1;

        else if(m==1) ① ;

        else ② ;

        return(com);

        }

        【3.29】下列函數(shù)是求一個字符串str的長度。

         int strlen( char *str )

        { if( ① ) return (0);

          else return ( ② );

        }

        【3.30】用遞歸實現(xiàn)將輸入小于32768的整數(shù)按逆序輸出。如輸入12345,則輸出54321。

        #include"stdio.h"

        main()

        { int n;

        printf("Input n : ");

        scanf("%d", ① );

        r(n);

        printf("\n");

        }

        r( int m )

        { printf("%d", ② );

        m = ③ ;

        if( ④ )

        ⑤ ;

        }

      責(zé)編:zhangjing0102