11.`#include <stdio.h>
#define N 13
struct person
{
int number;
int nextp;
}link[N+1];
int main()
{
int i,count,h;
for(i=1;i<=N;i++)
{
if(i==N)
link[i].nextp=1;
else
link[i].nextp=i+1;
link[i].number=i;
}
printf("\n");
count=0;
h=N;
printf(“sequence that persons leave the circle:\n”);
while(count<N-1)
{
i=0;
while(i!=3)
{
h=link[h].nextp;
if(link[h].number)
i++;
}
printf("%4d",link[h].number);
link[h].number=0;
count++;
}
printf("\nThe last one is");
for(i=1;i<=N;i++)
if(link[i].number)
printf("%3d",link[i].number);
printf("\n");
return 0;
}
12.
#include<stdio.h>
void splitfloat( float x, int *intpart, float *fracpart );
int main()
{
float x, fracpart;
int intpart;
scanf("%f", &x);
splitfloat(x, &intpart, &fracpart);
printf("The integer part is %d\n", intpart);
printf("The fractional part is %g\n", fracpart);
return 0;
}
13.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int n,i,j,temp;
scanf("%d",&n);
inta;
a=(int) malloc(nsizeof(int));
if(a==NULL)
{
printf(“error”);
}
for(i=0;i<n;i++)
{
scanf("%d",a+i);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if((a+j)>(a+j+1))
{
temp=(a+j);
(a+j)=(a+j+1);
(a+j+1)=temp;
}
}
}
for(i=1;i<n+1;i++)
{
printf("%d",(a+i));
if(i!=n)
{
printf(",");
}
}
free(a);
return 0;
}
14.
#include <stdio.h>
#define NEWSIZE 1000
char newbuf[NEWSIZE];
char *newp=newbuf;
char *new(int n)
{
if(newp+n<=newbuf+NEWSIZE)
{
newp+=n;
return(newp-n);
}
else
return(NULL);
}
void free(char *p)
{
if(p>=newbuf&&p<newbuf+NEWSIZE)
newp=p;
}
15.
#include<stdio.h>
int main()
{
int day;
int tao = 1;
printf(“Enter the day number: “);
scanf(”%d”,&day);
for(;day>1;day–)
{
tao = (tao+1)*2;
};
printf("\nTotal number of tao: %d", tao);
return 0;
}
`
16.不会
17.
#include <stdio.h>
struct Student
{
int num;
float score;
struct Student *next;
};
int main()
{
struct Student a, b, c, *head, *p;
a.num = 10101;
a.score = 89.5;
a.num = 10103;
a.score = 90;
a.num = 10107;
a.score = 85;
head = &a;
a.next = &b;
b.next = &c;
c.next =NULL;
p = head;
do
{
printf("%ld%5.1f\n", p->num, p->score);
p = p->next;
}while(p!=NULL);
return 0;
}
#include <stdio.h>
int Ack(int m,int n)
{
if(m==0)
return n+1;
else
{
if(m!=0&&n==0)
return Ack(m-1,1);
else if(m!=0&&n!=0)
return Ack(m-1,Ack(m,n-1));
}
}
void main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",Ack(a,b));
}
#include<stdio.h>
main()
{
int i,j,k,m=0,f=0;
int sum=0,max=0,min=0;
struct student
{
int num;
char name[20];
char gender;
int birthday[3];
int score[4];
int ave;
}stu[4]={{10031,"wanggang",'M',{1991,5,19},{72,83,90,82},0},
{10032,"liming",'M',{1992,8,20},{88,92,78,78},0},
{10033,"wangli",'F',{1991,9,19},{98,72,89,66},0},
{10034,"chenhong",'F',{1992,3,22},{87,95,78,90},0}
};
printf("输出五位同学的信息\n");
for(i=0;i<5;i++)
{
printf(" 学号:%d,姓名:%s,性别:%c,总分:%d,平均分:%d,\n",stu[i].num,stu[i].name,stu[i].gender,stu[i].ave);
printf("出生日期:");
for(j=0;j<3;j++)
{
printf("%d ",stu[i].birthday[j]);
}
printf("成绩:");
for(k=0;k<4;k++)
{
printf("%d ",stu[i].score[k]);
}
printf("\n");
}
printf("\n");
printf("平均成绩最高");
for(i=0;i<5;i++)
{
for(k=0;k<4;k++)
{
sum+=stu[i].score[k];
stu[i].ave=sum/k;
}
if(max<stu[i].ave)
max=stu[i].ave;
}
printf("平均成绩最高是%d",max);
}
#include<stdio.h>
#include<string.h>
struct Candidate
{
char name[10];
int count;
};
int main()
{
struct Candidate arr[3]=
{
"li",0,"zhang",0,"wang",0
};
int i=0,j=0;
char s[10];
int wrong=0;
int flag=0;
for(i=0;i<10;i++)
{
flag=0;
printf("Input vote %d:",i+1);
scanf("%s",s);
for(j=0;j<3;j++)
{
if (strcasecmp(arr[j].name,s)==0)
{
arr[j].count++;
flag=1;
}
}
if (flag==0)
{
wrong++;
}
}
printf("Election results:\n");
for (i=0;i<3;i++)
{
printf("%8s:%d\n",arr[i].name,arr[i].count);
}
printf("Wrong election:%d\n",wrong);
}