c語言程式設計可以作為系統設計語言,編寫工作系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。因此,它的應用範圍廣泛。下面是關於計算機等級程式設計上機操作題,歡迎大家參考!
一、程式設計題
請編寫函式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);
}