输入一个正整数n(1 <n≤10),再输入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()

#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;ia[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]);}运行示例:

#include<stdio.h>

int main(void)

{

int a[10];

int n,i,min,max,t;

printf("Input n: ");

scanf("%d",&n);

printf("Input %d integers: ",n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

min=max=0;

printf("After swapped: ");

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

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

if(a[i]<a[min])min=i;

}

t=a[min];

a[min]=a[0];

a[0]=t;

if(0==max)max=min;

t=a[max];

a[max]=a[n-1];

a[n-1]=t;

for(i=0;i<n;i++)

printf("%d ",a[i]);

return 0;

}



for(i=0;i<n;i++)
if(a[i]>max)
max=a[i];
a[i]=a[n-1];
a[n-1]=max;
for(i=0;i<n;i++)
if(a[i]<min)
min=a[i];
a[i]=a[0];
a[0]=min;
这里完全错了。你根本就没有找到所有数据中的最大值,你就做了交换,所以,最后的结果就是中间的数据的位置变了。
我给你说说思路吧,你的max与min不应该存储最大值与最小值,应该存储最大值与最小值在数组中的位置,这样的话,整个程序就好看一些了。思路也就清晰了。
max=min=0
for(i=0;i<n;i++)
{
if(a[i]>a[max])
max=i;
if(a[i]<a[min])
min=i;
}
i=a[max];
a[max]=a[n-1];
a[n-1]=i;
i=a[max];
a[max]=a[0];
a[0]=i;


