网站建设资讯

NEWS

网站建设资讯

c语言函数的简单题目,C语言函数题目

C语言的简单函数题?

#includestdio.h

创新互联的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括成都网站建设、成都做网站、电商网站开发、微信营销、系统平台开发。

// 剩余不足问题

int SurplusShortage(int *p, int *q, int a, int b, int c, int d);

int main()

{

int a, b, c, d, p = 0, q = 0;

scanf("%d %d %d %d", a, b, c, d);

if (SurplusShortage(p, q, a, b, c, d))

{

printf("%d人 分 %d颗 糖\n", p, q);

printf("%d - (%d * %d) = %d\n", q, p, a, b);

printf("%d - (%d * %d) = -%d\n\n\n\n", q, p, c, d);

}

else

{

printf("None\n");

}

return 0;

}

int SurplusShortage(int *p, int *q, int a, int b, int c, int d)

{

int x = 0;

do

{

x++;

} while((a*x+b) != (c*x-d) x = 9999);

// p = 5

// q = 22

// 4 2

// 5 3

*p=x;

*q=a*x+b;

if(*p != 0 *p = 9999)

{

return 1;

}

else

{

return 0;

}

}

c语言 简单题 关于函数问题 200分 先谢谢各位高手

第三次答复:

void

createLine(struct

Node

*rear,int

item)

void

createLine(struct

Node

**rear,int

item)

实际上本质是一样的,你理解引用就可以了,不过这个改法挺巧妙,只要改一个字符,比我的好。

类似于函数int

add(int

a)

int

b;

add(b);

你在add函数里面是可以改函数外变量b的值一样。

你的函数加了,这样就可以在createline函数里改函数外变量node的值了。

*******************************************

第二次答复:

我是一楼

输出是:

1.--0

2.--0

3.--3d2470

tem_addr=3d24d8,tem_value=2

rear_add=3d24d8,rear_value=2

after

createLine:

1.--2

2.--2

3.--3d24d8

完全符合楼主的要求。

刚才有事走了,没解释一下,现在解释一下。

void

createLine(struct

Node

*rear,int

item)

这样子声明函数,你在函数里面只能改rear指针对应的对象值,而rear本身的值就是传入的node的值你是改不了的,

所以函数里面的

rear=tem;

你知识改变了函数局部变量rear值,但改不了传入的node的值。

所以得用指针的指针就可以改传入的node的值了。

传入的是node的地址,所以就可以根据node的地址改node的值了,当然也可以根据node的值改node对应的对象的值

(*rear)-next=tem;

就如我改的程序一样。

好像ywsbbdf

-

举人

四级

法也是一种改法,用的是引用,实际上跟指针的指针差不多,不过安全一点。不过引用一直理解起来比较难,不如指针的指针理解方便。

******************************************

第一次答复:

得用指针的指针

还有上面一处代码tem-data=NULL;应该是tem-next=NULL;

修改代码如下

#include

"stdio.h"

#include

"stdlib.h"

struct

Node{

int

data;

struct

Node

*next;

};

struct

Node

*createNode()

{struct

Node

*tem;

if((tem=(struct

Node*)malloc(sizeof(struct

Node)))==NULL)

{printf("error");

exit(1);

}

else{

tem-next=NULL;

}

return

tem;

}

void

createLine(struct

Node

**rear,int

item)

//指针的指针

{struct

Node

*tem;

if((tem=(struct

Node*)malloc(sizeof(struct

Node)))==NULL)

{printf("error");

exit(1);

}

tem-data=item;

printf("tem_addr=%x,tem_value=%d\n",tem,tem-data);

(*rear)-next=tem;

//这样才能赋值

(*rear)=tem;

printf("rear_add=%x,rear_value=%d\n",*rear,(*rear)-data);

}

main()

{struct

Node

*Node;

Node=createNode();

printf("1.--%d\n2.--%x\n3.--%x\n",Node-data,Node-data,Node);

createLine(Node,2);

//Node指针的地址

printf("after

createLine:\n\n1.--%d\n2.--%x\n3.--%x\n",Node-data,Node-data,Node);

system("pause");

}

C语言函数题目

1:B

2:A

3:A

4:A

5:A

6:B

7:B

8:B

9:A

10:D

如果有误,请通知我,谢谢

C语言函数编程题

修改后的C语言程序:

#include stdio.h 

void triangle(int g)

{

int n=1, m; /* 修改处1 */

for(n;n=g; n++)

{

for(m=1;m=2*n-1;m++) /* 修改处2 */

putchar('*');

putchar('\n');

}

}

void rectangle(int g)

{

int n=1, m; /* 修改处3 */

for(n;n=g;n++)

{

for(m=1;m=3;m++) /* 修改处4 */

putchar('*');

putchar('\n');

}

}

int main()

{

int i,k;

printf("请输入行数(大于3):");

scanf("%d",i);

printf("请选择图形:1---三角形  \t2---矩形\t3---小旗 :");

scanf("%d",k);

if(k==1)

triangle(i);

}

if(k==2)

rectangle(i);

}

if(k==3)

triangle(i);

rectangle(i);

}

return 0;

}


当前标题:c语言函数的简单题目,C语言函数题目
当前URL:http://cdweb.net/article/dsgcjec.html