打印九九乘法表

#include<stdio.h>

int main() {
int num = 1;
for (int i = 1;i <= 9;++i) {
for (int j = 1;j <= 9;++j) {
printf("%d * %d = %d ", j, i, i*j);
if (j == num) {
++num;
break;
}
}
printf("\n");
}
return 0;
}

打印图形:

#include<stdio.h>

int main() {
int i, j, k;
for (i = 0;i < 4;++i) {
for (j = 4;j > i;j--) {
printf(" ");
}
for (k = -1;k < i;k++) {
if (k != i - 1) printf("* ");
else printf("*");
}
printf("\n");
}
for (i = 0;i < 5;++i) {
if (i != 4) printf("* ");
else printf("*");
}
printf("\n");
for (i = 0;i < 4;i++) {
for (j = -1;j < i;j++) {
printf(" ");
}
for (k = i;k < 4;k++) {
if (k != 4) printf("* ");
else printf("*");
}
printf("\n");
}
return 0;
}

#include<stdio.h>

int main() {
int i, j, k;
//前四行
for (i = 0;i < 4;++i) {
for (j = 4;j > i;j--) {
printf(" ");
}
for (k = -1;k < 2 * i;k++) {
if (k == 2 * i - 1 || k == -1) printf("*");
else printf(" ");
}
printf("\n");
}
//第五行
for (i = 0;i < 9;++i) {
if (i == 8 || i == 0) printf("*");
else printf(" ");
}
printf("\n");
//第六到八行
for (i = 0;i < 3;++i) {
for (j = -1;j < i;j++) {
printf(" ");
}
printf("*");
for (k = 0;k < 5 - 2 * i;++k) {
printf(" ");
}
printf("*");
printf("\n");
}
//最后行
for (i = 0;i < 4;++i) {
printf(" ");
}
printf("*\n");
return 0;
}

#include<stdio.h>	

int main() {
//前三行
for (int i = 0;i < 3;++i) {
for (int j = i;j < 3;++j) {
printf(" ");
}
for (int j = 0;j < i + 2;++j) {
printf("* ");
}
for (int j = 6 - 2 * i;j > 0;j--) {
printf(" ");
}
for (int j = 0;j < i + 2;++j) {
if(j!=i+1) printf("* ");
else printf("*");
}
printf("\n");
}
//第四行
for (int i = 0;i < 10;++i) {
if(i!=9) printf("* ");
else printf("*");
}
printf("\n");
//第5行到第13行
for (int i = 1;i <= 9;++i) {
for (int j = 0;j < i;++j) {
printf(" ");
}
for (int j = 9 - (i - 1);j > 0;j--) {
printf("* ");
}
printf("\n");
} return 0;
}

4.

(1)求两个有序数组的公共元素

#include<stdio.h>

void func1(int a[], int b[], int size_a, int size_b) {
int i = 0, j = 0;
while (i < size_a && j < size_b) {
if (a[i] == b[j]) {
printf("%d ", a[i]);
++i;
++j;
}
else {
a[i] > b[j] ? j++ : i++;
}
}
printf("\n");
} int main() {
int a[5] = { 1,2,3,8,9 };
int b[6] = { 1,3,5,8,9,11 };
func1(a, b, 5, 6);
return 0;
}

(3)求n个有序数组的公共元素。

#include<iostream>
#include<algorithm>
#include<vector> using namespace std; vector<int> compare(vector<int> &a, vector<int> &b) {
int i = 0, j = 0;
int size_a = a.size(), size_b = b.size();
vector<int> res;
while (i < size_a && j < size_b) {
if (a[i] == b[j]) {
res.push_back(a[i]);
++i;
++j;
}
else {
a[i] > b[j] ? j++ : i++;
}
}
return res;
} void func(vector<vector<int>> &v) {
int row = v.size(); //行数
vector<int> ans = v[0];
int n = row - 1, i = 1;
while(n--) { //循环row-1次
ans = compare(ans, v[i]);
i++;
}
for (auto i : ans) {
cout << i << " ";
}
} int main() {
vector<vector<int>> v = { {1,2,3,4},{1,2,3},{2,3},{2} };
func(v); return 0;
}

  1. 求数组的最大值和次大值。

    #include<stdio.h>
    
    void bubble_sort(int a[], int n)
    {
    int i, j, temp;
    for (j = 0; j < 2; j++) { //两次冒泡
    for (i = 0; i < n - 1 - j; i++)
    {
    if (a[i] > a[i + 1])
    {
    temp = a[i];
    a[i] = a[i + 1];
    a[i + 1] = temp;
    }
    }
    }
    printf("最大值:%d \n次大值:%d\n", a[n - 1], a[n - 2]);
    } int main() {
    int a[10] = { 2,5,1,-9,45,6,-2,0,50,10 };
    bubble_sort(a, 10);
    return 0;
    }

  1. 给定一个n个整型元素的数组a,其中有一个元素出现次数超过n / 2,求这个元素。

    #include<stdio.h>
    
    void func(int a[], int n) {
    int res = a[0], num = 1;
    for (int i = 0;i < n;i++) {
    if (a[i] != a[i + 1]) {
    --num;
    if (num == 0) {
    res = a[i + 1];
    num = 1;
    }
    }
    else {
    ++num;
    }
    }
    for (int i = 0;i < n;i++) {
    if (a[i] == res) {
    ++num;
    }
    }
    if (num > (n / 2)) printf("结果为:%d\n", res);
    else printf("不存在!\n");
    } int main() {
    int a[10] = { 1,1,1,9,8,1,-9,2,1,1 };
    func(a, 10);
    return 0;
    }

  1. 给定一个含有n个元素的整型数组,找出数组中的两个元素x和y,使得abs(x - y)值最小

    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    const int INF = 1000000000; int main() {
    vector<int> v= { -1,-2,-50,30,2,300,7,9,10,15 };
    sort(v.begin(), v.end());
    int minLen = INF, x, y;
    for (auto i = 0;i < v.size()-1;++i) {
    if (abs(v[i + 1] - v[i]) < minLen) {
    minLen = abs(v[i + 1] - v[i]);
    x = v[i];
    y = v[i + 1];
    }
    }
    printf("%d %d\n", x, y);
    return 0;
    }

  1. 给定含有1001个元素的数组,其中存放了1-1000之内的整数,只有一个整数是重复的,请找出这个数

    A1 + … + A1001 – (1 + …+ 1000)
