C语言程序设计100个简单的经典例子 下载本文

.

for(i=1;i{ tmp2=(link)malloc(sizeof(node)); tmp2->next=null; tmp2->data=array[i]; 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;i<5;i++) { n=0; if(i!=1) n=n+1; if(i==3) n=n+1; if(i==4) n=n+1; if(i!=4) n=n+1; if(n==3)

printf(\ }

.

.

}

==============================================================

【程序76】

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数

1/1+1/3+...+1/n(利用指针函数) 1.程序分析: 2.程序源代码: main()

#include \main() {

float peven(),podd(),dcall(); float sum; int n; while (1) {

scanf(\ if(n>1) break; }

if(n%2==0) {

printf(\

sum=dcall(peven,n); } else {

printf(\

sum=dcall(podd,n); }

printf(\}

float peven(int n) {

float s; int i; s=1;

for(i=2;i<=n;i+=2) s+=1/(float)i; return(s); }

float podd(n)

.

.

int n; {

float s; int i; s=0;

for(i=1;i<=n;i+=2) s+=1/(float)i; return(s); }

float dcall(fp,n) float (*fp)(); int n; {

float s; s=(*fp)(n); return(s); }

==============================================================

【程序77】

题目:填空练习(指向指针的指针) 1.程序分析: 2.程序源代码: main()

{ char *s[]={\char **q; int k;

for(k=0;k<5;k++)

{ ;/*这里填写什么语句*/ printf(\} }

==============================================================

【程序78】

题目:找到年龄最大的人,并输出。请找出程序中有什么问题。 1.程序分析: 2.程序源代码: #define n 4

#include \static struct man { char name[20]; int age;

} person[n]={\

.

.

main()

{struct man *q,*p; int i,m=0; p=person;

for (i=0;i{if(mage) q=p++; m=q->age;}

printf(\}

==============================================================

【程序79】

题目:字符串排序。 1.程序分析: 2.程序源代码: main() {

char *str1[20],*str2[20],*str3[20]; char swap();

printf(\scanf(\scanf(\scanf(\

if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap(str1,str3); if(strcmp(str2,str3)>0) swap(str2,str3); printf(\

printf(\}

char swap(p1,p2) char *p1,*p2; {

char *p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p); }

==============================================================

【程序80】 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只

猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了

一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,

.