mooc程序设计入门——C语言之鞍点

2

鞍点(5分)

题目内容:

给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。

你的任务是找出A的鞍点。

 

输入格式:

输入的第1行是一个正整数n, (1<=n<=100),然后有n行,每一行有n个整数,同一行上两个整数之间有一个或多个空格。

 

输出格式:

对输入的矩阵,如果找到鞍点,就输出其下标。下标为两个数字,第一个数字是行号,第二个数字是列号,均从0开始计数。

如果找不到,就输出

NO

题目所给的数据保证了不会出现多个鞍点。

 

输入样例:

1 7 4 1 

4 8 3 6 

1 6 1 2 

0 7 8 9

 

输出样例:

2 1

时间限制:500ms内存限制:32000kb

 

程序实现:本题条件比较简单,不用考虑存在多个鞍点的情况。首先建立一个n*n的二维数组。我们设置一个特征值为1,用循环去找每一行最大的值并判断是否为该列最小的值,如果找到,则输出该值,特征值置0;如果循环结束没找到,即特征值为1,则输出NO。

程序如下:

#include <stdio.h>

int main()
{	
	int n;
	scanf("%d",&n);
	if(n>=1 && n<=100)
	{
		int a[n][n];
		for(int i=0; i<n;i++)
		{
			for(int j=0; j<n; j++)
			{
				scanf("%d", &a[i][j]);	
			}
			
		}

		int s = 1,max,min;
		for (int i = 0; i < n; i++){
			max = 0;
			for (int j = 0; j<n; j++){
				if (a[i][max]<a[i][j]){
					max = j;
				}
			}
			
			min = 0;
			for (int m = 0; m<n; m++){
				if(a[min][max]> a[m][max]){
					min = m;
				}
			}
			
			if (i == min){
				s=0;
				printf("%d %d", i, max);
				break;
			}
		}  
		if (s == 1){
			printf("NO"); 
		} 
	}
	return 0;
} 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
南京邮电大学mooc高级程序语言设计(c语言)是一门涵盖C语言高级编程技术的课程,旨在帮助学生深入了解C语言的高级特性和编程技巧,提高其编程能力和实践能力。该课程内容涵盖C语言的指针、结构体、文件操作、动态内存分配等高级特性,同时还包括C语言程序设计的实践案例和项目实战,帮助学生掌握C语言的实际应用能力。通过学习该课程,学生可以更好地理解C语言的高级编程技术,提高自己的编程水平和实践能力,为今后的编程工作打下坚实的基础。 ### 回答2: 南京邮电大学MOOC高级程序语言设计(C语言)是一门针对程序员进阶的课程。该课程涵盖了广泛的主题,包括指针,数组,函数,结构体,位运算,文件操作,数据结构和算法等。通过学习这门课程,学生将能够深入了解C语言的各个方面,并且掌握在实际项目中设计高效和可维护代码的技能。 该课程教学构成清晰,系统性强。课程内容一共划为十周,每周都有不同的主题和课程内容。每周的课程内包含了学习视频,动画辅助,需要编程的作业题目以及参考答案。通过这些作业,学生能够得回反馈和指导,从而更快地理解和运用所学内容。 评估方式合理。这门课程的成绩评估以学生提交的作业为主。具体来说,每周都有一个作业,每个作业的满分均为100分。课程作业的类型有选择题,填空题,代码编写题和综合性的考察,能够全方位地考察学生对所学知识的掌握程度。 课程内容充实,涉及的主题深入。这门课程不只涵盖了C语言的基础知识,还对指针、数组、结构体、位运算、文件操作、数据结构和算法等内容进行了深入讲授。通过学习课程,学生可以更好地掌握和应用这些知识,为以后的编程工作打好基础。 总之,南京邮电大学MOOC高级程序语言设计(C语言)是一门高质量的在线编程课程,这门课程内容广泛,涵盖了很多重要的C语言编程技术,将帮助学生全面掌握C语言的基本概念,让他们能够在编写高效、可维护代码方面更加熟练。如果你是一个正在寻找进阶在线编程课程的程序员,我强烈推荐你学习这门课程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值