2017年計算機等級程序設計上機操作題

學識都 人氣:2.93W

c語言程序設計可以作爲系統設計語言,編寫工作系統應用程序,也可以作爲應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它的應用範圍廣泛。下面是關於計算機等級程序設計上機操作題,歡迎大家參考!

2017年計算機等級程序設計上機操作題

一、編程題

請編寫函數fun,其功能是:判斷t所指字符串中的字母是否由連續遞增字母序列組成(字符串長度大於等於2)。例如字符串:uvwxyz滿足要求;而字符串:uvxwyz不滿足要求。

注意:部分源程序存在PROG1.C中,請勿改動主函數main和其他函數中的任何內容,僅在函數fun指定的部位填入所編寫的若干語句。

#include

#include

#include

int fun( char *t )

{

}

main()

{ char s[26];

printf("請輸入一個字母組成的字符串 : "); gets(s);

if( fun(s) ) printf("%s 是由連續字母組成的字符串.n", s );

else printf("%s 不是由連續字母組成的字符串!n", s );

/ *NONO(); */

}

二、改錯題

函數fun的功能是:將一副撲克牌編號爲1,2,3...53,54,以某種特定的方式洗牌,這種方式是將這副牌分成兩半,然後將它們交叉,並始終保持編號爲1的牌在最上方,譬如第一次這樣洗牌後的結果爲:1,28,2,29,...53,27,54。兩次洗牌後的結果爲:1,41,28,15,2,42...53,40,27,14,54。

程序的功能是:輸出經過n次這樣洗牌後的結果。

請在程序的'下劃線處填入正確的內容,並把下劃線刪除,使程序得出正確的結果。

注意:源程序存放在考生文件夾下的BLANK1.C中。

不得增行或刪行,也不得更改程序的結構!

#include

void fun( int a[55], int n )

{ int i, k ;

/**********found**********/

int __(1)__[55];

for (i=0; i

{ for (k=1; k<= 27; k++)

{ b[ 2*k-1 ] = a[k];

/**********found**********/

b[ __[2]___* k ] = a[k+27];

}

for (k=1; k<=54; k++)

/**********found**********/

a[k]=___(3)___;

}

}

main( )

{ int m, a[55],i;

for (i=1; i<55; i++) a[i]= i;

printf("請輸入洗牌次數 : "); scanf("%d", &m);

fun(a, m);

for (i=1; i<55; i++) printf("%d,",a[i]);

printf("n");

}

二、改錯題

給定程序MODI1.C中,函數fun的功能是:判斷輸入的任何一個正整數n,是否等於某個連續正整數序列之和。若是,則輸出所有可能的序列。否則輸出“不能分解”。

例如:當輸入100時,輸出:100=9+10+11+12+13+14+15+16

100=18+19+20+21+22

請改正函數fun中指定部位的錯誤,使它能得出正確的結果。

注意:不要改動mam函數,不得增行或刪行,也不得更改程序的結構。

#include

void fun( int n )

{ int j, b, c, m, flag=0;

for (b=1; b<=n/2; b++) {

/**********found**********/

n = m;

c = b;

while (m !=0 && m>=c) {

/**********found**********/

m = m - c; c++

}

/**********found**********/

if ( m!=0)

{ printf("%d=", n);

for (j=b; j

printf("%dn", j);

flag=1;

}

}

if(flag==0)

printf("不能分解n");

}

main()

{ int n;

printf("請輸入一個整數 : "); scanf("%d", &n);

fun(n);

}