作业十一代码

1.冒泡法进行排序。要求自定义一个函数实现用冒泡法对整数数组进行简单排序。

#include<Stdio.h>
int main()
{
    int i,n,a[10];
    void sort(int a[],int n);
    printf("Input n(n<10):");
    scanf("%d",&n);
    printf("Input a[%d]:",n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    sort(a,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-1;j++)
            if(a[j]>a[i]){
                t=a[j];
                a[j]=a[i];
                a[i]=t;
            }            
}

测试截图:

2.在数组中查找指定元素

#include<Stdio.h>
int main()
{
    int n,list[10],num,x,i,item;
    int search(int list[],int n,int x);
    printf("Input n:");
    scanf("%d",&n);
    printf("Input list[%d]:",n);
    for(i=0;i<n;i++)
        scanf("%d",&list[i]);
    printf("search:");
    scanf("%d",&x);
    num=search(list,n,x);
    if(num!=-1)
        printf("%d",num);
    else if(num==-1)
        printf("Not find!");
    return 0;
}
int search(int list[],int n,int x)
{
    int i,num;    
    for(i=0;i<n;i++){
        if(x==list[i])
            return i;        
    }         
    if(x!=list[i]) return -1;
}

测试截图:

3.报数游戏:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。输入整数n和m,并按退出顺序输出退出圈子的人的编号 。

#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
",no,*p);
            *p=0;
            count=0;
        }
        p++;
        if(p==num+n)
        p=num;
    }
    p=num;
    while(*p==0)
    p++;
    printf("最后一个人:%d
",*p);
    
    
}

测试截图:

原文地址:https://www.cnblogs.com/gdcs16-409/p/6140306.html