简单c语言算法练习题 矩阵鞍点 统计int类型的值中有多少位为1
2016-11-25 21:07
441 查看
1,求一个3x4的矩阵,要求输出鞍点(行列均为最大的值)?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,temp=0;
int a[3][4] = {
{123,94,-10,218},
{333,9,10,-83},
{45,16,44,-99}
};
for( i=0 ; i<3 ; i++)
{
for( j=0 ;j<3 ;j++)
{
if(a[i][j] > a[i][j+1])
{
temp = a[i][j];
a[i][j] = a[i][j+1];
a[i][j+1] = temp;
}
}
for(j = i;j < 2;j++)
{
if(a[j][3] > a[j+1][0])
{
temp = a[j][3];
a[j][3] = a[j+1][0];
a[j+1][0] = temp;
}
}
}
printf("anshu = %d\n",a[2][3]);
return 0;
}
2,求一个3x4的矩阵,要求输出(全矩阵最大的值)输出其行列号(行列不改变)?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,temp=0,m=0,n=0;
int a[3][4] = {
{123,94,-10,218},
{333,9,10,-83},
{45,16,44,-99}
};
for( i=0 ; i<3 ; i++)
{
for( j=0 ;j<4 ;j++)
{
if(temp < a[i][j])
{
temp = a[i][j];
m = i;
n = j;
}
}
}
printf("anshu = %d hang = %d lie = %d/n",a[m]
,m,n);
return 0;
}
3,写出一个函数,统计int类型的值中有多少位为1(二进制1)?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a=0,len=0;
printf("please input one number:\t");
scanf("%d",&a);
while(a != 0)
{
if((a%10) == 1)
{
len++;
a = a/10;
}
// else if (a == 0)
// {
// break;
// }
else
{
a = a/10;
}
}
printf("1 de shu liang = %d\n",len);
return 0;
}
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,temp=0;
int a[3][4] = {
{123,94,-10,218},
{333,9,10,-83},
{45,16,44,-99}
};
for( i=0 ; i<3 ; i++)
{
for( j=0 ;j<3 ;j++)
{
if(a[i][j] > a[i][j+1])
{
temp = a[i][j];
a[i][j] = a[i][j+1];
a[i][j+1] = temp;
}
}
for(j = i;j < 2;j++)
{
if(a[j][3] > a[j+1][0])
{
temp = a[j][3];
a[j][3] = a[j+1][0];
a[j+1][0] = temp;
}
}
}
printf("anshu = %d\n",a[2][3]);
return 0;
}
2,求一个3x4的矩阵,要求输出(全矩阵最大的值)输出其行列号(行列不改变)?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i,j,temp=0,m=0,n=0;
int a[3][4] = {
{123,94,-10,218},
{333,9,10,-83},
{45,16,44,-99}
};
for( i=0 ; i<3 ; i++)
{
for( j=0 ;j<4 ;j++)
{
if(temp < a[i][j])
{
temp = a[i][j];
m = i;
n = j;
}
}
}
printf("anshu = %d hang = %d lie = %d/n",a[m]
,m,n);
return 0;
}
3,写出一个函数,统计int类型的值中有多少位为1(二进制1)?
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a=0,len=0;
printf("please input one number:\t");
scanf("%d",&a);
while(a != 0)
{
if((a%10) == 1)
{
len++;
a = a/10;
}
// else if (a == 0)
// {
// break;
// }
else
{
a = a/10;
}
}
printf("1 de shu liang = %d\n",len);
return 0;
}
相关文章推荐
- C语言int类型指针指向char类型变量简单实例
- 初入C语言!整数算法练习1:通过编程实现,统计1~n有多少个9 ? 提示:n通过参数传入!
- c语言int to string一个比较经典得算法
- 简单统计:用C语言计算和
- 批处理-统计一下当前目录中到底有多少种类型的文件
- C语言中int 类型的字节长度
- 每天学习一算法系列(31)(实现一个队列,队列的应用场景为:一个生产者线程将int 类型的数入列,一个消费者线程将int 类型的数出列)
- (C语言)二分算法实现简单猜数
- c语言中char类型转int类型
- C语言几种简单的算法实现2
- C语言几种简单的算法实现
- 用最优的算法求出一个int类型数组中的第二大值
- c语言简单判断cpu类型
- 【题目29】一些简单的算法练习题(3)
- 【题目28】一些简单题的算法练习题(2)
- 批处理-统计一下当前目录中到底有多少种类型的文件
- 利用MPICH2计算矩阵相乘的简单算法
- 【题目19】一些简单的算法练习题(1)
- x86的cpu处理int类型并不是处理char高效多少
- C语言基本数据类型:整型(int)用法详解