number1:
輸入10個(gè)整數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,最大的數(shù)與最后一個(gè)數(shù)對(duì)換。寫(xiě)3個(gè)函數(shù):(1)輸入10個(gè)數(shù);(2)進(jìn)行處理;(3)輸出10個(gè)數(shù)。
#include<iostream>
using namespace std;
int min=0,max=0;
int m,p;
void Input(int arry[],int n)
{
for(int i=0;i<n;i++)
cin>>arry[i];
}
/*void Cmp(int arry[],int n)
{
int *max,*min,*p,*arry_end;
arry_end=arry+10;
max=min=arry;
for(p=arry+1;p<arry_end;p++)
{
if(*p>*max) max=p;
else if(*p<*min) min=p;
}
*p=arry[0];
arry[0]=*min;
*min=*p;
*p=arry[n-1];
arry[n-1]=*max;
*max=*p;
}*/
void Cmp(int arry[],int n)
{
int min=max=arry[0];
int m=p=0;
int t1,t2;
for(int i=1;i<n;i++)
{
if(arry[i]<min)
{
min=arry[i];
m=i;
}
else if(arry[i]>max)
{
max=arry[i];
p=i;
}
t1=arry[0];
arry[0]=arry[m];
arry[m]=t1;
t2=arry[n-1];
arry[n-1]=arry[p];
arry[p]=t2;
for(int j=0;j<10;j++)
cout<<arry[j]<<endl;
}
void Output(int arry[],int n)
{
// int *p=arry;
for(int j=0;j<n;j++)
cout<<arry[j]<<endl;
// for(;p<=arry+n-1;p++)
// cout<<*p<<endl;
}
int main()
{
int a[10];
Input(a,10);
Cmp(a,10);
Output(a,10);
// for(int j=0;j<10;j++)
// cout<<a[j]<<endl;
return 0;
}
第一個(gè)Cmp函數(shù)可以完成過(guò)程(2),而第二個(gè)Cmp函數(shù)會(huì)報(bào)錯(cuò):(沒(méi)明白問(wèn)題出在哪里)
E:\program\test\test1.cpp(59) : error C2601: 'Output' : local function definitions are illegal
E:\program\test\test1.cpp(67) : error C2601: 'main' : local function definitions are illegal
E:\program\test\test1.cpp(79) : fatal error C1004: unexpected end of file found
注:1)當(dāng)用數(shù)組名作參數(shù)時(shí),如果形參數(shù)組中各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值隨之變化;
2)調(diào)用函數(shù)不可能改變實(shí)參指針變量的值,但可以改變實(shí)參指針變量所指變量的值;
number2
輸入3個(gè)字符串,按由小到大的順序輸出。
number3
現(xiàn)在水平對(duì)字符的操作很混亂
number4
實(shí)現(xiàn)從字符串的第m位開(kāi)始全部復(fù)制。
void copy(char str[],int m)
{
cout<<str<<endl;
// int i=0;
char *s,*s1;
char string[N];
s=str;
s1=string;
cout<<*s<<endl;
while(m-1)
{
s++;
m--;
}
while(*s!='\0')
{
*s1=*s;
s++;
s1++;
}
*s1='\0';
cout<<string<<endl;
}
在該函數(shù)中,首次進(jìn)行復(fù)制采取的是指針s的內(nèi)容復(fù)制給數(shù)組string,但最后顯示的結(jié)果為所需結(jié)果之后還有若干字符。(沒(méi)明白問(wèn)題出在哪里,感覺(jué)這個(gè)問(wèn)題與number1中的Cmp類(lèi)似)