输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换,要求用三个函数来写

作者&投稿:亓彦 (若有异议请与网页底部的电邮联系)
C语言:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个对换,要求用三个函数来写~

#include<iostream>
using namespace std;
void enter(int*m)
{
for(int i=0;i<10;i++)
cin>>m;
}
void key(int*m)
{
int max=m[0],min=m[0],n=0,k=0,z;
for(int i=1;i<10;i++)
{
if(max)
{
max=m;
n=i;
}
}
for(int i=1;i<10;i++)
{
if(min>m)
{
min=m;
k=i;
}
}
if(n==0&&k==9)
{
z=m[0];m[0]=m[9];m[9]=z;
}
else if(n==0&&k!=9)
{
z=m[9];m[9]=m[n];m[n]=z;
z=m[0];m[0]=m[k];m[k]=z;
}
else
{
z=m[0];m[0]=m[k];m[k]=z;
z=m[9];m[9]=m[n];m[n]=z;
}
}
void print(int*m)
{
for(int i=0;i<10;i++)
cout<<'';
}
int main()
{
int ans[10];
enter(ans);
key(ans);
print(ans);
return 0;
}

扩展资料:include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"

#include "stdio.h"
#define N 10
void input(int *number){
int i;
printf("Please enter %d integer(s)...
",N);
for(i=0;i<N;scanf("%d",number+i++));
}
void max_min_value(int *number){
int t,max_i,min_i;
for(max_i=min_i=t=0;t<N;t++){
if(*(number+max_i)<*(number+t))
max_i=t;
if(*(number+min_i)>*(number+t))
min_i=t;
}
t=*(number+max_i);//最大值与最后一个交换
*(number+max_i)=*(number+N-1);
*(number+N-1)=t;
t=*(number+min_i);//最小值与第一个交换
*(number+min_i)=*number;
*number=t;
}
int main(int argc,char *argv[]){
int a[10],i;
input(a);
max_min_value(a);
printf("After exchanging is as follows:
");
for(i=0;i<N;printf("%d ",a[i++]));
printf("
");
return 0;
}
代码格式和运行样例图片:

#include <stdio.h>

main()

{

void input(int *a);

void sort(int *a);

void output(int *a);

int array[10];

printf("input 10 int
");

input(array);

sort(array);

output(array);

return 0;

}

void input(int *a)

{

int i;

for(i=0;i<10;i++) scanf("%d",&a[i]);

}

void sort(int *a)

{int i,max,min,t1=0,t2=0,v;

max=a[0];

min=a[0];

for(i=1;i<10;i++)

{

if (a[i] < min) { min = a[i]; t1= i;};

if (a[i] > max) { max = a[i]; t2= i;};

}

if ( (t1==0) && (t2 == 9)) {}

else if ( (t1==9) && (t2 ==0)) { a[0]=min; a[9]=max;

} else if (t2==0) { a[0]=min; a[t1]=a[9]; a[9]=max;

} else if (t1==9) { a[9]=max; a[t2]=a[0]; a[0]=min;

} else

{

a[t1]=a[0]; a[t2]=a[9]; a[0]=min;a[9]=max;

};

}

void output(int *a)

{

int i;

for(i=0;i<10;i++) printf("%d ", a[i]);

printf("
");

}

扩展资料:

程序的#include <stdio.h>是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。

int main()是主函数,程序从这里开始执行。

printf(...)是 C 中另一个可用的函数,会在屏幕上显示消息 "Hello, World!"。

return 0;终止 main() 函数,并返回值 0。

特有特点

C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

不同的变量类型可以用结构体(struct)组合在一起。

只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

部份的变量类型可以转换,例如整型和字符型变量。

通过指针(pointer),C语言可以容易的对存储器进行低级控制。

预编译处理(preprocessor)让C语言的编译更具有弹性。

参考资料来源:百度百科-c语言



主要困难在排队,如果最大和最小数不出现在第一和最后,好办,当其中有一个或两个出现在第一或最后麻烦。
#include <stdio.h>
main()
{
void input(int *a);
void sort(int *a);
void output(int *a);
int array[10];
printf("input 10 int\n");
input(array);
sort(array);
output(array);
return 0;
}

void input(int *a)
{
int i;
for(i=0;i<10;i++) scanf("%d",&a[i]);
}

void sort(int *a)
{
int i,max,min,t1=0,t2=0,v;
max=a[0];
min=a[0];

for(i=1;i<10;i++)
{
if (a[i] < min) { min = a[i]; t1= i;};
if (a[i] > max) { max = a[i]; t2= i;};
}

if ( (t1==0) && (t2 == 9)) {}
else if ( (t1==9) && (t2 ==0)) { a[0]=min; a[9]=max;
} else if (t2==0) { a[0]=min; a[t1]=a[9]; a[9]=max;
} else if (t1==9) { a[9]=max; a[t2]=a[0]; a[0]=min;
} else
{
a[t1]=a[0]; a[t2]=a[9]; a[0]=min;a[9]=max;
};
}

void output(int *a)
{
int i;
for(i=0;i<10;i++) printf("%d ", a[i]);
printf("\n");
}

for(i=0;i<10;i++)
{ min]=0;
if (a[i]<a[min]) {min=i;}
t=a[0];
a[0]=a[min];
a[min]=t;
}
交换函数里面的入参用指针


C语言编程:输入十个整数,将其中最小的数和第一个数对换位置,最大的数...
include<stdio.h> void input(int a[10]){ int i;for(i=0;i<10;i++){ scanf("%d",&a);} } void exchange(int a[10]){ int i,min,max,temp,big,small;min=max=a[0];for(i=0;i<10;i++){ if(max<a){ max=a;big=i;} if(min>a){ min=a;small=i;} } temp=a[...

c语言:输入10个整数,将其中最大数与第一个数交换,最小数与最后一个数...
includevoidinput(intb[10]){inti;for(i=0;i*max){max=c+i;t1=i;}}j=c[9];c[9]=*max;c[t1]=j;for(i=1;i<10;i++){if(c[i]<*min){min=c+i;t2=i;}}k=c[0];c[0]=*min;c[t2]=k;for(i=0;i<10;i++)printf("%3d",c[i]);}intmain(){inta[10];input(a...

C语言:输入10个整数,并将第一个数字和最后一个交换位置,第二个和倒数...
include<stdio.h>#define N 10int main(){int a[N];int i,j,tmp;printf("输入10个整数:\\n");for(i=0;i<N;i++)scanf("%d",a+i);for(i=0,j=N-1;i<j;i++,j--){tmp=a[i];a[i]=a[j];a[j]=tmp;}printf("输出数组元素:\\n");for(i=0;i<N;i++)printf("%d "...

输入一个程序,输入10个整数存入数组中,将其中的奇数置为0,偶数置为1...
nums.append(num)for i in range(len(nums)):if nums[i] % 2 == 0: # 如果是偶数 nums[i] = 1 else: # 如果是奇数 nums[i] = 0 print(nums) # 输出整个数组 这个程序首先创建了一个空列表 nums,然后通过一个循环让用户输入 10 个整数,并将它们添加到 nums 列表中。接着,...

编写一个 C 语言程序,由用户输入 10 个整数,将这 10 个整数放入一个数组...
include <stdio.h>void main(){int i,t,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<5;i++){t=a[i];a[i]=a[9-i];a[9-i]=t;}for(i=0;i<10;i++)printf("%d ",a[i]);}运行示例:

C语言题目:编写程序,输入10个整数,将其中最小的数与第一个数交换,最...
include "stdio.h"void max_min(int *a,int index,int end); \/\/声明函数 void main(){ int a[10],i; \/\/定义数组a用来存储10个整数 for(i=0;i<10;i++) \/\/输入10个整数 scanf("%d",&a[i]);for(i=0;i<10;i++) \/\/输出交换前的数组a的元素 printf("%d ",a[i...

C语言程序:输入10个整数,将其中最小的数与第一个数兑换,把最大的数...
无需返回。4.形参的问题。形参是有生命周期的,只在一个函数内有效,你的main函数根本就没有定义相关变量,一个函数结束之后,其内所有变量就没了,无法传给下一函数。这4个错误会导致一系列错误产生,其他错误要在改正这四个错误之后再改,一定要研究例题,搞懂原理。

C语言,输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后...
所以我建议楼主在上面这段代码下写个:printf("now,*p=%d\\n",*p);看*p是否能够正确打印出来。再定义一个整型变量temp作为中间变量应该可以解决问题。我现在编译了一下(才回家),发现楼主的程序是没有问题的,可以得到预想的结果,楼主输入10个数之后遇到了什么问题呢?附运行结果如下:...

任意输入10个数,先将其由大到小的顺序排列,在输入一个数,要求用折半...
C的话可以这么写——代码文本:include "stdio.h"int main(int argc,char *argv[]){ int a[10],i,j,k,r,l,m;printf("Enter 10 integers...\\n");for(i=0;i<10;scanf("%d",a+i++));\/\/输入10个整数 for(i=0;i<10;i++){\/\/由大到小排序并输出 for(k=i,j=k+1;j<10;...

从键盘输入10个整数并将其存放到数组中,求平均值。C语言做
include <stdio.h> void main(){int a[10];int sum = 0;for (int i = 0; i < 10; i++){scanf("%d", &a[i]);sum += a[i];}double average = sum \/ 10.0;printf("%lf\\n",average);}

广陵区15692537776: 使用C语言编写程序,输入10个整数,将其中最小的数与第一个数交换,最大的数与最后一个数交换. -
秘蔡豨莶: #include<stdio.h> void input(int a[10]) { int i; for(i=0;i<10;i++) { scanf("%d",&a<i>); } } void exchange(int a[10]) { int i,min,max,temp,big,small; min=max=a[0]; for(i=0;i<10;i++) { if(max<a<i>) { max=a<i>; big=i; } if(min>a<i>) { min=a<i>; small=i; } } ...

广陵区15692537776: C语言输入10个整数,将其中最小的数和第一个数对换,把最大的数与最后一个数对换.(用指针) -
秘蔡豨莶: 用指针将数对换的自定义函数为:void swap(int * p, int * q) //p, q是需要对换的两个数的指针 { int t; t=*p; *p=*q; *q=t; }

广陵区15692537776: 输入10个整数,将其中最小的数与第一个数对换,把最大德的数与最后一个数兑换写3个函数:①输入10个函数、②进行处理、③输出10个数.谢谢各位大哥... -
秘蔡豨莶:[答案] #include void array_input(int * array,int n) { int * a = 0; if(!array || n printf("please input %d numbers:",n); for(a = array; a } ... { int * a = 0; if(!array || n for(a = array; a } int main(void) { int array[10]; array_input(array,10); array_deal (array,10); array_output(...

广陵区15692537776: 从键盘输入10个整数,找出其中的最小值并将其和第一个整数对换 -
秘蔡豨莶:[答案] = InputBox("输入第" & i + 1 & "个数") Next t = a(0) p =End If Next Print "最大数"; t Print "最小数"; p End Sub

广陵区15692537776: C 语言 输入十个整数,将其中的最小数与第一个数对换,将最大数于最后一个对换 要求用指针来写 -
秘蔡豨莶:[答案] int main() { int a[9],i,j,*temp1,*temp2;//temp1指向表示最小数,temp2指向表示最大数 for(i=0;i

广陵区15692537776: 输入10个数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换. -
秘蔡豨莶:[答案] #include void main(){ void max_min_value(int *); int number[10],i; printf("Input:"); for(i=0;i

广陵区15692537776: c语言编程:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换. -
秘蔡豨莶: 请输入十个元素: 5 4 3 2 1 0 9 8 7 6 0 4 3 2 1 5 6 8 7 9 Press any key to continue#include"stdio.h" void input(int number[10]); //此函数向首地址为number的数组输入10个元素 void max_min_value(int array[10]); //此函数交换array数组的对应...

广陵区15692537776: 用指针的方法处理:输入十个整数,将其中最小的数与第一个数交换,将最大数和最后一个数交换! -
秘蔡豨莶: #include <stdio.h> int main(void) { int array[10], *x = 0, *y = 0, *z = 0, i = 0, j = 0, max = 0, min = 65536; printf("请输入十个正整数:\n"); x = (int*)array; for(i = 0; i< 10; i++) { scanf("%d", &j); j = j>0?j:-j; /*保证输入为正整数*/ if (max < j) { /*记录...

广陵区15692537776: C语言要求原创1.输入10个整数,将其中最小的数与第一个交换,最大的数与最后一个数交换.(使用指 -
秘蔡豨莶: #include <stdio.h> int main() { int i,t,n=10,maxi=0,mini=0,a[10]; for(i=0; i<n; i++) { scanf("%d",&a[i]); if(a[i]>a[maxi])maxi=i; else if(a[i]<a[mini])mini=i; } t=a[0]; a[0]=a[mini]; a[mini]=t; //交换最小到首位 if(maxi==0)maxi=mini; //若原最大在首位,新...

广陵区15692537776: 输入10个整数,将其中最小的数与第一个数对换,把最大德的数与最后一个数兑换 -
秘蔡豨莶: 语法我不看,只说思路.首先,num[0]num[9]是不是写反了?再次,你是最大最小数同时同时换,如果刚好给定的数组第一个最大最后一个最小,按你的代码换两次之后刚好与题目要求不符.要改也容易,加个判断就行.这也是C编程的基本原则,在更换num[0]num[9]之类的值的时候一定要想想有没有指针指向它.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网