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

C语言程序填空(10)

来源:网络收集 时间:2026-02-26
导读: 在main函数中输入字符串,并输出其长度。 #include main() { int length(char *p); int len; char str[20]; printf(\scanf(\ /***********SPACE***********/ len=length(【?】); printf(\} /***********SPACE******

在main函数中输入字符串,并输出其长度。 #include main() {

int length(char *p); int len;

char str[20];

printf(\scanf(\

/***********SPACE***********/ len=length(【?】);

printf(\}

/***********SPACE***********/ 【?】(p) char *p; { int n; n=0;

while(*p!='\\0') {

/***********SPACE***********/ 【?】;

/***********SPACE***********/

【?】; }

return n; }

答案:1). str;2). length 或 int length 3). n++ 或 ++n 或 n=n+1 或 n+=1 4). p++ 或 ++p 或 p=p+1 或 p+=1 功能:求两个非负整数的最大公约数和最小公倍数。 main() {

int m,n,r,p,gcd,lcm; scanf(\if(m

/***********SPACE***********/ while(【?】 ) {

/***********SPACE***********/

m=n;n=r; 【?】; }

/***********SPACE***********/ gcd=【?】; lcm=p/gcd;

/***********SPACE***********/ printf(\【?】); }

答案:1). r != 0 或 r

2). r=m%n 或 r=m-m/n*n;3). n 4). gcd,lcm 或 n,lcm

功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小马各多少匹? #include main() {

int hb,hm,hl,n=0;

/***********SPACE***********/ for(hb=0;hb<=100;hb+=【?】) /***********SPACE***********/ for(hm=0;hm<=100-hb;hm+=【?】) {

/***********SPACE***********/

hl=100-hb-【?】;

/***********SPACE***********/ if(hb/3+hm/2+2*【?】==100) { n++;

printf(\3,hm/2,2*hl); } }

printf(\getch(); }

答案:1). 3;2). 2;3). hm;4). hl 功能:计算平均成绩并统计90分以上人数。main() {

int n,m;float grade,average;

/***********SPACE***********/ average=n=m=【?】; while(1)

{

/***********SPACE***********/ 【?】(\if(grade<0) break; n++;

average+=grade;

/***********SPACE***********/ if(grade<90)【?】; m++; }

if(n) printf(\}

答案:1). 0;2). scanf;3). continue

功能:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值, 并将该值存放在数组w中。

float s[30],w[6]; fun1(float s[]) {

int k,i;

for(k=2,i=0;i<30;i++) {

/***********SPACE***********/ 【?】 ; k+=2; } }

fun2(float s[],float w[]) {

float sum=0.0; int k,i;

for(k=0,i=0;i<30;i++) {

sum+=s[i];

/***********SPACE***********/ 【?】; {

w[k]=sum/5;

/***********SPACE***********/ 【?】 ; k++; }

} }

main() { int i; fun1(s);

/***********SPACE***********/ 【?】;

for(i=0;i<30;i++) {

if(i%5==0) printf(\printf(\}

printf(\for(i=0;i<6;i++)

printf(\}

答案:1). s[i]=k 或 s[i]=(i+1)*2

2). if( ( i + 1 )%5 == 0 ) 或 if( ( i + 1 )/5*5 ==i+1)

3). sum=0 或 sum=0.0;4). fun2(s,w)

功能:找出三个增序数组中值相同的数。#define FOUND 1

#define NOT_FOUND 0

int search(int x[], int y[], int z[], int X, int Y, int Z,

int *XX, int *YY, int *ZZ) {

*XX = *YY = *ZZ = 0;

while (*XX < X && *YY < Y && *ZZ < Z) if(x[*XX] < y[*YY]) (*XX)++;

else if (y[*YY] < z[*ZZ]) (*YY)++;

/***********SPACE***********/ else if (【?】) (*ZZ)++; else

/***********SPACE***********/ 【?】;

return NOT_FOUND; }

#include void main(void)

{

int x[] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; int y[] = { 2, 4, 9, 10, 12, 14, 16, 18, 20, 21}; int z[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int X = sizeof(x)/sizeof(int); int Y = sizeof(y)/sizeof(int); int Z = sizeof(z)/sizeof(int); int XX, YY, ZZ;

printf(\Three Arrays\

printf(\================\

printf(\for (XX = 0; XX < X; XX++) printf(\

printf(\for (YY = 0; YY < Y; YY++) printf(\

printf(\for (ZZ = 0; ZZ < Z; ZZ++) printf(\

/***********SPACE***********/ if (search(x, y, z, X, Y, Z, 【?】) > 0)

printf(\and z[%d]\

x[XX], XX, YY, ZZ); else

printf(\FOUND.\}

答案:1). z[*ZZ] < x[*XX] 或 x[*XX]>z[*ZZ] 2). return FOUND 或 return 1 3). &XX, &YY, &ZZ 功能:利用函数计算连续的数组元素累加和的最大值。如果最大值是负数则返回0; /***********SPACE***********/ int max_sum( 【?】, int n) {

int max_ending_here = 0; int max_so_far = 0; int i;

for (i = 0; i < n; i++) {

if (max_ending_here + x[i] < 0)

/***********SPACE***********/ 【?】; else

max_ending_here += x[i];

if (max_ending_here > max_so_far) max_so_far = max_ending_here; }

/***********SPACE***********/

【?】; }

#include void main(void) {

int x[] = { 2, -3, 1, -1, 3, -2, -3, 3}; int n = sizeof(x)/sizeof(int); int i;

printf(\Sum Program\

printf(\===========\

printf(\for (i = 0; i < n; i++) printf(\

printf(\n)); }

答案:1). int x[]; 2). max_ending_here = 0;3). return max_so_far

功能:当输入“2,5”的时候输出为“2 5 5”

#include #define max 100 main() {

int f[max],i,j,k,m; scanf(\

/***********SPACE***********/ for(i=0;i<=【?】;i++)f[i]=0; /***********SPACE***********/ f[【?】]=1; for(i=k;i<=m;i++)

/***********SPACE***********/ for(j=i-k;j<=i-1;j++)f[i]【?】f[j]; printf(\

}

答案:1). m;2). k-1 或 k -1;3). += 或 =1+ 功能:用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根,其中 X^n代表X的n次方。

# include main() {

float x0,x1,x2,fx0,fx1,fx2; do {

printf(\scanf(\fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6;

/***********SPACE***********/ }while (fx1*fx2【?】); do {

x0=(x1+x2)/2;

fx0=x0*((2*x0-4)*x0+3)-6; /***********SPACE***********/ if(fx0*fx1【?】) { x2=x0; fx2=fx0; } else { x1=x0; fx1=fx0; } }

/***********SPACE***********/ while(【?】>=1e-5); printf(\}

答案:1). >0; 2). <0 ;3). fabs(fx0) 功能:不用第三个变量,实现两个数的对调操作。 #include main()

{ int a,b;

scanf(\printf(\/***********SPACE***********/ a= 【?】 ;

/***********SPACE* …… 此处隐藏:3726字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序填空(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/403068.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)