输入一输入两个正整数a和nn,

输入一个n,在屏幕上输出N*N的矩阵,华为的面试题
可能比较复杂吧,不过暂时还不知道如何能够方便的求出,不能称作算法,完全是根据矩阵的排列而制定的
// matrix.cpp : 定义控制台应用程序的入口点。
// 输入一个n,在屏幕上打印出n*n的矩阵,如:
// 输入一个4
// 1 &2 &3
// 12 13 14 5
// 11 16 15 6
// 10 9 &8 &7
#include "stdafx.h"
#define N 10
void printit(int a[][N], int num);
void printmatrix(int a[][N], int num);
int end(int a[][N], int num);
void printmatrix(int a[][N], int num)
for(int y = 0; y & y ++)
for(int x = 0; x & x ++)
cout && a[y][x]
&& " & " ;
getchar();
int end(int a[][N], int num, int i, int j)
if(num%2 == 0 && (i ==
(num+1)/2 && j==(num-1)/2))
&// &偶数程序终止的位置
else &if(num%2 != 0
&& i == (num-1)/2
&& j == (num-1)/2)
& //奇数程序终止的位置
int _tmain(int argc, _TCHAR* argv[])
int num = 0;
int a[N][N] = {0};
cout && "Input the number which
you want:" &&
printit(&a[0], num);
printmatrix(a, num);
getchar();
void printit(int a[][N], int num)
static int i = 0, j = 0;
int data = 0;
int n = num, m = 0;
while( data &= num*num)
for(j; j & j++)
data = data+1;
if(a[i][j] != 0)
cout && "("
&& a[i][j]
j = j - 1;
if(end(a, num, i, j))
i = i + 1;
for(i; i & i ++)
data = data+1;
if(a[i][j] != 0)
cout && "("
&& a[i][j]
i = i - 1;
if(end(a, num, i, j))
j = j - 1;
for(j; j &=m; j-- )
data = data+1;
if(a[i][j] != 0)
cout && "("
&& a[i][j]
j = j + 1;
if(end(a, num, i, j))
i = i - 1;
for(i; i &= i --)
data = data+1;
if(a[i][j] != 0)
cout && "("
&& a[i][j]
i = i + 1;
if(end(a, num, i, j))
j = j + 1;
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。【图文】数组作业参考答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
数组作业参考答案
上传于||暂无简介
大小:608.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢算法二十:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数
题目:输入一个整数n求从1到n这n个整数的十进制表示中1出现的次数。
例如输入12,从1到12这些整数中包含1
的数字有1,10,11和12,1一共出现了5次。
分析:这是一道广为流传的google面试题。
分析:思路一,比较容易想到,使用位运算,对计数k+=n&1,每次都是n/=10,即可。
比如输入n=110,第一次n&1=0,k=0,n/10=11,第二次n&1=1,k=1,n/10=1,第三次n&1=1,k=2,n=0。
&iostream&
int NumOfSum(int n){
int count=0;
while(n!=0){
count+=n&1;
cout&&count&&
void main(){
int n = 110;
NumOfSum(n);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。a 输入1个正整数n(1&n =10),再 n 数,将最小值与第1个数交换,最大 Other systems 其他 238万源代码下载-
&文件名称: a
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 3 KB
&&上传时间:
&&下载次数: 1
&&提 供 者:
&详细说明:输入1个正整数n(1&n&=10),再输入n个整数,将最小值与第1个数交换,最大值与最后1个数交换,然后输出交换后的n个数。-Enter a positive integer n (1 &n&=10),再输入n个整数,将最小值与第1个数交换,最大值与最后1个数交换,然后输出交换后的n个数。
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&输入关键字,在本站238万海量源码库中尽情搜索:}

我要回帖

更多关于 输入两个正整数a和n 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信