void func(int a[]) {
int sum = 0;
for (int i = 0;i < 1001;i++) {
sum += a[i];
}
for (int i = 1;i <= 1000;i++) {
sum -= i;
}
printf("结果为:%d\n", sum);
}

C语言强化——数组的更多相关文章

  1. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  2. C语言一维数组、二维数组、结构体的初始化

    C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始 ...

  3. go语言的 数组、slice、map使用(转)

    golang群 点击加入 go语言的 数组.slice.map使用, 由于网上有很好的说明, 不需要再写了,请看这几篇: Go语言中的 Array, Slice和 Map 深入学习golang五篇,以 ...

  4. go语言 类型:数组

    在go语言中数组array是一组特定长度的有序的元素集合. go的数组类型由两部分组成——类型和长度,二者缺一不可.数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定 ...

  5. C语言基础--数组及相关

    概念: 一堆相同类型的数据的有序集合 格式: 元素类型  数组名称[ 元素个数 ] 定义数组: // 定义了一个名称叫做scores的数组, 数组中可以存放3个int类型的数据 ]; // 只要定义一 ...

  6. 学习C语言的数组

    C语言的数组 数组声明的实例:int num[3];只要记下这个模板就好. 不建议使用变量定义数组,如果使用了变量定义数组,作为数组的元素的个数,不初始化的情况下是随机值,如果初始化会直接报错 注意: ...

  7. 对于C语言中数组名是指针的理解

    我们都知道,c语言中数组名是一个指针,比如下面这段代码 #include<iostream>using namespace std;int main(){ int a[4]={1,2,3, ...

  8. c语言中数组相关问题

    c语言中数组相关问题: 1.数组基本定义: 相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组 ...

  9. 线性表之顺序存储结构(C语言动态数组实现)

    线性表的定义:N个数据元素的有限序列 线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表) 顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an) 链 ...

随机推荐

  1. 马拉车 o(n)(最长连续回文串) hdu 3068

    #include<bits/stdc++.h> ; using namespace std; +]; string manacher(string ss) { string tt=&quo ...

  2. Python下载与安装配置

    最近想学习Python那就开始吧 首先就是下载安装了 Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:https://www.python.org/ 你 ...

  3. 经过强制类型转换以后,变量a, b的值分别为( )short a = 128; byte b = (byte) a;

    1.Java中用补码形式表示 2.第一位正负位,1表示负,0表示正. 3.原码:一个数的二进制表示.                  3的原码00000011   -3的 原码 10000011 4 ...

  4. Android USB gadget configfs学习笔记总结

    1.一个config_item 是通过显式用户空间mkdir操作创建的,通过rmdir销毁.属性(文件)在mkdir之后出现,可以通过read和write读取或修改属性文件.与sysfs一样,read ...

  5. MySQL--派生表临时结果集中的AutoKey

    在某些场景中,需要对派生表生成临时结果集进行materialized,如果该临时结果集中包含索引键,那么查询有可能通过该索引键来进行优化. 如对下面查询: SELECT T2.purpose_code ...

  6. Django 之老师讲的教师,班级学生,class_2_teacher四个表格的项目

    现数据库中有四张表格 要求:实现查询功能  页面显示教师  id 姓名  教学班级 url 处设置 url(r'teacher_list/',teacher_list),  teacher_list函 ...

  7. skipper lua 脚本支持

    skipper 对于lua 脚本的支持是通过gopher-lua,支持基本上大部分的lua特性 说明:项目使用docker-compose 运行 环境准备 docker-compose 文件 vers ...

  8. Roll a ball 学习

    using UnityEngine; using System.Collections; /// <summary> /// 相机控制 /// </summary> publi ...

  9. oracle-rman-1

    备份脚本 ############################# [oracle@rac02 backup_scripts]$ cat rman_bus_level_0_bk.sh######## ...

  10. 将 vue 挂在 window 对象上,实现能调用 elementUI 的组件

    html 部分: <div id="sample"> </div> js 部分(将js代码放在 body 的 onload事件中: <body onl ...