}
15、/*建立一个有三个结点的简单链表:*/ #define NULL 0 struct student {
int num; char *name; int age ;
struct student *next; };
void main() {
struct student a,b,c,*head,*p;
a.num=1001; a.name=\a.age=18; /* 对结点成员进行赋值 */
b.num=1002; b.name=\c.num=1003; c.name=\head=&a; /* 建立链表,a为头结点 */ a.next=&b; b.next=&c; c.next=NULL;
p=head; /* 输出链表 */ do{
printf(\ge);
p=p->next;
}while(p!=NULL); }
16、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。*/ #include
{ char s[100]; int i,j,n;
printf(\输入字符串:\\n\ gets(s); n=strlen(s);
for(i=0,j=n-1;i 29 / 30 if(i>=j) printf(\是回文串\\n\ else printf(\不是回文串\\n\} 17、/*冒泡排序,从小到大,排序后结果输出到屏幕及文件myf2.out*/ #include for(i=0;i<=n-1;i++) for(j=0;j if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} } main() {int a[10]={12,45,7,8,96,4,10,48,2,46},n=10,i; FILE *f; if((f=fopen(\ printf(\fun(a,10); for(i=0;i<10;i++) {printf(\ fprintf(f,\ } fclose(f); } 18、编写函数countpi,利用公式 计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。#include int m=1; double temp=1.0,s=0; while(temp>=eps) { s+=temp; temp=temp*m/(2*m+1); m++; } return(2*s); } main() {FILE *fp; double eps=1e-5,pi; if((fp=fopen(\ { printf(\ exit(0); } pi= countpi(eps); printf(\fprintf(fp,\fclose(fp); } 30 / 30