[其它考试]二级C语言09年的100原题.doc
《[其它考试]二级C语言09年的100原题.doc》由会员分享,可在线阅读,更多相关《[其它考试]二级C语言09年的100原题.doc(229页珍藏版)》请在三一文库上搜索。
1、一1. 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。#include #include #define N 5typedef struct int num; char name10; char tel10;STYPE;void check();/*found*/int fun(STYPE *std)/*found*/ FILE *fp; int i; if(fp=fopen(myfile5.dat,wb)=NULL) return(0); pr
2、intf(nOutput data to file !n); for(i=0; iN; i+)/*found*/ fwrite(&stdi, sizeof(STYPE), 1, fp); fclose(fp); return (1);main() STYPE s10= 1,aaaaa,111111,1,bbbbb,222222,1,ccccc,333333, 1,ddddd,444444,1,eeeee,555555; int k; k=fun(s); if (k=1) printf(Succeed!); check(); else printf(Fail!);void check() FIL
3、E *fp; int i; STYPE s10; if(fp=fopen(myfile5.dat,rb)=NULL) printf(Fail !n); exit(0); printf(nRead file and output to screen :n); printf(n num name teln); for(i=0; iN; i+) fread(&si,sizeof(STYPE),1, fp); printf(%6d %s %sn,si.num,si.name,si.tel); fclose(fp);2.给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话
4、号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。例如:当s中的字符串为:“ABCDE”时,则t中的字符串为“ABCDEEDCBA”。#include #include void fun (char *s, char *t) int i, sl; sl = strlen(s);/*found*/ for(i = 0 ; i sl ; i+) ti = si; for (i=0; isl; i+)tsl+i = ssl-i-1;/*found*/ t2*sl = 0;main() char s100, t100; printf(nPl
5、ease enter string s:); scanf(%s, s); fun(s, t); printf(The result is: %sn, t);3. 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12时,调用该函数后,c=4152。#include void fun(int a, int b, long *c) *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);main() int a,b;
6、long c; printf(Input a, b:); scanf(%d,%d, &a, &b); fun(a, b, &c); printf(The result is: %dn, c); NONO();NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(C:WEXAM24990001in.dat, r) ; wf = fopen(C:WEXAM24990001out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %
7、d,%d, &a, &b) ; fun(a, b, &c) ; fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ;二1.从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.tet中,用-1(独立一行)作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。#include #include #include void WriteText(FILE *);void ReadText(FILE *);main() FILE *f
8、p; if(fp=fopen(myfile4.txt,w)=NULL) printf( open fail!n); exit(0); WriteText(fp); fclose(fp); if(fp=fopen(myfile4.txt,r)=NULL) printf( open fail!n); exit(0); ReadText(fp); fclose(fp);/*found*/void WriteText(FILE *fw) char str81; printf(nEnter string with -1 to end :n); gets(str); while(strcmp(str,-1
9、)!=0) /*found*/ fputs(str,fw); fputs(n,fw); gets(str); void ReadText(FILE *fr) char str81; printf(nRead file and output to screen :n); fgets(str,81,fr); while( !feof(fr) ) /*found*/ printf(%s,str); fgets(str,81,fr); 2.从低位开始取出长整形变量s中奇数位数上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。#include /*found*/void fun (long
10、s, long *t) long sl=10; *t = s % 10; while ( s 0) s = s/100; *t = s%10 * sl + *t;/*found*/sl = sl*10; main() long s, t; printf(nPlease enter s:); scanf(%ld, &s); fun(s, &t); printf(The result is: %ldn, t);3.将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。#include void
11、 fun(int a, int b, long *c) *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);main() int a,b; long c; printf(Input a, b:); scanf(%d,%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c); NONO();NONO ( )/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(C:WEXAM2499000
12、1in.dat, r) ; wf = fopen(C:WEXAM24990001out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %d,%d, &a, &b) ; fun(a, b, &c) ; fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ;三1.给定程序中,函数fun的功能是:将自然数110以及他们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。#include #include int fun(char *fname ) FILE
13、 *fp; int i,n; float x; if(fp=fopen(fname, w)=NULL) return 0; for(i=1;i=10;i+)/*found*/ fprintf(fp,%d %fn,i,sqrt(double)i); printf(nSucceed!!n);/*found*/ fclose(fp); printf(nThe data in file :n);/*found*/ if(fp=fopen(fname,r)=NULL) return 0; fscanf(fp,%d%f,&n,&x); while(!feof(fp) printf(%d %fn,n,x);
14、 fscanf(fp,%d%f,&n,&x); fclose(fp); return 1;main() char fname=myfile3.txt; fun(fname);2.给定程序MODI1.C中的函数fun的功能是:将n个无序整数从小到大排序。#include #include fun ( int n, int *a ) int i, j, p, t; for ( j = 0; jn-1 ; j+ ) p = j;/*found*/ for ( i=j+1; iai )/*found*/ p=i; if ( p!=j ) t = aj; aj = ap; ap = t; putarr(
15、 int n, int *z ) int i; for ( i = 1; i = n; i+, z+ ) printf( %4d, *z ); if ( !( i%10 ) ) printf( n ); printf(n);main() int aa20=9,3,0,4,1,2,5,6,8,10,7, n=11; printf( nnBefore sorting %d numbers:n, n ); putarr( n, aa ); fun( n, aa ); printf( nAfter sorting %d numbers:n, n ); putarr( n, aa );3.函数fun的功
16、能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在个位和百位上,b数的十位和个位数依次放在十位和千位上。#include void fun(int a, int b, long *c) *c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);main() int a,b; long c; printf(Input a, b:); scanf(%d,%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c); NONO();NONO ( )/* 本函数用于打开
17、文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen(C:WEXAM24990001in.dat, r) ; wf = fopen(C:WEXAM24990001out.dat,w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %d,%d, &a, &b) ; fun(a, b, &c) ; fprintf(wf, a=%d,b=%d,c=%ldn, a, b, c) ; fclose(rf) ; fclose(wf) ;四1调用函数fun就爱那个指定源文件中的内容复制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 其它考试 其它 考试 二级 语言 09 100
链接地址:https://www.31doc.com/p-1968507.html