输入一个正整数n,再输入n个整数,最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数

作者&投稿:狄娣 (若有异议请与网页底部的电邮联系)
输入一个正整数n(1< n ≤10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换~

可以参考下面的代码:
#include
void main()
{
int i,j=0,k=0,t,n,min,max,a[10];
printf("输入整百数度的个数: ");
scanf("%d",&n);
printf("输入%d个整数: ",n);
scanf("%d",&a[0]);
max=a[0];min=a[0];
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
if(max<a[i]) {max=a[i];j=i;}
if(min>a[i]) {min=a[i];k=i;}
}
t=a[k];a[k]=a[0];a[0]=t;
t=a[j];a[j]=a[n-1];a[n-1]=t;
printf("交换顺序后内输出: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
}

扩展资料:
1、printf()函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出
信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
printf()函数的调用格式为:
printf("", );
2、for循环
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。
参考资料来源:百度百科-for循环
参考资料来源:百度百科-printf()

那个你交换了最小值之后,最大值的位置发生了变化。所以要先找最小值,交换最小值之后再去查找最大值,再交换最大值。

这是我写的代码,C#写的,基本完成你的要求,如果你不是要C#开发的,我想你也应该看得懂,只是点语法不同,希望能帮到你~~~

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;

public static void PrintLd()
{
Console.WriteLine("请先输入一个数!");
string fistNum = Console.ReadLine();
string pattern = "^[1-9]\\d*$";
string[] allNums;
int fistN = 0;
int[] allN;
while (true)
{
if (Regex.Match(fistNum, pattern, RegexOptions.Compiled).Success)
{
break;
}
else
{
Console.WriteLine("请输入正整数");
fistNum = Console.ReadLine();
}
}
fistN = int.Parse(fistNum);
allN = new int[fistN];
for (int i = 0; i < fistN; i++)
{
string num;
Console.WriteLine("请输入第"+(i+1)+"个数");
num = Console.ReadLine();
while (true)
{
if (Regex.Match(num, pattern, RegexOptions.Compiled).Success)
{
break;
}
else
{
Console.WriteLine("请输入正整数");
num = Console.ReadLine();
}
}
allN[i] = int.Parse(num);
}
int size = allN[0];
for (int i = 1; i < allN.Length; i++)
{
if (size < allN[i])
{
size = allN[i];
}
}
for (int i = 0; i < allN.Length; i++)
{
if (allN[i] == size)
{
allN[i] = allN[allN.Length - 1];
allN[allN.Length - 1] = size;
}
}
size = allN[0];
for (int i = 1; i < allN.Length; i++)
{
if (size > allN[i])
{
size = allN[i];
}
}
for (int i = 0; i < allN.Length; i++)
{
if (allN[i] == size)
{
allN[i] = allN[0];
allN[0] = size;
}
}
for (int i = 0; i < allN.Length; i++)
{
Console.WriteLine("第"+(i+1)+"个数是:"+allN[i]);
}
}

Dim a() As Single
Dim N As Integer
N = InputBox("输入N的值:")
ReDim a(N)
Dim Zd, ZdH, Zx, ZxH
For i = 1 To N
a(i) = InputBox("输入第" & i & "个数")
Next
Print "原始数据:"

For i = 1 To N
Print a(i);
If i Mod 10 = 0 Then Print
Next
Zd = a(1): ZdH = 1: Zx = a(1): ZxH = 1
For i = 2 To N
If a(i) > Zd Then
ZdH = i: Zd = a(i)
End If
If a(i) < Zx Then
ZxH = i: Zx = a(i)
End If
Next
' Stop
a(ZxH) = a(1): a(1) = Zx
a(ZdH) = a(N): a(N) = Zd
Print
Print "交换后数据:"
For i = 1 To N
Print a(i);
If i Mod 10 = 0 Then Print
Next


输入一个正整数n,再输入n个整数,最小值与第一个数交换,最大值与最后...
Console.WriteLine("请输入正整数");fistNum = Console.ReadLine();} } fistN = int.Parse(fistNum);allN = new int[fistN];for (int i = 0; i < fistN; i++){ string num;Console.WriteLine("请输入第"+(i+1)+"个数");num = Console.ReadLine();while (true){ if (Regex....

输入一个正整数 n (1<n<=10),再输入 n 个整数,将它们从大到小排序后输 ...
include <stdlib.h> include <iostream> using namespace std;int A[10];int cmp(const void * a , const void * b){ return *(int*) a - *(int*)b;} int main(){ int n;cin >> n;for (int i = 0; i < n; i++)cin >> A[i];\/\/ qsort(A , n , sizeof(int)...

c语言编程 输入一个正整数n(1<n《10),再输入n个整数,将最小值与第一个...
这题目应该找到最大值和最小值所在的坐标位置,然后,在交换时,要考虑最大值是第一个数的情况。include<stdio.h>int main(){ int a[10]; int i,max,min,n; printf("请输入一个正整数n(1<n<10)\\n"); scanf("%d",&n); printf("请输入n个正整数\\n"); for(i=...

跪求大神,c语言问题。编程,输入1个正整数n(1<n<=10),再输入n个整数,按...
right]为排序范围{int i;int maxnum;do{maxnum=left;for(i=left+1;i<=right;i++){if(fabs(T[i])<fabs(T[maxnum])) maxnum = i;}if(i!=maxnum) Exchange(&T[left],&T[maxnum]);}while(left++<right);}void main() {int n,i,*p;do{printf("输入整数个数(1~10):"...

C语言:输入一个小于100的正整数n,然后输入n个整数存入一维数组中,对...
这个程序的写法是比较标准而简单的,先输入一个整数n,然后使用一个循环输入n个整数到一维数组当中,在使用一个简单的排序方法,比方说冒泡排序就可以对数组进行从大到小的排序,最后输出就可以了.include <stdio.h> void bubble_sort(int a[], int n){ int i, j, t;for (i = 0; i < n...

从键盘输入一个正整数存入变量n中,再输入n个值不同的整数,然后求出其中...
include <stdio.h> main(){ int n,i,s,t;printf("Please input n: ");scanf("%d",&n);printf("Please input number:\\n");int a[n];for(i=0; i<n; i++)scanf("%d",&a[i]);s=a[0];t=a[0];for(i=0; i<n; i++)if(s<a[i])s=a[i];for(i=0; i<n; i++...

C语言编程题
输出:5.950 include <stdio.h> void main(){ int n,a=1,b=4,c;float s=(float)1\/4;scanf("%d",&n);while(--n){ c=a+b;a=b;b=c;s+=(float)a\/b;} printf("%.3f\\n",s);} 编程题,不要输出与结果无关的字符。读入1 个正整数 n(n<=10),再读入n个整数并放入一个...

读入1 个正整数 n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角...
include<stdio.h> int main(void){ int n,sum=0,i,j;int a[6][6];printf("please input n:\\n");scanf("%d",&n);printf("input a array:\\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n-1;i++)for(j=0;j<n-1;j++)if(i!=...

c++:输入正整数n,再输入n行字符串,每行之间有一个空行,这个功能如何...
include<iostream> using namespace std;int main(){ int n;cin>>n;for(int i=0;i<n;i++){ char a[100];do{gets(a);}while(a[0]=='\\0');cout<<endl;} return 0;}

问题描述 : 改正程序中的错误,输入一个正整数n(0<n<9)和一组(n个)有...
include <stdio.h> int main() { int i,j,n,x,flag = 1,a[100];printf("输入数据的个数n:");scanf("%d",&n);printf("输入%d个整数:\\n",n);for(i = 0; i < n; ++i)scanf("%d",&a[i]);printf("输入要插入的整数:");scanf("%d",&x);for(i = 0; i < n; ++...

乌拉特前旗19750398417: 输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,再输出交换后的n个数这是我写的java程序,可以帮忙看看错在哪... -
庄轰六味:[答案] 太不规范了吧.看着头晕. for(i=0;i

乌拉特前旗19750398417: 判断素数输入一个正整数n,再输入n个正整数,判断它们是否为素数.我只会一个的,不知道怎么再在这个里面循环.求教:#include#includeint main(void){int i,... -
庄轰六味:[答案] #include int main() { int n,a[20],i,j; printf("输入需要判断的个数:\n"); scanf("%d",&n); printf("输入这些数:\n"); for(i=0;i

乌拉特前旗19750398417: 编程,输入一个正整数n,再输入n个整数,输出其中的最大值输入的每个数都在100 - 200之间,如果某 -
庄轰六味: dim a,b,c c=""'赋予c空值 a=inputbox("n?")'输入N For a=0 to n-1b=inputbox("?")'询问 b=int(b)'将b转化为整数 If b>99 or b<201 then'如果b的范围在100~200 If c<>"" then'如果c不为空 If c>b then c=c'如果c大于b就不变 Elseif c<b then c=b'如果b大于c则选最大数 End if else c=b'如果c为空则变成b End if End if Next Msgbox c '2014年5月于厕所

乌拉特前旗19750398417: C语言,输入一个整数n再输入n个整数,输出其中所有偶数 -
庄轰六味: #includevoid main() {int n,i,t;int m[100]; //定义了一个长度100的数组,来放这n个数,不过这样一来也变相的限制了n要小于100.可根据实际情况定义数组的大小.printf("请输入一个正整数个数:");scanf("%d",&n);printf("请输入%d个正整数:",n);for(i=0;i (m[n])) m[n]=m[i];}printf("其中最大的数为:%d\n",m[n]); }

乌拉特前旗19750398417: c语言怎么写出:“输入一个正整数n,再输入n个整数,输出最小值”的代码 -
庄轰六味: #include int main() { int last=0,cnt=0,num; while(1) { printf("please input number"); scanf("%d\n",&num); cnt++; if(last>num) last=num; if(cnt>0) printf(); return 0; }

乌拉特前旗19750398417: c语言输入一个正整数n,再输入n个整数,降序输出
庄轰六味: #include &lt;stdio.h&gt;main(){ int i,j,N,t,k=0;int score[100];printf("请输入整数的个数N:\n"); scanf("%d",&amp;N); printf("请输入N个整数:\n"); for(i=0;i&lt;N;i++)scanf("%d",&amp;score[i]); for(j=0;j&lt;N-1;j++) for(k=j+1;k&lt;=N-1;k+...

乌拉特前旗19750398417: 编程题:输入一个正整数n,再输入n个整数,输出最小值. -
庄轰六味: #include <iostream.h> #include <vector> using namespace std; int main() { int n,m; cout << "待处理个数 n: "<<endl; cin >> n; vector <int> a; cout << "输入数据: "; for(int i = 0; i < n; i++) { cin >>m; a.push_back(m); } for (int j =0; j < n; j++) { if( ...

乌拉特前旗19750398417: c语言,求最小值:输入一个正整数n,再输入n个整数 -
庄轰六味: #include int main(){ int n, minv, a; scanf("%d", &n); scanf("%d", &minv); n--; while (n--){ scanf("%d", &a); if (a} printf("%d\n", minv); return 0; }

乌拉特前旗19750398417: 输入一个正整数N,再输入NG个整数,输出其中的最大值,输入的每个数都在100~200之间,如果某个数不在100~200之 -
庄轰六味:[答案] int max=0; for(int i=0;imax} max=a[i]; 你可以用随机生成函数 rand()

乌拉特前旗19750398417: 用c语言的循环语句,输入一个正整数n,在输入n个整数,输出最小值. -
庄轰六味: 1、新建一个工程和.c文件 ,输入头文件和主函数. 2、定义变量类型和赋初值. 3、输入整数. 4、用for循环计算整数的长度. 5、用for循环将各位数字存入数组中. 6、用for循环输出数组. 7、编译,输出最小值.

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