第一题
#include<stdio.h>
void sort(int a[],int n);
int main()
{
int n,a[8];
int i;
printf("Enter n(n<=8):");
scanf("%d",&n);
printf("Enter a[%d]:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
printf("After sorted,a[%d]=",n);
for(i=0;i<n;i++)
printf("%3d",a[i]);
return 0;
}
void sort(int a[],int n)
{
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
第二题
#include<stdio.h>
int search(int list[],int n,int x);
int main()
{
int n,x,list[10];
int i;
printf("Input n:");
scanf("%d",&n);
printf("Input %d integers:",n);
for(i=0;i<n;i++)
scanf("%d",&list[i]);
printf("Input x:");
scanf("%d",&x);
search(list,n,x);
if(search(list,n,x)!=-1)
printf("mid=%d\n",search(list,n,x));
else
printf("-1\n");
return 0;
}
int search(int list[],int n,int x)
{
int i;
for(i=0;i<n;i++)
{
if(x==list[i])
return i;
else
return -1;
}
}
第三题
#include<stdio.h>
int main(void)
{
int count,i,m,n,no;
int num[50];
int *p;
printf("enter n,m:");
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
num[i]=i+1;
p=num;
count=no=0;
while(no<n-1)
{
if(*p!=0)count++;
if(count==m)
{
no++;
printf("退出的人%d:%d\n",no,*p);
*p=0;
count=0;
}
p++;
if(p==num+n)
p=num;
}
p=num;
while(*p==0)
p++;
printf("最后一个人:%d\n",*p);
}
最后一题不会,问的同学,但还是没懂,打算上课听老师讲。
原文:http://www.cnblogs.com/wangshixuan/p/6146700.html