C笔试题之编程题四

13、一个8*8的矩阵内存储1-9的数字,找到一个4*4的方阵使其和最小。

  思路:穷举法

 1 #include <stdio.h>
 2
 3 #define uchar unsigned char
 4
 5 int main(void)
 6 {
 7     uchar square[8][8] = {
 8         { 1, 4, 6, 8, 4, 9, 0, 7 },
 9         { 2, 6, 3, 7, 2, 1, 8, 7 },
10         { 1, 6, 9, 8, 5, 3, 2, 8 },
11         { 4, 5, 7, 2, 1, 2, 8, 3 },
12         { 1, 7, 9, 4, 3, 7, 3, 9 },
13         { 8, 9, 1, 3, 4, 5, 2, 7 },
14         { 6, 8, 4, 3, 2, 9, 7, 3 },
15         { 1, 3, 2, 8, 5, 5, 3, 4 }
16     };
17
18     uchar sum = 0;
19     uchar min = 144;
20     uchar i, j, k, l, mini, minj;
21
22     for (i = 0; i < 5; i++)
23         for (j = 0; j < 5; j++)
24         {
25             for (k = i; k < i + 4; k++)
26                 for (l = j; l < j + 4; l++)
27                 {
28                     sum += square[k][l];
29                 }
30             if (sum < min)
31             {
32                 min  = sum;//record minimal value
33                 mini = i;  //record location x,y
34                 minj = j;
35             }
36             sum = 0;
37         }
38     printf("the minimal square4x4 is %d, location x = %d, y = %d.\n", min, mini, minj);
39     getchar();
40
41     return 0;
42 }

  结果如下:

14、某人设计了一个长正整数减法的计算程序,两个加数分别用数组Va和Vb表示,和用Vc表示。数据采用个位在最右侧的对齐方式(即数组最大下标对应个位),最多可以计算300位十进制数的减法。假设

原文地址:https://www.cnblogs.com/yangzx/p/11141109.html

时间: 2024-08-26 17:07:31

C笔试题之编程题四的相关文章

2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出'1234567890',对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达'1234567890',如下(为了好看,里面加了tab空格符) '66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666''6...6 ....6 ....6 ....6 6...6 6.... 6

Java笔试题-线程编程方面

Ja 线程编程方面 60.java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 答:有两种实现方法,分别是继承Thread类与实现Runnable接口 用synchronized关键字修饰同步方法 反对使用stop(),是因为它不安全.它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们.结果很难检查出真正的问题所在.suspend()方法容易发生死锁.调用suspend()的时候,

Java基础面试题总结-编程题(亲测可用)

1.理发题(10份) (1)110元,洗剪吹31元,可以多少次洗剪吹?最后还剩多少? (2)一次剪头发15元和一次洗头20元,平均每次消费多少钱? public class Test04 {    public static void main(String[]args){        double money=110;        double costone=31;        int count=(int)(money/costone);        System.out.prin

一道 google曾出过的笔试题:编程实现对数学一元多项式的相加和相乘操作(1)

数学中一元n次多项式可表示成如下的形式: Pn(x)=p0+p1x+p2x^2+…+pnx^n     (最多有 n+1 项,n +1 个系数唯一确定她) (1)请设计一套接口用以表示和操作一元多项式 (2)根据上述设计实现一元n次多项式的加法运算 (3)根据上述设计实现一元n次多项式的乘法运算 分析:  题目大概意思: 数学里常见的一元 n 次表达式,设计出加减乘除的函数(方法),同时提供对外接口,把内部实现封装起来,而 n 的大小没有指定. 问题的本质: 就是一系列的单个未知数 x,指数和系

阿里巴巴 2015年校招 笔试题(附加题)

PS: 前面的选择题:考了各种逻辑推理题.概率题···醉了··· (1)给定一个query和一个text,均由小写字母组成.要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度.例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果 应该为其长度3.请注意程序效率. (2)写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差

笔试题整理 第二题

班上同学聚餐吃火锅,一锅煮了m(1<=m<=50)个鱼丸和n(1<=n<=50)个肉丸,现欲将m个鱼丸和n个肉丸分到k(1<=k<=50)个碗中,允许有空碗,鱼丸和肉丸不允许混在同一个碗里,问共有多少种装法? 假设碗足够大,能够装50个鱼丸和50个肉丸,并且碗没有任何区别.因此当m等于n等于1,k等于3时,有一种装法,因为110,101,011被看做同一种方法. #include <iostream> #include <vector> #inc

大众点评笔试题最后两题题解

问题1: 这是一道动态规划的问题,状态转移方程为 dp[i] = dp[i-3] + dp[i-1] , i>= 3(i<3时dp[i]=1,仅仅有1种情况) 我这里直接开了一个dp数组解决问题.在init方法中进行了初始化. 另外,考虑到为了方便測试,我用了一个递归函数dfs(m,n,str)来进行对全部情况的输出.详细见代码:dfs函数的功能就是输出全部的可行方案. 如:当我输入5的时候,输出: 4 全部方案: 11111 211 121 112 同一时候我设定了数n的范围,当n<0

2019vivo秋招提前批笔试题第3题

笔试的时候没做出来,就顺手截图了. 虽然知道要用动态规划做,但我一直就不太懂动态规划.笔试完又花了2小时把它做出来了.也不知道性能怎么样,但还好做出来了. def solution(n, toltal_money, until_price, until_hot): # 二维数组,每一行代表0到total_money每一个数对应的解(解是一个数组,第0列是最高热度值,后面分别是凑成此热度的因子) # 因为不允许重复采购同一个商品,所以需要标识一下凑成此热度值时已经购买的商品,方便后面的解用到时查看

C/C++基础笔试题1.0(字节对齐)

传说中博文标题带有笔试.面试等点击率都会很高呢?我也试试! 众生皆是码农命,我们这种即将战秋招的渣渣,既没有超凡的能力,也没有流弊的项目,怎么破? 唯独苦苦怒刷基础,笔试题,面试题,因为以前常常刷OJ,所以很多面试题的编程题倒是可以解,但是笔试题或者基础题我就不记得了,唯独慢慢回想. 况且,写这种面试题,谁能写得赢JULY神. 今天首先讲得是字节对齐. 注意:我是一个渣,所以我只能按自己的理解来说了(要不然怎么会这么惨呢?).如果你想看大神的解释,请看这里 来看个题目 #include <ios