首页 > 其他分享 >周五打卡

周五打卡

时间:2023-04-21 11:15:01浏览次数:37  
标签:cout int 周五 while 直到 数组 打卡 移动

1.题目描述

定义一个长度为n(1 <= n <= 100)的整型数组a,输入n个整数。编写程序,将该数组中所有奇数放在偶数前面

2.设计思路:

输入整型数组a和数组长度n。
定义两个指针i和j,分别指向数组头尾。
当i < j时,向后移动i,直到a[i]为偶数;向前移动j,直到a[j]为奇数;交换a[i]和a[j]的值。
重复执行第3步,直到i >= j。
输出反转后的数组a。

3.程序流程图:
开始
输入数组长度n
输入数组a[n]
定义指针i和j,分别指向数组头尾
当i < j时,向后移动i,直到a[i]为偶数;向前移动j,直到a[j]为奇数;交换a[i]和a[j]的值
重复执行第3步,直到i >= j
输出数组a
结束

4.代码实现:

#include <iostream>
using namespace std;

int main() {
    int n;
    cout << "请输入数组长度:" << endl;
    cin >> n;
    
    int a[n];
    cout << "请输入" << n << "个整数:" << endl;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }

    int i = 0, j = n - 1;
    while (i < j) {
        while (a[i] % 2 != 0 && i < j) { 
            i++;
        }
        while (a[j] % 2 == 0 && i < j) { 
            j--;
        }
        if (i < j) { 
            int temp = a[i];
            a[i] = a[j];
            a[j] = temp;
            i++;
            j--;
        }
    }

    cout << "调整后的数组为:" << endl;
    for (int i = 0; i < n; i++) {
        cout << a[i] << " ";
    }
    cout << endl;

    return 0;
}

标签:cout,int,周五,while,直到,数组,打卡,移动
From: https://www.cnblogs.com/zeyangshuaige/p/17339644.html

相关文章

  • 每日打卡·
    //#include<iostream>//#include<stdio.h>//#include<string>//usingnamespacestd;//char*search(char*s,char*t);//intmain()//{//chars[30]="";//charc;//c=getchar();inti=0;//while(c!='\n......
  • 第七天打卡
    问题:N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置若找到,则输出其下标值;反之,则输出“Notbefound”设计:利用二分查找,寻找此数。流程图 源代码:#include<stdio.h>#defineN10intmain(){ inti,a[N]={1,3,45,67,88,99,101,190},low=0,high=N-1,mid......
  • 第五天打卡
    #include<iostream>usingnamespacestd;intmain(){longlonga[30];intx,i;a[1]=1;a[2]=1;for(x=3;x<=30;x++){a[x]=a[x-1]+a[x-2];}for(i=1;i<=30;i++){printf("%9d",a[i]);if(i%4==0)......
  • 4.20打卡
    一、问题描述:一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数,该数仍为五位数。问该车的速度是多少?新的对称数是多少?二、设计思路:根据题意,司机在上午10点看到......
  • 编程打卡:C语言趣味编程习题做
    编程打卡:C语言趣味编程习题做求车速问题描述已知一个对称数里程数,2小时之后它又变成了一个对称数,求速度。设计思路很明显看出来95859的下一个对称数是95959,再下一个对称数是96069,不,还是每次增加,然后再判断对称数吧。流程图graphA[开始]-->B[i=95859+1]-->C[i++]-->D{i......
  • 打卡第四天
    一、问题描述: 若一个三位数等于其各位上数字的立方和,则称这个三位数为水仙花数。编写一个程序,输出所有的水仙花数。输入格式:二、设计思路:枚举三位数x。对x进行按位分离。判断x是否为水仙花数,并输出。三、程序流程图 四、伪代码实现:开始fori=100to999do......
  • 第六天打卡
    1.问题:编写用牛顿迭代法求方程根的函数。方程为a*x*x*x+b*x*x+c*x+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,有主函数输出。牛顿迭代法的公式是:x=x0-f(x0)/f'(x0),设迭代到|x-x0|<=1/100000结束。2.思路:定义好x与x0两个变量,通过do-while循环进行迭代,每次循......
  • 每天打卡一小时 第十一天 编译四部曲
     第一部曲自然语言创建函数,对函数进行定义声明第二部曲流程图不用了吧第三部曲代码#include<iostream>usingnamespacestd;classComplex{public:Complex(doubler=0,doublei=0):real(r),imag(i){}Complexoperator+(Complex&c......
  • 打卡第八天
    运用dowhile语句求1~10的和一、1.定义变量n sum用于累加以及输出和2.运用dowhile语句作为累加二、三、#include<iostream>usingnamespacestd;intmain(){ intn=1,sum=0; do{ sum+=n; n++; }while(n<=10); cout<<sum<<endl; return0;} 四、#include<iostr......
  • 第四天打卡
    一、问题描述一辆卡车违反交通规则,撞人之后逃跑。现场有三个目击该事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同的;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。二、设计......