首页 > 其他分享 >指针练习N个人报数,每报到3的人出局

指针练习N个人报数,每报到3的人出局

时间:2024-05-19 14:52:34浏览次数:17  
标签:arr int 每报 报数 Round void round 指针

#include<stdio.h>
#include<math.h>
void Round(int *arr,int n);
void SearchLast(int *arr,int n);
int main(void){
   int arr[4];
  Round(arr,4);
  SearchLast(arr,4);

}
void Round(int *arr,int n){
    int flag=n;int i=0;
    for(i=0;i<n;i++)//Initialize
        *(arr+i)=i+1;

    int count=0;
        i=0;
    int round=0;
    while(flag>1){
    /*
            round++;
        printf("round %d:",round);
    for(int k=0;k<n;k++){
        printf(" %d",arr[k]);
    }
    printf("\n");
    */
     while(i<=n){
        if(i==n){i=0;}
        if(arr[i]==i+1&&count<3){
            count++;
            if(count==3){
                count=0;arr[i]=0;flag--;
        }
            i++;
            break;
        }

        i++;
     }

    }

}

void SearchLast(int *arr,int n){

    for(int i=0;i<n;i++)
        if(*(arr+i)==i+1)
        printf("the last is %d.\n",i);
}

标签:arr,int,每报,报数,Round,void,round,指针
From: https://www.cnblogs.com/zhongta/p/18200334

相关文章

  • 指针练习N个数后移M个位置
    有N个整数,使前面各数顺序向后移动M个位置,最后M个数变成最前面M个数。#include<stdio.h>#include<math.h>voidMove(int*arr,intn,intm);intmain(void){intarr[10]={99,88,77,66,55,44,33,22,11,0};printf("beforemove:\n");for(inti=0;i<10;i++)pr......
  • 指针练习输入十个数
    将最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1.输入10个数。2.进行处理。3.输出10个数。#include<stdio.h>#include<math.h>voidInput(int*arr);voidChange(int*arr);voidOutput(int*arr);intmain(void){Input(arr);Change(arr);......
  • C语言中多维数组和多重指针的区别
    比如下面这段代码:charstr[3][3]={"aa","bb","cc"};char**p=str;char*s1=str[0];char*s2=p[0];有什么问题?我们来看实际的内存布局,str是一个多维数组,它的尺寸实际上是3*3=9个char。也就是一共8bit*9=72bit,而在一台64位机器上,一个char*的大小就是64位,所以对......
  • 结构体中的指针&&拷贝赋值构造函数改造
    带有成员指针的结构体的拷贝1.问题使用结构体时,在析构时发生了**重复释放指针**的错误。2.原因定义了QList<结构体>,使用append添加结构体对象并未此结构体中的指针分配了空间,append会执行值拷贝,此时会创建新的副本添加进QList中,值得注意的是:append执行拷贝时并不会分配地......
  • 指针压缩
    1查看$java-XX:+PrintCommandLineFlags-version -XX:-UseCompressedClassPointers-XX:-UseCompressedOops-XX:+UseCompressedClassPointers-XX:+UseCompressedOops 2 JDK1.8之后默认开启这两个压缩当堆内存小于4G时,不需要启用指针压缩,jvm会直接去除高32位地址......
  • C语言第五篇-指针
    什么是指针指针是内存中一个最小单元的编号,也就是地址平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量指针变量我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个变量就是指针变量#include<stdio.h>intmain(){prin......
  • 加练日记2-二分,双指针,排序
    二分模板 #include<bits/stdc++.h>usingnamespacestd;usingll=longlong;constllMOD=998244353;lln,m;constllN=2e5+9;lla[N];llv[N];intf(llmid){ llans=0,pre=-1e9; for(inti=1;i<=n;i++){ if(a[i]-pre>=mid)ans++,pre=a[i......
  • 蓝桥杯-递增三元组(三种解法,二分, 双指针, 前缀和)
    给定三个整数数组A=[A1,A2,…AN],B=[B1,B2,…BN],C=[C1,C2,…CN],请你统计有多少个三元组(i,j,k)满足:1≤i,j,k≤NAi<Bj<Ck输入格式第一行包含一个整数N。第二行包含N个整数A1,A2,…AN。第三行包含N个整数B1,B2,…BN。第四行包含N个整数C1,C2,…CN。输出格......
  • 第8章 指针和引用
    1什么是指针指针是存储内存地址的变量与所有变量一样,指针也占用内存空间,其特殊之处在于,指针包含的值为内存地址,因此,指针是指向内存单元的特殊变量内存单元通常使用十六进制表示法1.1声明指针和其它变量一样,指针在使用前也需要声明。通常将指针声明为指向特定的类型,如int,......
  • C++ const常量指针
    const常量指针const是C++关键字,译为常量,const指针即为常量指针。分为三类指向const的指针const指针指向const的const指针指向const的指针表示指向区域的数据是不可变的,但是可以更换指向语法(将const卸载*之前):const数据类型*指针名数据类型const*指针名......