笔试题目
时光若止-Dale
己所不欲,勿施于人;在邦无怨,在家无怨。
展开
-
笔试题目(13)杨氏矩阵关于时间复杂度
杨氏矩阵:有一个二维数组.数组的每行从左到右是递增的,每列从上到下是递增的.在这样的数组中查找一个数字是否存在。如果存在返回坐标,不过不存在,返回不存在.时间复杂度小于O(N);例如数组:1 2 34 5 67 8 9【解决思路】:简单的办法是将二维数组遍历一遍,依次比较,但是这样的话时间复杂度肯定大于o(n),不符合题目要求。我们要想做到时间复杂度小于o(n),只能根据杨氏矩阵的性...原创 2018-11-27 20:07:04 · 474 阅读 · 0 评论 -
笔试题目(12)星号组成的菱形(任意大小)
#include "stdio.h"#include "stdlib.h"void space(i,row){ for (int k = 1; k <= (row - i) / 2; ++k) //星号前或后应打印(j-i)/2个空格 { printf(" "); }}void star(i){ for (int l = 1; l原创 2018-10-31 10:26:33 · 337 阅读 · 0 评论 -
笔试题目(11)1到 100 的所有整数中出现多少次数字9。
#include "stdio.h"#include "stdlib.h"int main(){ int a = 0, count = 0; for (a = 0; a <= 100; ++a) { if (a < 10 && a == 9) { ++count; } else { if (a/10 == 9) ++cou...原创 2018-10-29 11:34:53 · 417 阅读 · 0 评论 -
笔试题目(10)计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
#include "stdio.h"#include "stdlib.h"int main(){ int a = 0; double sum = 0; //double类型定义 for (a = 1; a <= 100; ++a) //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 { if (a % 2 == 0) ...原创 2018-10-29 11:21:45 · 324 阅读 · 0 评论 -
笔试题目(9)将数组A中的内容和数组B中的内容进行交换。(数组一样大)
#include "stdio.h"#include "stdlib.h"int main(){ int i = 0, x = 0, y = 0; int a[] = {1,3,5,7,9}, b[] = {2,4,6,8,10}; y = sizeof(a) / sizeof(a[0]); //计算数组元素个数 for (i = 0; i < y; ++i) { x ...原创 2018-10-29 10:50:54 · 102 阅读 · 0 评论 -
笔试题目(8)求两个数的最大公约数。
#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include "stdlib.h"int main(){ int a = 0, b = 0, c = 0; printf("请输入两个整数,并以逗号隔开:"); scanf("%d,%d",&a,&b); c = a < b ? a : b; //比较两数...原创 2018-10-29 10:36:57 · 158 阅读 · 0 评论 -
笔试题目(7)将三个数按从大到小输出。(选择排序法,适用于更多数。)
#include "stdio.h"#include "stdlib.h"int main(){ int a[] = { 123, 653, 77}; int i = 0, j = 0,x = 0, y = 0; y = sizeof(a) / sizeof(a[0]); //计算数组元素个数 for (i = 0; i < y-1; ++i) //选择排序法 { fo...原创 2018-10-29 10:35:53 · 451 阅读 · 0 评论 -
笔试题目(6)求10 个整数中最大值。
#include "stdio.h"#include "stdlib.h"int main(){ int a[10] = {123,65,77,456,89,126,547,90,56,341}; int max = 0,i = 0; for (i = 0;i < 10;i++) { max = (max >= a[i] ? max : a[i]); } pri...原创 2018-10-29 10:34:15 · 94 阅读 · 0 评论 -
笔试题目(5)不使用临时变量,交换两个数的内容。
#include "stdio.h"#include "stdlib.h"int main(){ int a = 1, b = 2; printf("a = %d, b = %d\n", a, b); //打印交换前的a,b a = a^b; //三次异或操作,即可实现无中间变量条件下交换两个整型变量 b = a^b; a = a^b; printf(&原创 2018-10-29 10:33:26 · 153 阅读 · 0 评论 -
笔试题目(4)给定两个整形变量的值,将两个值的内容进行交换。
#include "stdio.h"#include "stdlib.h"int main(){ int a = 1, b = 2; int c = 0; printf("a = %d, b = %d\n", a, b); //打印交换前的a,b c = a; a = b; b = c; printf("a = %d, b = %d\n", a, b); //打印交换后的a,...原创 2018-10-29 10:31:03 · 169 阅读 · 0 评论 -
笔试题目(3)判断1000年-2000年之间的闰年
#include "stdio.h"#include "stdlib.h"int main(){ printf("输出1000-2000之内的闰年:\n"); int a = 0, b = 0; for (a = 1000; a <= 2000; a++) { if ((a%4 == 0 && a%100 != 0) || a%400 == 0) //闰...原创 2018-10-26 15:43:47 · 259 阅读 · 0 评论 -
笔试题目(2)输出乘法口诀表
#include "stdio.h"#include "stdlib.h"int main(){ printf("输出乘法口诀表:\n"); int a, b; for (a = 1; a < 10; a++) { for (b = 1; b < 10; b++) //或者b<=a,变成简略版乘法口诀表 { if(a*b<10) print...原创 2018-10-26 15:42:26 · 318 阅读 · 0 评论 -
笔试题目(1)打印100~200 之间的素数
#include "stdio.h"#include "stdlib.h"int main(){ printf("输出100-200内的素数:\n"); int a, b, m = 0; for (a = 100; a <= 200; a++) { for (b = 2; b <= a; b++) { if (a%b == 0)break; } i...原创 2018-10-26 15:38:54 · 114 阅读 · 0 评论