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

C语言程序填空(5)

来源:网络收集 时间:2026-02-26
导读: for(i=1;i /***********SPACE***********/ s+=【?】[i]; av=s/5; /***********SPACE***********/ return 【?】; } void main() { float sco[5],av; int i; printf(\for(i=0;i /***********SPACE***********/ scanf(

for(i=1;i<5;i++)

/***********SPACE***********/ s+=【?】[i]; av=s/5;

/***********SPACE***********/ return 【?】; }

void main() {

float sco[5],av; int i;

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

/***********SPACE***********/ scanf(\【?】);

/***********SPACE***********/ av=aver(【?】);

printf(\getch(); }

答案:1). a;2). av 或 (av) 3). &sco[i] 或 sco+i;4). sco

功能:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。 #include

void strcopy(char *str1,char *str2,int m) {

char *p1,*p2;

/***********SPACE***********/ 【?】; p2=str2; while(*p1)

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

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

main() {

int i,m;

char str1[80],str2[80]; gets(str1);

scanf(\

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

【?】;

puts(str1);puts(str2); }

答案:1). p1= str1 + m

2). *p2++=*p1++ 或 *(p2++)=*(p1++) 或 *p2=*p1,p2++,p1++ 或 *p2=*p1++,p2++ 或 *p2++=*p1,p1++

3). *p2='\\0' 或 *p2=0 或 *p2=NULL 4). strcopy(str1,str2,m)

功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。例如:当N=150时,可分解成1×2×3×5×5;当N=-150时,可分解为-1×2×3×5×5。下边程序能实现这种分解过程。当N=150,输出以下分解结果:N= 1* 2* 3* 5* 5 main() {

int n,i,j,r;

scanf(\if (n==0) {

printf (\exit(0); }

/***********SPACE***********/ else if (【?】) printf(\else {

printf(\n=-n; }

/***********SPACE***********/ for(【?】;i<=n;i++) {

/***********SPACE***********/ 【?】 ; while(r==0) {

printf(\

/***********SPACE***********/ 【?】 ; r=n%i; }

}

printf(\}

答案:1). n>0 或 0

功能:下面函数为二分法查找key值。数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。 fun(int a[],int n,int key) {

int low,high,mid; low=0; high=n-1;

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

mid=(low+high)/2; if(key

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

else if(key>a[mid])

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

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

【?】; }

return -1; }

main() {

int a[10]={1,2,3,4,5,6,7,8,9,10}; int b,c; b=4;

c=fun(a,10,b); if(c==1)

printf(\else

printf(\}

答案:1). low<=high 或 high>=low 2). high=mid-1;3). low= mid + 1 4). return mid 或 return (mid) 功能:求一个二维数组中每行的最大值和每

行的和。

#include \main() {

int a[5][5],b[5],c[5],i,j,k,s=0; for(i=0;i<5;i++) for(j=0;j<5;j++)

a[i][j]=random(40)+20; for(i=0;i<5;i++) {

/***********SPACE***********/ k=a[i][0]; 【?】 ; for(j=0;j<5;j++) {

/***********SPACE***********/ if(k

b[i]=k;

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

【?】 ; }

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

for(j=0;j<5;j++)

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

答案:1). s=0;2). k=a[i][j];3). c[i]=s 4). a[i][j] 功能:输入3个数a,b,c,按从小到大的顺序输出。 main() {

void swap(int *p1, int *p2); int n1,n2,n3;

int *pointer1,*pointer2,*pointer3;

printf(\scanf(\pointer1=&n1; pointer2=&n2;

pointer3=&n3;

/***********SPACE***********/ if(【?】) swap(pointer1,pointer2); /***********SPACE***********/ if(【?】) swap(pointer1,pointer3); /***********SPACE***********/ if(【?】) swap(pointer2,pointer3); printf(\are:%d,%d,%d\\n\}

/***********SPACE***********/ void swap(【?】) int *p1,*p2; { int p;

p=*p1;*p1=*p2;*p2=p; }

答案:1). n1>n2 或 n2*pointer2 或 *pointer2<*pointer1 2). n1>n3 或 n3*pointer3 或 *pointer3<*pointer1 3). n2>n3 或 n3*pointer3 或 *pointer3<*pointer2 4). p1,p2

功能:要求输出结果为3。 #include main() {

/***********SPACE***********/ int m=1,n=1,【?】; s=akm(m,n); printf(\ }

/***********SPACE***********/ akm(【?】,int n) {

if(m==0)

/***********SPACE***********/ 【?】 n+1;

else if(m!=0&&n==0) akm(m-1,1);

else if(m!=0&&n!=0) akm(m-1,akm(m,n-1)); }

答案:1). s;2). int m;3). return 功能:输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。 main() {

int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0;

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

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

k*=m; s+=m;

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

【?】; } if(k>s)

printf(\} }

答案:1). m=n;2). m>0 或 0

功能:有一整数数组x(正序排列),判断是否有数组元素x[i]=i的情况发生。 int index_search(int x[], int n) {

int first = 0; int last = n-1; int middle, index; index = -1;

while (first <= last) {

middle = (first + last) / 2;

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

index = middle; break; }

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

else if (【?】) last = middle - 1; else

first = middle + 1; }

return index; }

#include void main(void) {

int x[] = { -1, 0, 1, 3, 5, 7, 9, 10}; int n = sizeof(x)/sizeof(int); int answer, i;

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

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

if (answer >= 0)

printf(\answer, answer); else

printf(\i\}

答案:1). x[middle] == middle

2). x[middle] > middle 或 middle

功能:要求输出如下结果:b=-1 a=65535 a=65534;a=30 b=6 c=5按要求在空中填入合适的变量完善程序。 main() {

/***********SPACE***********/ int b=-1,【?】;unsigned a;

/***********SPACE***********/ a=【?】;

printf(\

/***********SPACE***********/ 【?】+=b;

printf(\

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

b=(a=30)/【?】;

printf(\}

答案:1). c;2). b;3). a …… 此处隐藏:3832字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序填空(5).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)