c语言经典一百例-第6部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
points。x = xcenter + (int)( cos(rads) * radius );
points。y = ycenter … (int)( sin(rads) * radius * AspectRatio );
angle += step; /* Move to next increment */
}
circle( xcenter; ycenter; radius ); /* Draw bounding circle */
for( i=0 ; in3) swap(pointer1;pointer3);
if(n2》n3) swap(pointer2;pointer3);
printf(〃the sorted numbers are:%d;%d;%dn〃;n1;n2;n3);
}
swap(p1;p2)
int *p1;*p2;
{int p;
p=*p1;*p1=*p2;*p2=p;
}
…
【程序67】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
1。程序分析:谭浩强的书中答案有问题。
2。程序源代码:
main()
{
int number'10';
input(number);
max_min(number);
output(number);
}
input(number)
int number'10';
{int i;
for(i=0;inext=ptr;
ptr=head;
}
ptr=ptr…》next;
while(ptr!=NULL)
{ printf(〃The value is 》%dn〃;ptr…》data);
ptr=ptr…》next;
}}
…
【程序74】
题目:连接两个链表。
1。程序分析:
2。程序源代码:
#include 〃stdlib。h〃
#include 〃stdio。h〃
struct list
{ int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
link delete_node(link pointer;link tmp)
{if (tmpNULL) /*delete first node*/
return pointer…》next;
else
{ if(tmp…》next…》nextNULL)/*delete last node*/
tmp…》next=NULL;
else /*delete the other node*/
tmp…》next=tmp…》next…》next;
return pointer;
}
}
void selection_sort(link pointer;int num)
{ link tmp;btmp;
int i;min;
for(i=0;idata;
btmp=NULL;
while(tmp…》next)
{ if(min》tmp…》next…》data)
{min=tmp…》next…》data;
btmp=tmp;
}
tmp=tmp…》next;
}
printf(〃40: %dn〃;min);
pointer=delete_node(pointer;btmp);
}
}
link create_list(int array'';int num)
{ link tmp1;tmp2;pointer;
int i;
pointer=(link)malloc(sizeof(node));
pointer…》data=array'0';
tmp1=pointer;
for(i=1;inext=NULL;
tmp2…》data=array;
tmp1…》next=tmp2;
tmp1=tmp1…》next;
}
return pointer;
}
link concatenate(link pointer1;link pointer2)
{ link tmp;
tmp=pointer1;
while(tmp…》next)
tmp=tmp…》next;
tmp…》next=pointer2;
return pointer1;
}
void main(void)
{ int arr1''={3;12;8;9;11};
link ptr;
ptr=create_list(arr1;5);
selection_sort(ptr;5);
}
…
【程序75】
题目:放松一下,算一道简单的题目。
1。程序分析:
2。程序源代码:
main()
{
int i;n;
for(i=1;i1)
break;
}
if(n%20)
{
printf(〃Even=〃);
sum=dcall(peven;n);
}
else
{
printf(〃Odd=〃);
sum=dcall(podd;n);
}
printf(〃%f〃;sum);
}
float peven(int n)
{
float s;
int i;
s=1;
for(i=2;i