c语言答辩问题问题求教

求教C语言的次大数问题【c吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:95,563贴子:
求教C语言的次大数问题收藏
题目如下:输入总共两行。第一行是一个整数n。(n&=2)第二行总共有n个整数。 列入输入51 2 3 4 5则输出4求大神解答给个思路也行
会求最大数吗?次大数又是什么一个数呢?自己想。
有点够呛,格式化输入啊,然后就是排序呗
冒泡两趟就行了吧
次大数还要排序?找最大数用一个变量,次大数用两个就行了。
冒泡还要交换那么多次,选择排序两次不就行了。。
不用排序,跟找最大数的思路差不多呀
排毛的序,直接用两个指针保存最大和次大,遍历一遍数组,遇到比最大还大的数就代替最大,之前的最大变成次大。遍历完之后次大的自然不就有了?还附送最大值。
c/o梅德斯通酒店各国旅客点评与快速预订,TripAdvisor全网实时低价!全球旅客优选,TripAdvisor2亿真实点评,c,帮您制定完美旅程.
找出第二行最大的数和次大的树,分别与第一行的那个数比较
#define _CRT_SECURE_NO_WARNINGS
//vs2013说scanf不够安全#include&stdio.h&#include&stdlib.h&int main(){int n,max,scanf(&%d&,&n);max=sec=n;while(scanf(&%d&,&n)==1){if(n&max){sec=max=n;}else if(n&sec){sec=n;}}printf(&%d&,sec);system(&pause&);}
登录百度帐号简单C语言问题,求教?_百度知道
简单C语言问题,求教?
有时候看到形如voidproc(constinta);的函数声明那个const在这里起什么作用,求指教?...
有时候看到 形如 void proc(const int a);的函数声明那个const 在这里起什么作用,求指教?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
xoaxa知道合伙人
采纳数:3336
获赞数:5085
这个const是告诉函数调用者,本函数不会修改实参的值(实际上也修改不了)。但当形参是数组,或指针时,const 的作用就体现出来了,如形如 void proc(const int a[], int n);,如果试图修改数组元素的值,编译器就会给出错误信息,假如函数体内有语句 a[i] = 6;,这试图越过 const 的限制,编译器会给出信息的。
jiyuan1215a知道合伙人
jiyuan1215a
采纳数:855
获赞数:1558
const就是常量的意思意思就是参数int a是一个常量,proc函数里面不会更改a的值。如果proc函数里面有再次给a赋值的语句(比如a=1),编译不通过。
本回答被网友采纳
知道合伙人
采纳数:54
获赞数:1278
传入const变量,函数栈中不用创建拷贝。a 在函数内部也无法被更改。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言问题,段错误,求高手指教,感激不尽。
[问题点数:20分,结帖人weiguozhe]
本版专家分:6
结帖率 82.14%
CSDN今日推荐
本版专家分:503
本版专家分:721
本版专家分:175
本版专家分:175
本版专家分:175
本版专家分:5748
本版专家分:175
匿名用户不能发表回复!|
其他相关推荐C语言问题求教~? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。8被浏览383分享邀请回答赞同 添加评论分享收藏感谢收起15:34 提问
c语言问题求解,请大神们指教
本题要求实现一个对数组进行循环右移的简单函数:一个数组aa中存有nn(&0&0)个整数,将每个整数循环向右移mm(\ge 0≥0)个位置,即将aa中的数据由(a_0 a_1 \cdots a_{n-1}a
)变换为(a_{n-m} \cdots a_{n-1} a_0 a_1 \cdots a_{n-m-1}a
)(最后mm个数循环移至最前面的mm个位置)。
函数接口定义:
int ArrayShift( int a[], int n, int m );
其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组仍然存在a[]中。#include
#define MAXN 10
int ArrayShift( int a[], int n, int m );
int main()
int a[MAXN], n,
scanf("%d %d", &n, &m);
for ( i = 0; i & i++ ) scanf("%d", &a[i]);
ArrayShift(a, n, m);
for ( i = 0; i & i++ ) {
if (i != 0) printf(" ");
printf("%d", a[i]);
printf("\n");
/* 你的代码将被嵌在这里 */
按赞数排序
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 学习c语言需要什么软件 的文章

 

随机推荐