機試過后很多熱心的網友在考試吧論壇貼出了自己抽到的上級試題,考試吧經過篩選提供以下比較完整的機試題目,僅供參考。更多網友試題請到論壇參與討論
南開第19題:
編寫一個函數findstr(),該函數統(tǒng)計一個長度為2的子字符串在另一個字符串中出現(xiàn)的次數。例如:假定輸入的字符串為"asd asasdfg asd as zx67 asd mklo",子字符串為"as",函數返回值為6。
函數readwriteDat()的功能是實現(xiàn)從文件in.dat中讀取兩個字符穿4,并調用函數findstr(),最后把結果輸出到文件out.dat中。
注意:部分源程序已給出。
請勿改動主函數main()和函數ReadWrite()的內容。
-----------------------
int findStr(char *str,char *substr)
{
/*請參考南開100題*/
}
南開第2題:整數排序題
#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("滿足條件的數=%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) ;
}
粗體為所填內容。請各位看看。用VC調試有2錯1警告。但把粗體答案填上就沒錯。大家可討論一下原因
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |