OJ1159: 最大的两个数(指针专题)(C语言)
生活随笔
收集整理的這篇文章主要介紹了
OJ1159: 最大的两个数(指针专题)(C语言)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
加粗樣式求n個(gè)整數(shù)中的最大的兩個(gè)元素。要求定義一個(gè)函數(shù)LargestTow(),求數(shù)組a的最大的兩個(gè)元素,分別存入形參指針pfirst和psecond所指存儲(chǔ)單元,函數(shù)原型如下:
void LargestTow(int a[],int n,int *pfirst,int *psecond)
{
/*數(shù)組a有n個(gè)元素,將數(shù)組中的最大值存入形參指針pfirst所指內(nèi)存單元,將數(shù)組中第二大的值存入形參指針psecond所指內(nèi)存單元。 */
}
輸入
輸入有兩行,輸入第一行是一個(gè)整數(shù)n,1<n<=1000;第二行是n個(gè)整數(shù),由空格隔開。
輸出
輸出兩個(gè)整數(shù),表示數(shù)組中最大的兩個(gè)值。輸出占一行。
樣例輸入 Copy
5
6 3 4 9 8
樣例輸出 Copy
9 8
#include<stdio.h> #include<stdlib.h> void LargestTow(int a[],int n,int *pfirst,int *psecond) {} int main() {int n;scanf("%d",&n);int i,*p;p=(int *)malloc(n*sizeof(int));//動(dòng)態(tài)內(nèi)存分配 for(i=0;i<n;i++){scanf("%d",p+i);}int j,k,temp;for(j=0;j<2;j++){for(k=j;k<n-1;k++){if(p[j]<p[k+1]){temp=p[j];p[j]=p[k+1];p[k+1]=temp;}}}int first=p[0],second=p[1];LargestTow(p,n, p,p+1);printf("%d %d",*p,*(p+1));return 0; }PS: 如果有幫到你,希望留個(gè)贊,謝謝!
總結(jié)
以上是生活随笔為你收集整理的OJ1159: 最大的两个数(指针专题)(C语言)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vue 模块化开发(构建项目常用工具)
- 下一篇: C语言——猴子吃桃问题