面试题(来自程序员面试宝典)
来源:互联网 发布:mindjet mac 破解 编辑:程序博客网 时间:2024/05/17 23:30
(中国台湾著名感伤公司2007年11月面试题)
#include <stdio.h>
#include <iostream>
int main()
{
int N;
int s,i,j;
int squa;
scanf("%d",&N);int **a = (int **)malloc(N*sizeof(int *)); //特别要注意这里的*号
if(a == NULL)
return 0;
for (i=0; i<N; i++)
{
if ((a[i] = (int *)malloc(N*sizeof(int))) == NULL)
{
while (--i>0)
{
free(a[i]);
}
free(a);
return 0;
}
}squa = N*N;
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
s = i + j;
if (s<N)//三角形,求面积,加上偏移
{
a[i][j] = s*(s+1)/2 + (((i+j)%2 == 0) ? i : j);
}
else//转换成上面的方式
{
s = (N-1-i) + (N-1-j);
a[i][j] = squa - s*(s+1)/2 -(N-(((i+j)%2)? i : j));
}
}
}for (i=0;i<N; i++)
{
for (j=0; j<N; j++)
{
printf("%6d",a[i][j]);
}
printf("\n");
}
}
这里有一外小问题,就是上面的星号,如果是int型的,结果没有问题。但如果是其它类型结果就去出错。
双重指针要分配内存首先是给*p分配。运行结果如下:
- 面试题(来自程序员面试宝典)
- 面试题(来自程序员面试宝典)
- 程序员面试宝典部分面试题
- 【程序员面试宝典】数组相关面试题
- 【程序员面试宝典】字符串相关面试题
- 关于《程序员面试宝典》中的一道面试题的答案
- 122道Java面试题 Java程序员面试宝典
- 关于《程序员面试宝典》中一道面试题的答案
- // 程序员面试宝典第三版29页 面试题1
- 由《程序员面试宝典》引申的JS面试题
- 【程序员面试宝典】链表相关面试题
- 【程序员面试宝典】栈和队列相关面试题
- C/C++经典面试题总结摘选 C/C++程序员面试宝典(一)
- C/C++经典面试题总结摘选 C/C++程序员面试宝典(二)
- C/C++经典面试题总结摘选 C/C++程序员面试宝典(三)
- 程序员面试宝典试题总结
- 面试宝典:C语言面试题总汇(一)
- 面试宝典:(C语言面试题)总汇
- jqGrid入门 中文文档 参数方法讲解(自我备用)
- 大数据量,海量数据 处理方法总结
- 一个linux聊天的例子
- 稳定伴侣问题
- 关于关键字static和extern和const
- 面试题(来自程序员面试宝典)
- Ajax四种元素的关系
- 演化理解 Android 异步加载图片
- 图片版坦克大战其他相关的 类(三)
- 一个闭包的例子
- usaco 1.4.4 Arithmetic Progressions
- myeclipse new 后面的菜单选项设置
- c++文件流基本用法(fstream, ifstream, ostream)
- C#控制台 统计用户输入的一串数字中每个数字出现的次数