任务29:函数的嵌套调用及实际应用 《编程语言-C语言》45分钟专题训练
|
2份
|
33页
|
74人阅读
|
1人下载
内容正文:
湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《编程语言—C语言》
项目五: 函数
第29卷: 函数的嵌套调用及实际应用
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共23小题,每小题2分,共46分)
1.下列叙述中,正确的一项是( )
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用都可以嵌套
D.函数的定义和函数的调用都不可以嵌套
2.以下程序是用来计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请你选择填空。( )
float f(float a,float b)
{float s;
s=【 】;
return s;}
main()
{float x,y,z;
float d;
scanf("%f%f%f",&x,&y,&z);
d=f(x+y,x-y)+f(z+y,z-y);
printf("%f
",d);
getch();}
A.(a+b)/(a-b) B.a/b C.(a-b)/(a+b) D.b/a
3.执行以下程序段的输出结果是( )
static int f=1;
int fun(int n)
{f=f+n;return f;}
main()
{int i;
for(i=7;i<=10;i++)
printf("%d ",fun(i));
getch();}
A.8 16 25 30 B.4 8 16 24 C.8 16 25 35 D.4 16 32 64
4.执行以下程序段的输出结果是( )
int f(int x,int y)
{return (y+x);}
main()
{int a=3,b=4,c=5,d=6,e=7;
printf("%d",f(f(f(f(a,b),f(a,c)),d),e));
getch();}
A.20 B.24 C.28 D.32
5.执行以下程序段的输出结果是( )
long f1(int p)
{int k,r;
k=p*p;r=k*k;return r;}
main()
{int i;
long s=0;
for(i=2;i<=3;i++)
s=s+f1(i);
printf("s=%d",s);getch();}
A.s=90 B.s=93 C.s=95 D.s=97
6.执行以下程序段的输出结果是( )
int c=3;
void f(int a)
{int b=0;
a=c++,b++;}
main()
{int a=3,i;
for(i=0;i<5;i++)
f(a+++1);
printf("%d",c);
getch();}
A.8 B.9 C.10 D.11
7.执行以下程序段的输出结果是( )
int f(int a)
{int b=0;
static int c=3;
a=c++,b++;
return a;}
main()
{int a=3,i,k;
for(i=0;i<3;i++)
k=f(a++);
printf("k=%d",k);
getch();}
A.k=5 B.k=4 C.k=3 D.k=2
8.执行以下程序段的输出结果是( )
void f(int b[ ])
{int j,i;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
b[j]=b[j]*2;}
main()
{int s[3]={1,2,3},k;
f(s);
for(k=0;k<3;k++)
printf("%d",s[k]);
getch();}
A.4811 B.1811 C.4809 D.4812
9.执行以下程序段的输出结果是( )
void fun(int b[3])
{int j;
for(j=0;j<3;j++)
b[j]=j*2;}
main()
{int s[3]={1,2,3},k;
fun(s);
for(k=0;k<3;k++)
printf("%d",s[k]);
getch();}
A.024 B.123 C.012 D.234
10.执行以下程序段的输出结果是( )
int p(int n)
{int s=0;
while(n)
{s=s*10+n%10;
n=n/10;}
return s;}
main()
{printf("p=%d
",p(345));
getch();}
A.p=345 B.p=354 C.p=543 D.p=534
11.执行以下程序段的输出结果是( )
int fun(int a,int b)
{return a=a+b,a%b;}
main()
{int x=9,y=7,z=3,rels;
rels=fun(fun(x,y),z);
printf("%d",1<<rels);
getch();}
A.3 B.4 C.7 D.9
12.执行以下程序段的输出结果是( )
int fun(int n)
{return n/10+n%10;}
main()
{int k,i=123456;
k=fun(fun(fun(fun(fun(i)))));
printf("%d",k);
getch();}
A.3 B.4 C.5 D.6
13.执行以下程序段的输出结果是( )
double fun(int a,int b,int c)
{double s;
s=a%b*c;
return s;}
main()
{int a=2,b=3,c=5;
float d;
d=fun(a,b,c);
printf("%f",d);getch();}
A.10.000000 B.2.000000 C.10 D.2
14.执行以下程序段的输出结果是( )
char fun(char a,int b)
{char k;
k=a+b;
return k;}
main()
{char a='A';
int b=10;
a=fun(a,b);
putchar(a);getch();}
A.K B.L C.A D.J
15.执行以下程序段的输出结果是( )
int i=5;
int fact()
{if(i==0) return 1;
else {i--;return ((i+1)*fact());}}
main()
{printf("fact=%d",fact());
getch();}
A.fact=2 B.fact=6 C.fact=24 D.fact=120
16.执行以下程序段的输出结果是( )
void del(char s[ ],char c)
{int i,j;
for(i=j=0;s[i]!='\0';i++)
if(s[i]!=c)
s[j++]=s[i];s[j]='\0';}
main()
{char s[ ]="ABCDACD";
del(s,'A');
printf("%s",s);getch();}
A.ABCDACD B.BCDACD C.AA D.BCDCD
17.执行以下程序段的输出结果是( )
int fun(int n)
{int m=1;
do{m*=n%10;n/=10;}while(n);
return m;}
main()
{int n=234;
printf("s=%d
",fun(n));
getch();}
A.s=6 B.s=8 C.s=12 D.s=24
18.执行以下程序段的输出结果是( )
void fun(char a[ ],char b[ ],int n)
{int c;
for(c=0;c<n;c++)
b[c]=(a[c]-'A'-3+26)%26+'A';b[n]='\0';}
main()
{char s1[5]="ABCD",s2[5];
fun(s1,s2,5);
puts(s2);getch();}
A.XYZA1 B.ABCD1 C.ABXY1 D.XYZA2
19.执行以下程序段的输出结果是( )
int fun(int a,int b)
{return a+b;}
main()
{int x=6,y=7,z=8,r;
r=fun(fun(x,y),z--);
printf("%d",r);
getch();}
A.15 B.20 C.21 D.31
20.执行以下程序段的输出结果是( )
int f(int x,int y)
{return ((y-x)*x);}
main()
{int a=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf("%d",d);
getch();}
A.7 B.8 C.9 D.10
21.执行以下程序段的输出结果是( )
int f(int x);
main()
{int n=2,m;
m=f(f(f(n)));
printf("%d",m);getch();}
int f(int x)
{return x*x;}
A.256 B.128 C.16 D.255
22.执行以下程序段的输出结果是( )
int fun(int x,int y)
{if(x==y) return (x);
else return ((x+y)/2);}
main()
{int a=4,b=5,c=6;
printf("%d
",fun(a*2,fun(b,c)));
getch();}
A.3 B.6 C.8 D.9
23.执行以下程序段的输出结果是( )
int fun1(double a)
{ return a*=a; }
int fun2(double x,double y)
{double a=0,b=0;
a=fun1(x);b=fun1(y);
return (int)(a+b);}
main()
{double w;
w=fun2(1.1,2.0);
printf("%f",w);getch();}
A.5.000000 B.5.0 C.5.21 D.0.000000
二、程序运行结果题(本题共7小题,每题3分,共21分)
24.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
void fac2(int);
void fac1(int n)
{printf("*");
if(n>0) fac2(n-1);}
void fac2(int n)
{printf("#");
if(n>0) fac2(--n);}
main()
{fac1(3);getch();}
25.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int max(int x, int y);
main()
{ int a=2,b=5,c=18,d=0,e;
e=max(max(max(a,b),c),d);
printf("Max is %d",c);getch();}
int max(int x, int y)
{ int z;
z=x>y?x:y;
return(z);}
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int f(int x,int y)
{ return y+x; }
main()
{ int a=3,b=4,c=5,d;
d=f(f(f(3,4),f(3,5)),f(4,5));
printf("%d
",d);getch();}
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int f(int x[ ],int n)
{int i,r=1;
for(i=0;i<=n;i++)
r=r*x[i];
return r;}
main()
{int s,a[ ]={2,3,1,5,4,3,6,4};
s=f(a,5);
printf("%d
",s);getch();}
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int fun()
{static int x=1;
x*=2;
return x;}
main()
{int i,s=1;
for(i=1;i<=4;i++)
s*=fun();
printf("%d",s);
getch();}
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int func(int a,int b)
{int c;
c=a+b;
return c;}
main()
{int x=6,y=7,z=8,r;
r=func((x--,y++,z+y),z--);
printf("%d",r);
getch();}
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
void fun(int x)
{static int y=5;
x++;
printf("%d+%d=%d
",x,y++,x+y);}
main()
{int i;
for(i=1;i<=3;i++)
fun(i);
getch();}
三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。每处3分,共9分)
31.下列程序的功能是:求 的值。程序中有三处错误,请改正。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 float p(long i)
L4 {long k=1,j;
L5 for(j=1;j<=i;j++)
L6 k=k/j;
L7 return ((float)(k));}
L8 float s(long n)
L9 {float sum=0.0;
L10 long k;
L11 for(k=1;k<=n;k++)
L12 sum=p(k);
L13 return (sum);}
L14 float f(long x,long y)
L15 {float f1;
L16 f1=s(y)/s(x);
L17 return (f1);}
L18 main()
L19 {long x,y;
L20 printf("请输入x和y的值:
");
L21 scanf("%d,%d",&x,&y);
L22 printf("f(x,y)=%.1f
",f(x,y));getch();}
四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分)
32.以下程序的功能是:分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。请填空。
#include <stdio.h>
#include<conio.h>
int gcd(int a ,int b)
{if(【1】)
return a;
gcd(b,【2】);}
int lcm(int a,int b)
{
return【3】;
}
main()
{int a,b;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
printf("最大公约数为:%d,最小公倍数为:%d
",gcd(a,b),【4】);
getch();}
33.下列程序的功能是求一个英文句子中最长的英文单词,在主函数中输入数据并输出结果。请填空。
#include <stdio.h>
#include<conio.h>
#include<string.h>
int zm(char c)
{if(【1】) return 1;
else return 0;}
int p(char s[ ])
{int i,len=0,length=0,flag=1,place=0,point;
for(i=0;i<=【2】;i++)
{if(zm(s[i]))
if(【3】)
{len++;point=i;flag=0;}
else len++;
else {flag=1;
if(【4】){length=len;place=point;len=0;}
}
}
return place;
}
main()
{int i;
char str[100];
printf("请输入一句英文:");
gets(str);
printf("最长的单词为:");
for(i=p(str);zm(str[i]);i++)
printf("%c",str[i]);
printf("
");
getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《编程语言—C语言》
项目五: 函数
第29卷: 函数的嵌套调用及实际应用
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共23小题,每小题2分,共46分)
1.下列叙述中,正确的一项是( )
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用都可以嵌套
D.函数的定义和函数的调用都不可以嵌套
【答案】B
2.以下程序是用来计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请你选择填空。( )
float f(float a,float b)
{float s;
s=【 】;
return s;}
main()
{float x,y,z;
float d;
scanf("%f%f%f",&x,&y,&z);
d=f(x+y,x-y)+f(z+y,z-y);
printf("%f
",d);
getch();}
A.(a+b)/(a-b) B.a/b C.(a-b)/(a+b) D.b/a
【答案】B
3.执行以下程序段的输出结果是( )
static int f=1;
int fun(int n)
{f=f+n;return f;}
main()
{int i;
for(i=7;i<=10;i++)
printf("%d ",fun(i));
getch();}
A.8 16 25 30 B.4 8 16 24 C.8 16 25 35 D.4 16 32 64
【答案】C
4.执行以下程序段的输出结果是( )
int f(int x,int y)
{return (y+x);}
main()
{int a=3,b=4,c=5,d=6,e=7;
printf("%d",f(f(f(f(a,b),f(a,c)),d),e));
getch();}
A.20 B.24 C.28 D.32
【答案】C
5.执行以下程序段的输出结果是( )
long f1(int p)
{int k,r;
k=p*p;r=k*k;return r;}
main()
{int i;
long s=0;
for(i=2;i<=3;i++)
s=s+f1(i);
printf("s=%d",s);getch();}
A.s=90 B.s=93 C.s=95 D.s=97
【答案】D
6.执行以下程序段的输出结果是( )
int c=3;
void f(int a)
{int b=0;
a=c++,b++;}
main()
{int a=3,i;
for(i=0;i<5;i++)
f(a+++1);
printf("%d",c);
getch();}
A.8 B.9 C.10 D.11
【答案】A
7.执行以下程序段的输出结果是( )
int f(int a)
{int b=0;
static int c=3;
a=c++,b++;
return a;}
main()
{int a=3,i,k;
for(i=0;i<3;i++)
k=f(a++);
printf("k=%d",k);
getch();}
A.k=5 B.k=4 C.k=3 D.k=2
【答案】A
8.执行以下程序段的输出结果是( )
void f(int b[ ])
{int j,i;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
b[j]=b[j]*2;}
main()
{int s[3]={1,2,3},k;
f(s);
for(k=0;k<3;k++)
printf("%d",s[k]);
getch();}
A.4811 B.1811 C.4809 D.4812
【答案】D
9.执行以下程序段的输出结果是( )
void fun(int b[3])
{int j;
for(j=0;j<3;j++)
b[j]=j*2;}
main()
{int s[3]={1,2,3},k;
fun(s);
for(k=0;k<3;k++)
printf("%d",s[k]);
getch();}
A.024 B.123 C.012 D.234
【答案】A
10.执行以下程序段的输出结果是( )
int p(int n)
{int s=0;
while(n)
{s=s*10+n%10;
n=n/10;}
return s;}
main()
{printf("p=%d
",p(345));
getch();}
A.p=345 B.p=354 C.p=543 D.p=534
【答案】C
11.执行以下程序段的输出结果是( )
int fun(int a,int b)
{return a=a+b,a%b;}
main()
{int x=9,y=7,z=3,rels;
rels=fun(fun(x,y),z);
printf("%d",1<<rels);
getch();}
A.3 B.4 C.7 D.9
【答案】B
12.执行以下程序段的输出结果是( )
int fun(int n)
{return n/10+n%10;}
main()
{int k,i=123456;
k=fun(fun(fun(fun(fun(i)))));
printf("%d",k);
getch();}
A.3 B.4 C.5 D.6
【答案】A
13.执行以下程序段的输出结果是( )
double fun(int a,int b,int c)
{double s;
s=a%b*c;
return s;}
main()
{int a=2,b=3,c=5;
float d;
d=fun(a,b,c);
printf("%f",d);getch();}
A.10.000000 B.2.000000 C.10 D.2
【答案】A
14.执行以下程序段的输出结果是( )
char fun(char a,int b)
{char k;
k=a+b;
return k;}
main()
{char a='A';
int b=10;
a=fun(a,b);
putchar(a);getch();}
A.K B.L C.A D.J
【答案】A
15.执行以下程序段的输出结果是( )
int i=5;
int fact()
{if(i==0) return 1;
else {i--;return ((i+1)*fact());}}
main()
{printf("fact=%d",fact());
getch();}
A.fact=2 B.fact=6 C.fact=24 D.fact=120
【答案】D
16.执行以下程序段的输出结果是( )
void del(char s[ ],char c)
{int i,j;
for(i=j=0;s[i]!='\0';i++)
if(s[i]!=c)
s[j++]=s[i];s[j]='\0';}
main()
{char s[ ]="ABCDACD";
del(s,'A');
printf("%s",s);getch();}
A.ABCDACD B.BCDACD C.AA D.BCDCD
【答案】D
17.执行以下程序段的输出结果是( )
int fun(int n)
{int m=1;
do{m*=n%10;n/=10;}while(n);
return m;}
main()
{int n=234;
printf("s=%d
",fun(n));
getch();}
A.s=6 B.s=8 C.s=12 D.s=24
【答案】D
18.执行以下程序段的输出结果是( )
void fun(char a[ ],char b[ ],int n)
{int c;
for(c=0;c<n;c++)
b[c]=(a[c]-'A'-3+26)%26+'A';b[n]='\0';}
main()
{char s1[5]="ABCD",s2[5];
fun(s1,s2,5);
puts(s2);getch();}
A.XYZA1 B.ABCD1 C.ABXY1 D.XYZA2
【答案】A
19.执行以下程序段的输出结果是( )
int fun(int a,int b)
{return a+b;}
main()
{int x=6,y=7,z=8,r;
r=fun(fun(x,y),z--);
printf("%d",r);
getch();}
A.15 B.20 C.21 D.31
【答案】C
20.执行以下程序段的输出结果是( )
int f(int x,int y)
{return ((y-x)*x);}
main()
{int a=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf("%d",d);
getch();}
A.7 B.8 C.9 D.10
【答案】C
21.执行以下程序段的输出结果是( )
int f(int x);
main()
{int n=2,m;
m=f(f(f(n)));
printf("%d",m);getch();}
int f(int x)
{return x*x;}
A.256 B.128 C.16 D.255
【答案】A
22.执行以下程序段的输出结果是( )
int fun(int x,int y)
{if(x==y) return (x);
else return ((x+y)/2);}
main()
{int a=4,b=5,c=6;
printf("%d
",fun(a*2,fun(b,c)));
getch();}
A.3 B.6 C.8 D.9
【答案】B
23.执行以下程序段的输出结果是( )
int fun1(double a)
{ return a*=a; }
int fun2(double x,double y)
{double a=0,b=0;
a=fun1(x);b=fun1(y);
return (int)(a+b);}
main()
{double w;
w=fun2(1.1,2.0);
printf("%f",w);getch();}
A.5.000000 B.5.0 C.5.21 D.0.000000
【答案】A
二、程序运行结果题(本题共7小题,每题3分,共21分)
24.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
void fac2(int);
void fac1(int n)
{printf("*");
if(n>0) fac2(n-1);}
void fac2(int n)
{printf("#");
if(n>0) fac2(--n);}
main()
{fac1(3);getch();}
【答案】*###
25.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int max(int x, int y);
main()
{ int a=2,b=5,c=18,d=0,e;
e=max(max(max(a,b),c),d);
printf("Max is %d",c);getch();}
int max(int x, int y)
{ int z;
z=x>y?x:y;
return(z);}
【答案】Max is 18
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int f(int x,int y)
{ return y+x; }
main()
{ int a=3,b=4,c=5,d;
d=f(f(f(3,4),f(3,5)),f(4,5));
printf("%d
",d);getch();}
【答案】24
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int f(int x[ ],int n)
{int i,r=1;
for(i=0;i<=n;i++)
r=r*x[i];
return r;}
main()
{int s,a[ ]={2,3,1,5,4,3,6,4};
s=f(a,5);
printf("%d
",s);getch();}
【答案】360
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int fun()
{static int x=1;
x*=2;
return x;}
main()
{int i,s=1;
for(i=1;i<=4;i++)
s*=fun();
printf("%d",s);
getch();}
【答案】1024
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
int func(int a,int b)
{int c;
c=a+b;
return c;}
main()
{int x=6,y=7,z=8,r;
r=func((x--,y++,z+y),z--);
printf("%d",r);
getch();}
【答案】23
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
void fun(int x)
{static int y=5;
x++;
printf("%d+%d=%d
",x,y++,x+y);}
main()
{int i;
for(i=1;i<=3;i++)
fun(i);
getch();}
【答案】
2+5=8
3+6=10
4+7=12
三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。每处3分,共9分)
31.下列程序的功能是:求 的值。程序中有三处错误,请改正。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 float p(long i)
L4 {long k=1,j;
L5 for(j=1;j<=i;j++)
L6 k=k/j;
L7 return ((float)(k));}
L8 float s(long n)
L9 {float sum=0.0;
L10 long k;
L11 for(k=1;k<=n;k++)
L12 sum=p(k);
L13 return (sum);}
L14 float f(long x,long y)
L15 {float f1;
L16 f1=s(y)/s(x);
L17 return (f1);}
L18 main()
L19 {long x,y;
L20 printf("请输入x和y的值:
");
L21 scanf("%d,%d",&x,&y);
L22 printf("f(x,y)=%.1f
",f(x,y));getch();}
答案:
L6 k=k*j;
L12 sum+=p(k);
L16 f1=s(x)/s(y);
四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空3分,共24分)
32.以下程序的功能是:分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。请填空。
#include <stdio.h>
#include<conio.h>
int gcd(int a ,int b)
{if(【1】)
return a;
gcd(b,【2】);}
int lcm(int a,int b)
{
return【3】;
}
main()
{int a,b;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
printf("最大公约数为:%d,最小公倍数为:%d
",gcd(a,b),【4】);
getch();}
答案:①b==0 ②a%b ③a*b/gcd(a,b) ④lcm(a,b)
33.下列程序的功能是求一个英文句子中最长的英文单词,在主函数中输入数据并输出结果。请填空。
#include <stdio.h>
#include<conio.h>
#include<string.h>
int zm(char c)
{if(【1】) return 1;
else return 0;}
int p(char s[ ])
{int i,len=0,length=0,flag=1,place=0,point;
for(i=0;i<=【2】;i++)
{if(zm(s[i]))
if(【3】)
{len++;point=i;flag=0;}
else len++;
else {flag=1;
if(【4】){length=len;place=point;len=0;}
}
}
return place;
}
main()
{int i;
char str[100];
printf("请输入一句英文:");
gets(str);
printf("最长的单词为:");
for(i=p(str);zm(str[i]);i++)
printf("%c",str[i]);
printf("
");
getch();}
答案:①(c>='a'&&c<='z')||(c>='A'&&c<='Z')
②strlen(s) ③flag ④len>length
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$