直板中的照片地球上最后一个人和第一个怎么换换位置

c语言程序:从键盘任意输入10个数,要求将前五个分别和后五个数调条换位置,最后一个与第一个换位置_百度知道
c语言程序:从键盘任意输入10个数,要求将前五个分别和后五个数调条换位置,最后一个与第一个换位置
提问者采纳
#include &stdio.h&#include&time.h&#include&string.h&int main(){ int a[10]; int n=10,i=0,j, while(i&10&&scanf(&%d&,&a[i])!=EOF)//Ctrl+Z回车结束 {
i++; } for(j=0,i=n-1;j&=i;j++,i--) {
a[i]=a[j];
a[j]= } for(i=0;i&n;i++)printf(&%d &,a[i]); puts(&&); return 0;}
运行了一下,有两个小错误,麻烦你再看一下。Linking...2.obj : error LNK2005: _main already defined in 1.objDebug/1.exe : fatal error LNK1169: one or more multiply defined symbols foundError executing link.exe.1.exe - 2 error(s), 0 warning(s)
你是不是在VC里面如果了多信main函数啊?关闭之后重新打开建立吧
提问者评价
来自团队:
其他类似问题
为您推荐:
c语言程序的相关知识
其他3条回答
太简单了吧,,自己想想,,当年我学的时候 也是做这个,,,纠结了一周里,,,
#include &stdio.h&int main(){int i=0;int a[10];for(i=0;i&10;i++)scanf(&%d&,a[i]);
//输入是个数for(i=0;i&5;i++)
//for循环交换位置{int temp=0;temp=a[i];a[i]=a[9-i];a[9-i]=}for(int i=0;i&10;i++)printf(&%d&,a[i]);
//换位置后依次输出return 0;}
#include&stdio.h&void
main() { float P[N],*p=P;
/*定义数组,并将其地址赋给p*/
printf(&请输入%d个数&,N);
for(i;i&N;I++)
scanf(&%f&,&P[i]);
printf(&这N个数前半与后半调位,最后一个与第一个换位结过为\n&,N);
printf(&%f\t&,*(P+N/2-1));
/*输出交换好了的第一位(如输入1~10,那这位是5)*/
for(i=1;i&N/2;i++)
/*依次输出*/
printf((&%f\t&,*(p+N/2+i));
for(i=0;i&(N/2-2);i++)
printf((&%f\t&,*(p+i));
printf(&%f\t&,*(p+N/2));
/*输出交换好了的最后一位如输入1~10,那这位是6*/}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在线等答案:C语言,将数组中最大数和最小数分别和第一个数和最后一个数交换 我怎么?哪里错了?!?!?_百度知道
在线等答案:C语言,将数组中最大数和最小数分别和第一个数和最后一个数交换 我怎么?哪里错了?!?!?
#include&stdio.h&int main(){ float a[10],t=0; int i,n,m; for(i=0;i&=9;i++)scanf(&%f&,&a[i]); for(i=0;i&=8;i++) {
if(a[i]&a[i+1])
n=i; } t=a[n];a[n]=a[9];a[9]=t; for(i=0;i&=8;i++) {
if(a[i]&a[i+1])
m=i+1; } t=a[m];a[m]=a[0];a[0]=t; for(i=0;i&=9;i++)printf(&%10.4f&,a[i]); return 0;}
#include&stdio.h&int main(){ float a[10],t=0,b=0; int i,n,m; for(i=0;i&=9;i++)scanf(&%f&,&a[i]); m=n=0; for(i=1;i&=9;i++) {
if(a[m]&=a[i])m=i;
if(a[n]&=a[i])n=i; } t=a[0];a[0]=a[n];a[n]=t; b=a[m];a[9]=a[m];a[m]=b; for(i=0;i&=9;i++)printf(&\n%f&,a[i]); return 0;}改成这样,但最后一位还是出错。。
提问者采纳
楼主应该是想用两个循环 for(i=0;i&=8;i++)来查找最大和最小的两个值吧?但你循环里的内容写的不对,n和m不断的被重新赋值,实际上最后的n要么是8,要么是9,完全取不到最大或者最小值。我整体修改了一下,敬请参考。#include&stdio.h&int main(){ float a[10],t=0; int i,max = 0,min = 0; for(i=0;i&=9;i++)
scanf(&%f&,&a[i]);
if(a[max] & a[i])
if(a[min] & a[i])
min = } a[0] = a[max] + a[0]; a[max] = a[0] - a[max]; a[0] -= a[max]; a[9] = a[min] + a[9]; a[min] = a[9] - a[min]; a[9] -= a[min];for(i=0;i&=9;i++) printf(&%10.4f&,a[i]); return 0;}
请大虾您再给我解释一下,为什么又错了?!#include&stdio.h&int main(){ float a[10],t=0; int i,n,m; for(i=0;i&=9;i++)scanf(&%f&,&a[i]); m=n=0; for(i=1;i&=9;i++) {
if(a[m]&a[i])m=i;
if(a[n]&a[i])n=i; } t=a[1];a[0]=a[n];a[n]=t; t=a[m];a[9]=a[m];a[m]=t; for(i=0;i&=9;i++)printf(&%10.4f&,a[i]); return 0;}
t=a[1];a[0]=a[n];a[n]=t;这里的a[1]应该是a[0]吧?
哦,谢谢!!
提问者评价
谢谢谢谢谢谢啊啊啊啊啊啊啊啊啊啊啊啊。。。。。
来自团队:
其他类似问题
为您推荐:
c语言的相关知识
其他5条回答
一个序列里面要找最大的该是个什么逻辑啊 , 好好想想吧
#include&stdio.h&int main(){ float a[10]; int i,p,q,max,min,t; for(i=0;i&10;i++)scanf(&%f&,&a[i]);max=min=a[0]; for(i=0;i&10;i++) {
if(a[i]&max)
{max=a[i];
min=a[i];q=i;} t=a[0];a[0]=a[p];a[p]=t; t=a[9];a[9]=a[q];a[q]=t; for(i=0;i&10;i++)printf(&%10.4f&,a[i]); return 0;} 根据你的改的
for(i=0;i&=8;i++) {
if(a[i]&a[i+1])
n=i; }//相邻两个数比较!!!而不是找最大值的索引,最后的结果不是8 就是9(你的最大值和最小值是最后两个数)你应该用大的数与后面的比较
max = a[0]for(int i = 1; i & 10; i++){
if(max & a[i])
max = a[i];
location =//location为上面定义的变量,记录最大值的位置
}}temp = a[0];a[0] =a[location] =最小值和最后一个交换方法同上
int a[10] ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10},t=0; int i,tmp,max=0,min=65535, for(i = 0; i & 10; i++) {
if(max & a[i])
max = a[i];
location =//location为上面定义的变量,记录最大值的位置
tmp=a[0]; a[0]= a[location]=
for(i=0;i&=9;i++) {
printf(&%d &,a[i]); } printf(&\r\n&);
for(i=0;i&10;i++) {
if(min & a[i])
min = a[i];
location =//location为上面定义的变量,记录最大值的位置
} } tmp=a[9]; a[9]= a[location]= for(i=0;i&=9;i++) {
printf(&%d &,a[i]); }
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言中,定义一个数组,输入10个数,将最大值与第一个值互换,最小值与最后一个值互换,再输出这个数组_百度知道
C语言中,定义一个数组,输入10个数,将最大值与第一个值互换,最小值与最后一个值互换,再输出这个数组
#includeint main(void){
int arr[10],i,max,min,j,k,temp1,temp2;
printf(&请输入10个数字:&);
for(i=0;i&10;i++)
scanf(&%d&,&arr[i]);
min=arr[0];
for(i=0;i&10;i++)
if(arr[i]&min)
min=arr[i];
temp1=arr[9];
arr[9]=arr[j];
arr[j]=temp1;
max=arr[0];
for(i=0;i&10;i++)&max)
max=arr[i];
temp2=arr[0];
arr[0]=arr[k];
arr[k]=temp2;
printf(&交换后的结果为:&);
for(i=0;i&10;i++);
printf(&%d&,arr[i]);
printf(&\n&);
return 0;}
提问者采纳
用乱七八糟评价你的代码一点不为过,不光是格式,连同逻辑!写代码要尽量往简单写,提供一个供参考——int&main(void){&&&&int&arr[10],i,max_i,min_i;&&&&printf(&请输入10个数字:&);&&&&for(max_i=min_i=i=0;i&10;i++){&&&&&&&&scanf(&%d&,&arr[i]);&&&&&&&&if(arr[i]&arr[min_i])&&&&&&&&&&&&min_i=i;&&&&&&&&if(arr[i]&arr[max_i])&&&&&&&&&&&&max_i=i;&&&&}&&&&i=arr[9];&&&&arr[9]=arr[min_i];&&&&arr[min_i]=i;&&&&i=arr[0];&&&&arr[0]=arr[max_i];&&&&arr[max_i]=i;&&&&printf(&交换后的结果为:&);&&&&for(i=0;i&10;i++)&&&&&&&&printf(&%d&&,arr[i]);&&&&printf(&\n&);&&&&&&&return&0;}
提问者评价
谢谢,我一定改正!
其他类似问题
为您推荐:
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 最后一个夏天 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信