国家计算机二级考试程序修改与设计(3)
2008-03-08 12:42:37 来源:WEB开发网核心提示:二级C程序修改3 === 试题说明 : === 给定程序MODI1.C中函数 fun 的功能是:将既在字符串s中出 现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字 符按原字符串中字符顺序排列,国家计算机二级考试程序修改与设计(3),不去掉重复字符, 例如:当s=&quo
二级C程序修改3
===========================================
试题说明 :
===========================================
给定程序MODI1.C中函数 fun 的功能是:将既在字符串s中出
现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字
符按原字符串中字符顺序排列,不去掉重复字符。
例如:当s="ABBCDE",t="BDFG"时,u中的字符串为:"BBD"。
请改正函数fun中的错误,使它能得出正确的结果。注重:不
要改动main函数,不得增行或删行,也不得更改程序的结构!
===========================================
程序 :
===========================================
#include
#include
#include void fun (char *s, char *t, char *u)
{ int i, j, sl, tl;
sl = strlen(s); tl = strlen(t);
for (i=0; i { for (j=0; j if (s[i] == t[j]) break;
/************found************/
if (j>=tl)
*u++ = s[i];
}
/************found************/
*u = '0';
} main()
{ char s[100], t[100], u[100];
clrscr();
PRintf("\nPlease enter string s:"); scanf("%s", s);
printf("\nPlease enter string t:"); scanf("%s", t);
fun(s, t, u);
printf("The result is: %s\n", u);
}
===========================================
所需数据 :
===========================================
#2
@1 001004
if(jif(!(j>=tl))
if(tl>j)
if(!(tl<=j))
@2 001006
*u='\0';
*u=0;
(*u)='\0';
(*u)=0;
u[0]='\0';
u[0]=0;
二级C程序设计3
===========================================
试题说明 :
===========================================
函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数
一一对应相乘,结果存在c数组中。
例如: 当a数组中的值是:1、3、5、7、8
b数组中的值是:2、3、4、5、8
调用该函数后,c中存放的数据是:8、15、20、21、16
注重: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
===========================================
程序 :
===========================================
#include
#include void fun(int a[], int b[], int c[], int n)
{
} main()
{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
clrscr();
fun(a, b, c, 5);
printf("The result is: ");
for (i=0; i<5; i++) printf("%d ", c[i]);
printf("\n");
NONO();
} NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int a[100], b[100], c[100], i, j ;
rf = fopen("in.dat", "r") ;
wf = fopen("bc03.dat","w") ;
for(i = 0 ; i < 5 ; i++) {
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
fun(a, b, c, 5) ;
for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
}
===========================================
所需数据 :
===========================================
@2 IN.DAT 010
1,2,3,4,5
6,7,8,9,10
2,3,5,6,7
1,4,6,7,9
11,7,2,4,8
8,7,2,3,5
9,10,3,4,7
8,11,4,6,8
4,3,1,9,7
3,4,8,10,9
#E
@3 $BC03.DAT 005
10 18 24 28 30
18 21 30 24 7
55 21 4 28 64
72 60 12 44 56
36 30 8 36 21
#E
===========================================
试题说明 :
===========================================
给定程序MODI1.C中函数 fun 的功能是:将既在字符串s中出
现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字
符按原字符串中字符顺序排列,不去掉重复字符。
例如:当s="ABBCDE",t="BDFG"时,u中的字符串为:"BBD"。
请改正函数fun中的错误,使它能得出正确的结果。注重:不
要改动main函数,不得增行或删行,也不得更改程序的结构!
===========================================
程序 :
===========================================
#include
#include
#include void fun (char *s, char *t, char *u)
{ int i, j, sl, tl;
sl = strlen(s); tl = strlen(t);
for (i=0; i { for (j=0; j if (s[i] == t[j]) break;
/************found************/
if (j>=tl)
*u++ = s[i];
}
/************found************/
*u = '0';
} main()
{ char s[100], t[100], u[100];
clrscr();
PRintf("\nPlease enter string s:"); scanf("%s", s);
printf("\nPlease enter string t:"); scanf("%s", t);
fun(s, t, u);
printf("The result is: %s\n", u);
}
===========================================
所需数据 :
===========================================
#2
@1 001004
if(jif(!(j>=tl))
if(tl>j)
if(!(tl<=j))
@2 001006
*u='\0';
*u=0;
(*u)='\0';
(*u)=0;
u[0]='\0';
u[0]=0;
二级C程序设计3
===========================================
试题说明 :
===========================================
函数fun的功能是:把a数组中的n个数和b数组中逆序的n个数
一一对应相乘,结果存在c数组中。
例如: 当a数组中的值是:1、3、5、7、8
b数组中的值是:2、3、4、5、8
调用该函数后,c中存放的数据是:8、15、20、21、16
注重: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun
的花括号中填入你编写的若干语句。
===========================================
程序 :
===========================================
#include
#include void fun(int a[], int b[], int c[], int n)
{
} main()
{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
clrscr();
fun(a, b, c, 5);
printf("The result is: ");
for (i=0; i<5; i++) printf("%d ", c[i]);
printf("\n");
NONO();
} NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int a[100], b[100], c[100], i, j ;
rf = fopen("in.dat", "r") ;
wf = fopen("bc03.dat","w") ;
for(i = 0 ; i < 5 ; i++) {
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
fun(a, b, c, 5) ;
for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
}
===========================================
所需数据 :
===========================================
@2 IN.DAT 010
1,2,3,4,5
6,7,8,9,10
2,3,5,6,7
1,4,6,7,9
11,7,2,4,8
8,7,2,3,5
9,10,3,4,7
8,11,4,6,8
4,3,1,9,7
3,4,8,10,9
#E
@3 $BC03.DAT 005
10 18 24 28 30
18 21 30 24 7
55 21 4 28 64
72 60 12 44 56
36 30 8 36 21
#E
更多精彩
赞助商链接