华为面试题:从1开始将数据无限制的打印下去(c语言版)
2011-08-26 08:47
375 查看
下面是到华为面试答的一道题,题意是从1开始,1,2,3,3.... 无穷近的打印下去,我是用c语言写下来做法;
#include <stdio.h>
#include <math.h>
#include <string.h>
int main(int argc, char *argv[]) {
char *arr, *p, *phead;
int length, i, j;
int argLen;
argLen = atoi(argv[1]);
length = pow(2, 30);
arr = calloc (length, sizeof(char)); /** 申请1G内存 **/
memset(arr, 0, length);
*(arr + length - 1) = '\0';
p = arr + length - 2;
phead = p;
for (i = 0; i < argLen; i++) {
while (1) {
p = arr + length -2;
for (j = 0; j < 10; j++) {
*p = j + 48;
printf("%s,", phead);
}
printf("\n");
//向前进一位;
while (phead <= p && *p == (9 + 48)) {
*p = 0 + 48;
p--;
}
if (phead <= p) (*p)++;
else {phead--; *phead = 1 + 48; break;}
}
}
free(arr);
}
#include <stdio.h>
#include <math.h>
#include <string.h>
int main(int argc, char *argv[]) {
char *arr, *p, *phead;
int length, i, j;
int argLen;
argLen = atoi(argv[1]);
length = pow(2, 30);
arr = calloc (length, sizeof(char)); /** 申请1G内存 **/
memset(arr, 0, length);
*(arr + length - 1) = '\0';
p = arr + length - 2;
phead = p;
for (i = 0; i < argLen; i++) {
while (1) {
p = arr + length -2;
for (j = 0; j < 10; j++) {
*p = j + 48;
printf("%s,", phead);
}
printf("\n");
//向前进一位;
while (phead <= p && *p == (9 + 48)) {
*p = 0 + 48;
p--;
}
if (phead <= p) (*p)++;
else {phead--; *phead = 1 + 48; break;}
}
}
free(arr);
}
相关文章推荐
- 华为2013校招之哈工大威海 上机试题之一:报数问题:设有N 个人围坐一圈并按顺时针方向从1 到N 编号,从第S个人开始进行1 到M报数,报 数到第 M个人时,此人出圈,再从他的下一个人重新开始1 到 M的报数,如此进行下去直 到所有的人都出圈为止。现要打印出出圈次序。
- 怎样从顶部开始逐层打印二叉树结点数据?蛋疼解法
- 那天在CSDN上看到一个网友在华为遇到的面试题是一道乘法题看似简其实并不是因为它们都超出了数据类型的范围,今天做了下加法希望对大家有所启示
- 输入一个n,在屏幕上打印出N*N的矩阵(华为面试题)
- 怎样从顶部开始逐层打印二叉树结点数据?
- 从底层逐层的开始打印出二叉树的节点数据
- [华为机试练习题]41.取给定正整数的指定bit位开始的指定长度的数据
- 面试题 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数, 报数到第m个人, 此人出圈, 再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现
- 微软等数据结构+算法面试100题(4)--怎样从顶部开始逐层打印二叉树结点数据?请编程
- 面试题:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。
- 从顶层开始逐层打印二叉树节点数据
- C++笔试题(剑指offer 面试题5 将单向链表数据,逆向打印输出)
- 从顶部开始逐层打印二叉树结点数据
- 数据恢复的学习旅程开始
- 《剑指Offer》面试题23:从上到下打印二叉树
- 海量数据面试题整理
- 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二九║ Nuxt实战:异步实现数据双端渲染
- 华为oj 字符串个数统计&&数字颠倒&&字符串翻转&&字符逆序&&求int型数据在内存中存储时1的个数
- 分配input port buffers、提取视频文件压缩数据、复制压缩数据到input buffer、H.264硬件解码器开始解码过程分析
- 【剑指offer】面试题29:顺时针打印矩阵