C语言,C语言! 输入一个正整数n(1<n<=10),再输入n个整数,将它们存入数 ...
include <stdio.h>void main(){int i,n,k=0,max,a[10];printf("输入正整数n(n大于1且不大于10): ");scanf("%d",&n);printf("输入%d个整数: ",n);scanf("%d",&a[0]);max=a[0];for(i=1;i<n;i++){scanf("%d",&a[i]);if(max...

pascal输入一个整数N(1<=N<=10000000),把它的各位数字倒序输出。N末 ...
输入一个正整数n,可以假设n在int范围内 输出将n按其逆序输出,每个数字后有一个空格,输出占一行。\/ include<stdio.h> int main(){int i;int n;scanf("%d",&n);int num = 0;for(i = 0; ; i ++){num = n % 10;n \/= 10;printf("%d\\n",num);if( n < 1)break;]return ...

输入一个正整数n(1≤ n ≤6)和n阶矩阵a中的元素,如果a是上三角矩阵,输 ...
你最后少打了一个符号} 你的程序是:include<stdio.h> int main(void){ int i,q,n,j;int a[6][6];printf("Input n:");scanf("%d",&n);printf("intput array:");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&q);a[i][j]=q;for(i=0;i<n;i++)for(j=0;j...

编写程序,输入一个正整数 n (1≤n≤6)和n 阶方阵a中的元素,如果a是上...
1、首先,定义8个整型变量。2、接着,定义一个数组变量保存奇数幻方的各数值。3、输入奇数幻方的阶数。4、给数组赋初值,初始值为0。5、计算第一个数1的坐标,保存在变量x和y中。6、将第一数字1,保存在数组中。7、用for循环,实现奇数幻方各值位置的计算。8、运行程序,输入一个阶数后,电脑...

输入一个正整数n(1 <n≤10),再输入n 个整数,将最小值与第一个数交换...
那个你交换了最小值之后,最大值的位置发生了变化。所以要先找最小值,交换最小值之后再去查找最大值,再交换最大值。

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=...

编写程序,输入一个正整数n(1<n≤10),再输入n个整数
include <stdio.h>int main(void){ int n,x[10],max_i,i; printf("Input n(int 1<n<=10)...\\nn="); if(scanf("%d",&n)!=1 || n<2 || n>10){ printf("Input error, exit...\\n"); return 0; } for(max_i=i=0;i<n;i++) if(scanf("...

输入一个正整数n(1 <n≤10),再输入n 个整数,将最小值与第一个数交换...
在你的两个 if 语句内改成 max = max + a[i];a[i] = max - a[i];max = max - a[i];如果担心两数和超出范围可以用^异或操作 改成 max = max ^ a[i];a[i] = a[i] ^ max;max = max ^ a[i];这样就不用担心两整数的和超出表示范围了。下面的min的操作也与以上内容类似...

求一批整数中出现最多的数字。输入一个正整数n(1<n<1000),在输入n个...
void main(){ int x,a[10],i;for ( i=0;i<10;i++ ) a[i]=0;while ( 1 ){ scanf("%d",&x); if ( x<=1 || x>=1000 ) break;while ( x ) { a[x%10]++; x\/=10; } } x=0; for ( i=1;i<10;i++ ) if ( a[i]>a[x] ) x=i;printf("%d\\n",x);...

在数组中查找指定元素。输入一个正整数n(1≤n ≤10),然后输入n个整数存 ...
include <stdio.h> int search(int list[],int n,int x){ int i;for(i=0;i<n;i++)if(list[i]==x)return i;return -1;} main(){ int list[10],n,x,i;printf("input n(1<=n<=10):");scanf("%d",&n);printf("input %d numbes:\\n",n);for(i=0;i<n;i++)scanf(...

祁县13147525336: 输入一个正整数n(1< n ≤10),再输入n个整数,输出平均值(保留2位小数). -
辉耿法罗: #include<stdio.h> void main() { int n,i,sum=0; int a[10]; float p; printf("请输入n(0-10):\n"); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",a[i]); sum=sum+a[i]; } p=sum*1.0/n; printf("平均值为:%.2f\n",p); }

祁县13147525336: C语言题目:输入一个正整数n(1<n≤10),再输入n个正数,输出平均值(保留两位小数),并逆序输出这些数. -
辉耿法罗: #include<stdio.h> int main(void) { int a[10]; int n,i; float average,sum=0; //sum定义成float才合适 printf("Please input n:"); scanf("%d",&n); printf("Please input %d integers:",n); //移动到循环外 for(i=0;i<n;i++) //这里多了分号 { scanf("%d"...

祁县13147525336: 输入1个正整数n (1<n≤10),再输入n个整数,输出平均值(保留2位小数).(C语言程序) -
辉耿法罗: #include"stdio.h" void main() {int i,n,num; float sum = 0; printf("输入一个正整数:"); scanf("%d",&n); for (i = 1; i <=n; i++) { printf("输入第%d个整数:\n", i); scanf("%d",&num); sum = sum + num; } printf("%d个整数的平均数为:%.2f\n", n, sum/n); }

祁县13147525336: 输入一个正整数n (1<n≤10),再输入n个整数,将它们存入数组a中. -
辉耿法罗: #include <stdio.h> #include <stdlib.h>int main(void) {int n = 0, i;int min = 0,minpos = 0;int* a = NULL;printf("请输入你要输入多少整数\n");scanf("%d",&n); a = (int*)malloc(n*sizeof(int)); if(a == NULL) return -1; printf("请输入这...

祁县13147525336: 输入一个正整数n(1<n≤10),在输入n个整数将它们从大到小排序后输出 -
辉耿法罗: #include void main() { int n; printf("请输入n(110); int a[n]; for(int i=1;ia[i]) {t=a[i];a[i]=a[j];a[j]=t;} } } for(int i=1;i

祁县13147525336: 在数组中查找指定元素.输入一个正整数n(1≤n ≤10),然后输入n个整数存入数组a中,再输入一个整数x,在 -
辉耿法罗: #include <stdio.h> int search(int list[],int n,int x) { int i; for(i=0;i<n;i++) if(list[i]==x)return i; return -1; } main() { int list[10],n,x,i; printf("input n(1<=n<=10):"); scanf("%d",&n); printf("input %d numbes:\n",n); for(i=0;i<n;i++) scanf("%d",&list[i]); ...

祁县13147525336: 输入一个正整数n(1<n≤10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换. -
辉耿法罗: 可以参考下面的代码: #include <stdio.h> 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...

祁县13147525336: 输入一个正整数n(1 <n≤10),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出 -
辉耿法罗: if(a[i]>a[max]){ max=i; int c; c=[index]; a[index]=a[0]; a[0]=c;} 看看是不是这样

祁县13147525336: 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形. 要数字图行不是菱形的 -
辉耿法罗: #include<stdio.h> int main() {int i,j,n,p,q;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf(" ");for(p=1;p<=i;p++)printf("%d",p);for(q=i-1;q>0;q--)printf("%d",q);printf("\n");}for(i=1;i<=n-1;i++){for(j=1;j<=i;j++)printf(...

祁县13147525336: C语言编程:输入一个正整数n(1<n≤10),再输入数组a的n个整数,把a中所有的后项除以前项之商 -
辉耿法罗: int n; int *a, *b; scanf("%d", &n); a = (int *)malloc(sizeof(int)*n); b = (int *)malloc(sizeof(int)*(n-1)); for (int i = 0; i < n; i++)scanf("%d", &a[i]); for (int i = 1; i < n; i++) { b[i - 1] = a[i] / a[i-1]; printf("%d,", b[i - 1]); if (i%3 == 0)printf("\n"); } free(a); free(b);

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