C语言练习2.1 之 数组2
排序2
标题:
排序2
类别:
数组
时间限制
2S
内存限制
1000Kb
问题描述:
给定N个不同的整数,要求对这N个整数按如下规则排序并输出。
规则一:所有的偶数排在奇数前面。
规则二:在规则一的前提下按照从大到小的顺序排序。
输入说明
数据由两行构成,第一行为整数n(n<=100),表示待排序整数的数量。第二行是n个整数,每个整数的取值区间都为[-32768~32767],整数之间以空格间隔。
输出说明
在一行输出排好序的整数,整数之间以空格间隔。
输入样例
5
1 2 3 4 5
输出样例
4 2 5 3 1
#include<stdio.h>
void sort(int A[100],int x);
int main()
{
int n,j=0,m=0,a[100],b[100],c[100];
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=0;i<n;i++)
if(a[i]%2==0)
b[m++]=a[i];
else
c[j++]=a[i];
sort(b,m);
sort(c,j);
return 0;
}
void sort(int A[100],int x)
{
int i,j,t;
for(i=0;i<x-1;i++)
for(j=i;j<x;j++)
if(A[i]<A[j])
{
t=A[i];
A[i]=A[j];
A[j]=t;
}
for(i=0;i<x;i++)
printf("%d ",A[i]);
}
马鞍点
标题
马鞍点
类别
数组
时间限制
2S
内存限制
1000Kb
问题描述
若一个矩阵中的某元素在其所在行最小而在其所在列最大,则该元素为矩阵的一个马鞍点。
请写一个程序,找出给定矩阵的马鞍点。
输入说明
输入数据第一行只有两个整数m和n(0<m<100,0<n<100),分别表示矩阵的行数和列数;
接下来的m行、每行n个整数表示矩阵元素(矩阵中的元素互不相同),整数之间以空格间隔。
输出说明
在一行上输出马鞍点的行号、列号(行号和列号从0开始计数)及元素的值(用一个空格分隔),之后换行;
若不存在马鞍点,则输出一个字符串“no”后换行。
输入样例
4 3
11 13 121
407 72 88
23 58 1
134 30 62
输出样例
1 1 72
#include<stdio.h>
int main()
{
int m,n,b=0,c=0,e=0,j,i;
int a[100][100];
scanf("%d%d",&m,&n);//m=4,n=3
for(i=0;i<m;i++)
for(j=0;j<n;j++