機(jī)試過后很多熱心的網(wǎng)友在考試吧論壇貼出了自己抽到的上級試題,考試吧經(jīng)過篩選提供以下比較完整的機(jī)試題目,僅供參考。更多網(wǎng)友試題請到論壇參與討論
南開第19題:
編寫一個函數(shù)findstr(),該函數(shù)統(tǒng)計一個長度為2的子字符串在另一個字符串中出現(xiàn)的次數(shù)。例如:假定輸入的字符串為"asd asasdfg asd as zx67 asd mklo",子字符串為"as",函數(shù)返回值為6。
函數(shù)readwriteDat()的功能是實現(xiàn)從文件in.dat中讀取兩個字符穿4,并調(diào)用函數(shù)findstr(),最后把結(jié)果輸出到文件out.dat中。
注意:部分源程序已給出。
請勿改動主函數(shù)main()和函數(shù)ReadWrite()的內(nèi)容。
-----------------------
int findStr(char *str,char *substr)
{
/*請參考南開100題*/
}
南開第2題:整數(shù)排序題
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{ int i,j,qw,bw,sw,gw;
for(i=0;i<MAX;i++)
{ qw=a[i]/1000; bw=a[i]/100%10;
sw=a[i]%100/10; gw=a[i]%10;
if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("滿足條件的數(shù)=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}
粗體為所填內(nèi)容。請各位看看。用VC調(diào)試有2錯1警告。但把粗體答案填上就沒錯。大家可討論一下原因