C语言程序填空(9)

2019-07-29 11:11

高位,低位仍在低位。 #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***********/ if(【?】) {

inspace = 1; putchar('\\n'); }

} else {

inspace = 0;

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

答案:1). inspace = 0;2). inspace == 0 3). putchar(c)

功能:输入一个整数,计算它可能是哪两个整数的平方和,并打印结果数据。如:34是5和3或3和5的平方和。

#include /* for I/O functions */ #include /* for atoi() */ #include /* for sqrt() */ void main(void) {

int given; /* the given number */ int row, column; /* row and column indicators*/

int count; /* number of solutions */ char line[100];

printf(\Sum of Two Squares\

printf(\========================\\n\printf(\gets(line);

given = atoi(line); printf(\printf(\

row = 1; /* starts from far enough */

column = (int) (sqrt((double) given) + 0.5); count = 0; /* so solution yet */

while (row <= given && column > 0) /* scan down... */

if (row*row + column*column == given) {

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

printf(\row++;

column--; }

else if (row*row + column*column > given) /***********SPACE***********/ 【?】; else

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

if (count == 0)

printf(\else

printf(\answers.\}

答案:1). count++ 或 ++count 或 count=count++1

2). column-- 或 --column 或 column=column-1

3). row++ 或 ++row 或 row= row + 1 功能:从两个数组中分别提取任意元素x[i],y[j],问|x[i]-y[j]|的最小值是多少 ? #include

/***********SPACE***********/ #define min(x, y) (【?】)

int min_distance(int x[], int y[], int m, int n) {

int minimum = INT_MAX; int index_x = 0, index_y = 0;

while (index_x < m && index_y < n) /***********SPACE***********/ if (【?】) {

minimum = min(minimum, x[index_x]-y[index_y]); index_y++; } else {

minimum = min(minimum, y[index_y]-x[index_x]);

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

return minimum;

}

#include void main(void) {

int x[] = { 1, 3, 7, 11, 18}; int m = sizeof(x)/sizeof(int); int y[] = { 4, 5, 8, 13, 22}; int n = sizeof(y)/sizeof(int);

int i, min_distance(int [], int [], int, int); printf(\Between Two Sorted Arrays\

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

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

printf(\min_distance(x, y, m, n)); }

答案:1). xx?x:y 2). x[index_x] >= y[index_y] 或 y[index_y]<=x[index_x]

3). index_x++ 或 index_x=index_x+1 或 ++index_x

功能:要求输出结果为:A,B;65,66 #include void main() {

/***********SPACE***********/ char a,【?】;

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

a=【?】; b='b'; a=a-32;

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

printf(\}

答案:1). b;2). 'a' 或 97;3). 32

功能:写一个函数,求一个字符串的长度,


C语言程序填空(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国铁路总公司节能减排项目推广管理办法(铁总计统[2015]364号

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: