教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

上海市计算机二级考试(C语言)复习资料题目(13)

来源:网络收集 时间:2026-08-26
导读: #include #include void f(char *x, int m) { char w; int i,j,n; n=strlen(x); for (j=0; j main() { char *g=\ f(g,3); printf(\} 14. 本程序首先从磁盘文件d:\\input.dat中读入一组字符,存放在字符型数组a中,

#include #include void f(char *x, int m) { char w; int i,j,n; n=strlen(x);

for (j=0; j

main()

{ char *g=\ f(g,3);

printf(\}

14. 本程序首先从磁盘文件d:\\input.dat中读入一组字符,存放在字符型数组a中,并对该组字符进行排序,最后将排好序的这组字符送入磁盘文件d:\\output.dat中保存,同时在屏幕上显示排序后的字符。 #include #define N 10 main()

{ FILE *fp;

char a[N],temp; int i,flag;

fp=fopen(“d:\\\\input.dat”,\

for ( i=0; i

for ( i=_____②_____; i } while (flag);

fp=fopen(“d:\\\\output.dat”,\

for ( i=0; i

for ( i=0; i

15. 函数m( int *a, int n )用于整理数组a[ ] 的前n个元素,使其中小于零的元素移到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组的中间。算法说明: 令a[0]~ a[low-1]小于零(初始为空);a[low]~ a[ i-1]等于零;a[high + 1]~ a [n-1]大于零;a [i]~ a[high]还未考察,当前考察元素为a[i]。 初始时low、i为零;high为n-1。

m ( int *a, int n)

{ int i, low, high, t; low = i = 0; high = n-1; while( i<=high ) if (a[i] <0 )

{ t = a[i] ; a[i] = a[low]; a[low] = t; _____①_______; i++; }

else if ( ______②______ )

{ t = a[i] ; a[i] = a[high] ; a[high] = t ; ________③___________; }

else i++; }

16. 以下maxs函数使用递归法求一个一维数组的最大值,参数n为数组a[]的元素个数。

#include

int maxs(int a[], int n) { int maxother=0 ;

if(n<=1) return _① ; maxother=maxs( _②_ , n-1);

if( _③_ ) return a[0] ; else return maxother; }

main()

{ int x[5]={10, 99, 71, 50, 66}; printf(“%d\\n”,max(x,5) ); }

17. 以下程序输入10行字符,按字符串顺序从低到高排序。

#include #define N 10

int bigthan( char *str1, char *str2 ) { /*若字符串str1比str2大,则返回1*/ for ( ; *str1 || *str2; ① ) { if ( *str1 >= *str2 )

return _② ; if ( *str1 < *str2 ) return 0 ; } }

main()

{ char ls[N][100]; char *ps[N], *t; int i, j;

for ( i = 0; i < N; i++ ) { gets( ls[i] ); ps[i] = ls[i]; }

for ( i = 0; i < N-1; i++ ) for ( j = 0; j < N-i-1; j++ ) if ( bigthan( _③ ) ) { /*气泡排序法*/ t = ps[j];

ps[j] = ps[j+1]; ps[j+1] = t; }

for ( i = 0; i < N; i++ ) printf( \}

18. 本程序的功能是把两个字符串合并且按升序排列,首先对字符串a按ASCII码值从小到大升序排列,然后把字符串b中的字符按升序规则插入到已排好序的字符串a中去。

#include #include main()

{ int i, j, k, n;

char a[80]= “zkcvbn”, b[80]= “askd”; n = strlen(a);

for (______①______; i++)

for( ______②_________;j++) if(a[j] < a[i])

{ k = a[i]; a[i] = a[j]; a[j] = k; } for( k = 0; b[k]; k++)

{ for( j = 0; b[k] > a[j]&&a[j];j++ ); for(i = n; ③ ; i--) a[i+1]=a[i];

________④_________; a[___⑤____] = ‘\\0’; }

printf(“\\nmerge string is %s”, a);

}

上海市计算机二级考试(C语言)复习资料题目(13).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614451.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)