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

C语言程序填空(9)

来源:网络收集 时间:2026-02-26
导读: 高位,低位仍在低位。 #include #include void fun (long s, long *t) { int d; long sl=1; /***********SPACE***********/ 【?】 = 0; while ( s > 0) { /***********SPACE***********/ d = 【?】; if(d%2) { /***

高位,低位仍在低位。 #include #include

void fun (long s, long *t) { int d; long sl=1;

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

/***********SPACE***********/ d = 【?】; if(d%2) {

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

*t = 【?】 + *t;

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

s /= 10; } }

main() {

long s, t; clrscr();

printf(\fun(s, &t);

printf(\}

答案:1). *t;2). s;3). d * sl 或 sl * d 4). *= 或 =s*

功能: 对一数组进行逐步累加求和,prefix代表从前向后累加值,suffix代表从后向前累加值,问在此过程中prefix与suffix有几次值相同?

int head_tail(int x[], int n) {

int prefix = 0, suffix = 0;

int prefix_idx = 0, suffix_idx = n-1; int count = 0;

while (suffix_idx >= 0 && prefix_idx <= n-1) /***********SPACE***********/

if ( 【?】)

prefix += x[prefix_idx++]; else if (prefix > suffix)

/***********SPACE***********/ suffix += x[【?】]; else {

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

prefix += x[prefix_idx++]; suffix += x[suffix_idx--]; }

return count; }

#include void main(void) {

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

printf(\Program\

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

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

printf(\sum pairs.\}

答案:1). prefix < suffix 或 suffix>prefix 2). suffix_idx-- 或 suffix_idx= suffix_indx -1 或 --suffix_idx

3). count++ 或 count=count+1

功能:如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子 ( 包括1,不包括B本身 ) 之和等于A,则将整数A和B称为亲密数。求 3000 以内的全部亲密数。 #include #include main( ) {

int a, i, b, n ;

printf(\3000:\\n\

for(a=1 ; a<3000 ; a++) {

for(b=0,i=1 ; i<=a/2 ; i++ )

/***********SPACE***********/ if(!(a%i)) 【?】 ;

for(n=0,i=1 ; i<=b/2 ; i++)

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

if(!(b%i)) 【?】 ;

/***********SPACE***********/ if(【?】 && a

printf(\} }

答案:1). b+=i 或 b=b+i 2). n+=i 或 n=n+i;3). n == a

功能:输入数组,最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。main() {

int number[10]; input(number); max_min(number); output(number); }

input(number) int number[10]; { int i;

/***********SPACE***********/ for(i=0;【?】;i++)

scanf(\scanf(\}

max_min(array) int array[10]; {

int *max,*min,k,l; int *p,*arr_end; arr_end=array+10; max=min=array;

for(p=array+1;p*max)

max=p;

else if(*p<*min)

/***********SPACE***********/ 【?】; k=*max; l=*min; *p=array[0]; array[0]=l;

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

*p=array[9];

/***********SPACE***********/ 【?】; k=*p; return; }

output(array) int array[10]; {

int *p;

for(p=array;p

printf(\}

答案:1). i<9 或 9>i;2). min=p;3). l=*p;4). array[9]=k

功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。 #include \#include \main ( ) {

char str1[80],str2[40]; int i,j,k;

gets(str1);gets(str2); puts(str1);puts(str2);

/***********SPACE***********/ 【?】; puts(str1); }

JOIN(s1,s2)

char s1[80],s2[40]; { int i,j;

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

/***********SPACE***********/ for (i=0; 【?】'\\0';i++) s1[i+j]=s2[i];

/***********SPACE***********/ s1[i+j]= 【?】 ; }

答案:1). JOIN(str1,str2);

2). j=strlen(s1) 或 for(j=0;s1[j]!='10';j++); 或 for(j=0;s1[j];j++);

3). s2[i]!= 或 *(s2 + i)!= 4). '\\0' 或 NULL 或 0

功能:读入一行字符(如:a、...y、z),按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾,然后再按输入的相反顺序输出,并释放全部结点。 #include main( ) {

struct node {

char info;

struct node *link; } *top,*p; char c; top=NULL;

/***********SPACE***********/ while((c= 【?】) != '\\n' ) {

p=(struct node *)malloc(sizeof(struct node)); p->info=c; p->link=top;

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

while( top ) {

p=top;

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

putchar(p->info); free(p); }

}

答案:1). getchar( );2). top=p; 3). top=top->link

功能:输出Fibonacci数列的前15项,要求每行输出5项。Fibonacci数列:1,1,2,3,5,8,13.......... #include main() {

/***********SPACE***********/ int 【?】[14],i; fib[0]=1;fib[1]=1; for (i=2;i<15;i++)

/***********SPACE***********/ fib[i]=【?】; for(i=0;i<15;i++) {

printf(\

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

答案:1). fib;2). fib[i-2]+fib[i-1] 或 fib[i-2] + fib[i-1];3). i%5 == 4 功能:文件操作。 # include # include void main() {

/* 定义一个文件指针fp */

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

char ch, filename[10];

printf(\

scanf(\输入字符串并赋给变量filename */

/* 以读的使用方式打开文件filename */ /***********SPACE***********/

if((fp=fopen(filename, \【?】\{

printf(\exit(0); /* 正常跳出程序 */ }

/* 关闭文件 */

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

答案:1). FILE;2). r;3). fclose(fp) 功能:计算圆周率的近似值。 #include #include main() { int s;

/***********SPACE***********/ float n,【?】; double t;

t=1;pi=0;n=1;s=1;

/***********SPACE***********/ while(【?】>=2e-6) {

pi+=t;n+=2;s=-s;t=s/n; }

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

pi*=【?】;

printf(\}

答案:1). pi;2). fabs(t);3). 4

功能:识别输入的字符串,每个单词输出一行

#include #include void main() { int c;

int inspace;

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

while((c = getchar()) != '\\n') {

if(c == ' ' || c == '\\t' || c == '\\n') {

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

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