第一题
#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); }
最后一题不会,问的同学,但还是没懂,打算上课听老师讲。
时间: 2024-10-12 15:39:56