C语言题目怎么想,[求助]怎么作好这些题目,我想知道答案...

[求助]怎么作好这些题目,我想知道答案...

1. 给出下述程序的执行结果

#include

#define ADD( X ,Y ) X*Y

main( )

{

int a = 3 , b = 6 ;

printf( "%d\n" ,ADD( a++ , b++ ) ) ;

}

2. 给出下述程序的执行结果

void fun( )

{

static int a[3]={0, 1, 2};

int i=0 ;

while (i<3 )

{

a[ i ] += a[ i ] +1;

i++;

}

for( i = 0; i<3; i ++)

printf("%d ", a[ i ] );

}

main( )

{

fun( );

fun( );

}

3. 给出下述程序的执行结果

#include

int f(int b);

main()

{

int a=3,i;

for(i=0;i<3;i++)

printf("%d,",f(a++));

}

int f(int b)

{

int a=0;

static int c=3;

a++;

b++;

c++;

return (a+b+c);

}

4. 给出下述程序的执行结果

#include

int x=2;

void increment();

main()

{

int x=8;

increment();

x++;

increment();

x++;

increment();

}

void increment()

{

int x=0;

x++;

printf("%d,",x);

}

5. 给出下述程序的执行结果

#include

long fib(int x)

{

switch(x)

{

case 0: return 0;

case 1:

case 2: return 1;

}

return (fib(x-1)+fib(x-2));

}

main()

{

int x=6;

printf("%d\n",fib(x));

}

6. 给出下述程序的执行结果

#include

int x1=30,x2=40;

void swap(int x,int y);

void main()

{

int x3=10,x4=20;

swap(x3,x4);

swap(x2,x1);

printf("%d,%d,%d,%d\n",x3,x4,x1,x2);

}

void swap(int x,int y)

{

x1=x;

x=y;

y=x1;

}

7. 给出下述程序的执行结果

#include

int a=4,b=5;

int max(int a,int b)

{

int c;

c=a>b?a:b;

return c;

}

void main()

{

int a=6;

printf("%d\n",max(a,b));

}

8. 给出下述程序的执行结果

#include

#define ADD(x) x+x

void main()

{

int m=1,n=2,k=3;

int sum=ADD(m+n)*k;

printf("%d",sum);

}

9. 给出下述程序的执行结果

#include

void num()

{

extern int x,y;

int a=15,b=10;

x=a-b;

y=a+b;

}

int x,y;

main()

{

int a=7,b=5;

x=a+b;

y=a-b;

num();

printf("%d,%d\n",x,y);

}

10. 给出下述程序的执行结果

#include

int fun2(int a,int b)

{

int c;

c=a*b%3;

return c;

}

int fun1(int a,int b)

{

int c;

a+=a;

b+=b;

c=fun2(a,b);

return c*c;

}

main()

{

int x=11,y=19;

printf("%d\n", fun1(x,y));

}

11. 写出下述程序的输出结果

#include

int x = 1;

int f1()

{

return (++x);

}

int f2(int x)

{

static int y = 3;

x += y++;

return (x++);

}

int f3(int x)

{

return (--x);

}

void main()

{

int x,y,z;

x = y = z = 10;

printf("%d,",f1());

printf("%d,",f2(x));

printf("%d,",f2(x));

x = y++ + --z;

printf("%d\n",f3(x));

}

12. 写出下述程序的输出结果

#include

int func(int n)

{

if(n<=1)

return 1;

else

return (2+n*func(n-1));

}

void main()

{

int x = 4;

printf("%d\n",func(x));

}

1. 【问题描述】

编写函数int sum(int x),求整数x的各位数字之和。

在main函数中测试该函数:从键盘输入一非负整数,然后调用sum函数计算各位数字之和并输出结果。

【输入形式】

输入一个正整数。

【输出形式】

输出该整数各位数字之和。

【样例输入】

58

【样例输出】

13

【样例说明】

输入整数58,其各位数字之和为:5+8 = 13。

2. 【问题描述】

编写一函数int comb(int a,int b),将两个两位数的正整数a、b合并形成一个整数并返回。合并的方式是:将a的十位和个位数依次放在结果的十位和千位上, b的十位和个位数依次放在结果的个位和百位上。例如,当a=45,b=12。调用该函数后,返回5241。要求在main函数中调用该函数进行验证:从键盘输入两个整数,然后调用该函数进行合并,并输出合并后的结果。

【输入形式】

输入两个两位数的正整数,以空格隔开。

【输出形式】

输出合并后的正整数。

【输入样例】

45 12

【输出样例】

5241

3. 【问题描述】用直线对圆进行一次分割,可以把圆分成两块。第二次分割,最多可以分成4块。第三次最多可以分成7块(如图)。给定正整数N(1≤N≤65535),求经过N次分割后,最多能把圆分成多少块。

clip_image001(1).gif

【输入文件】从标准输入读取输入。只有一个整数N,代表分割的次数。

【输出文件】向标准输出打印结果。输出只有一个数字,是经过N次分割后最多分成的块数。在行末要输出一个回车符。

【输入样例】 3

【输出样例】 7

【样例说明】把圆分割三次,最多可以分成7块

4. 【问题描述】用递归方法编写求最大公因子程序。两个正整数x和y的最大公因子定义为:如果y<=x且x mod y=0时,gcd(x,y)=y;如果y>x时,gcd(x,y)=gcd(y,x);其他情况,gcd(x,y)=gcd(y,x mod y)

【输入形式】用户在第一行输入两个数字,数字之间用空格分割。

【输出形式】程序在下一行输出前面输入的两个数字的最大公因子。

【样例输入】36 24

【样例输出】12

【样例说明】用户输入36,24,程序输出它们的最大公因子12

5. 【问题描述】输入一个自然数N(1≤N≤9),要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位置上的数字从外向中心逐渐增大。

N=3时:

11111

12221

12321

12221

11111

N=4时:

1111111

1222221

1233321

1234321

1233321

1222221

1111111

【输入形式】从标准输入读取一个整数N。

【输出形式】向标准输出打印结果。输出符合要求的方阵,每个数字占一个字符宽度,在每一行末均输出一个回车符。

【输入样例】3

【输出样例】

11111

12221

12321

12221

11111

6. 【问题描述】

在屏幕上显示如下杨辉三角形:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

… … … … … … …

【输入形式】

从键盘输入整数n(n>=0)

【输出形式】

在屏幕上输出n+1行杨辉三角形。

【输入样例】

3

【输出样例】

------***1

----***1***1

--***1***2***1

***1***3***3***1

其中-和*都是空格位

即每个数字占四位!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值