一道关于数组反转输出的题,请高手帮忙写一下。 设有如下数组int a[]={1,2,3,4,5,6,7,8}......
设有如下数组inta[]={1,2,3,4,5,6,7,8},查找整数4的位置并输出,将a数组复制给数组b,然后将数组a反转,查找整数4的位置并输出,最后输出数组a和数组...
设有如下数组int a[]={1,2,3,4,5,6,7,8} ,查找整数4的位置并输出,将a数组复制给数组b,然后将数组a反转,查找整数4的位置并输出,最后输出数组a和数组b的内容。
有没有C++下的答案啊?楼下两位写的都是C的。 展开
有没有C++下的答案啊?楼下两位写的都是C的。 展开
展开全部
#include<iostream>
using namespace std;
void mysearch(int *b); //找4位置的函数
void zhuanzhi(int *c); //转置函数
void main()
{
int a[]={1,2,3,4,5,6,7,8};
mysearch(a);
int *d=a;
zhuanzhi(d);
cout<<"转置后的数组,";
mysearch(d);
for(int i=0;i<8;i++)
cout<<d[i]<<" ";
cout<<endl;
}
void mysearch(int *b)
{
for(int i=0;i<8;i++)
{
if(b[i]==4) cout<<"4的位置在:"<<i+1<<endl;
}
}
void zhuanzhi(int *c)
{
int i=0,strl=7;
while(i<strl)
{
int temp=0;
temp=*(c+i);
*(c+i)=*(c+strl);
*(c+strl)=temp;
i++; strl--;
}
}
using namespace std;
void mysearch(int *b); //找4位置的函数
void zhuanzhi(int *c); //转置函数
void main()
{
int a[]={1,2,3,4,5,6,7,8};
mysearch(a);
int *d=a;
zhuanzhi(d);
cout<<"转置后的数组,";
mysearch(d);
for(int i=0;i<8;i++)
cout<<d[i]<<" ";
cout<<endl;
}
void mysearch(int *b)
{
for(int i=0;i<8;i++)
{
if(b[i]==4) cout<<"4的位置在:"<<i+1<<endl;
}
}
void zhuanzhi(int *c)
{
int i=0,strl=7;
while(i<strl)
{
int temp=0;
temp=*(c+i);
*(c+i)=*(c+strl);
*(c+strl)=temp;
i++; strl--;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*
******************************************************************
* 设有如下数组int a[]={1,2,3,4,5,6,7,8} ,查找整数4的位置并输出,
* 将a数组复制给数组b,然后将数组a反转,查找整数4的位置并输出,
* 最后输出数组a和数组b的内容。
******************************************************************
*/
#include <conio.h>
#include <iostream>
using namespace std;
/*查找整数4的位置*/
int find(int a[],int n)
{
int i;
for(i=0;i<n;i++)
if(a[i]==4)
break;
return (i+1);
}
int main()
{
int a[]={1,2,3,4,5,6,7,8};
int b[8];
int i,temp;
/*4在数组a中的位置*/
cout << "the 4 in arrry a :" << endl;
cout << find(a,8) << endl;
for(i=0;i<8;i++) /*数组复制*/
b[i]=a[i];
for(i=0;i<8/2;i++) /*数组反转*/
{
temp=a[i];
a[i]=a[8-1-i];
a[8-1-i]=temp;
}
/*4在反转后的数组中的位置*/
cout << "the 4 in arrry a :" << endl;
cout << find(a,8) << endl;
for(i=0;i<8;i++) /*输出数组*/
cout<<a[i];
cout<<"\n";
for(i=0;i<8;i++)
cout<<b[i];
cout<<"\n";
getch();
}
呵呵,总算给弄出来了,把c的printf改成c++的cout,在devc++下调试通过
******************************************************************
* 设有如下数组int a[]={1,2,3,4,5,6,7,8} ,查找整数4的位置并输出,
* 将a数组复制给数组b,然后将数组a反转,查找整数4的位置并输出,
* 最后输出数组a和数组b的内容。
******************************************************************
*/
#include <conio.h>
#include <iostream>
using namespace std;
/*查找整数4的位置*/
int find(int a[],int n)
{
int i;
for(i=0;i<n;i++)
if(a[i]==4)
break;
return (i+1);
}
int main()
{
int a[]={1,2,3,4,5,6,7,8};
int b[8];
int i,temp;
/*4在数组a中的位置*/
cout << "the 4 in arrry a :" << endl;
cout << find(a,8) << endl;
for(i=0;i<8;i++) /*数组复制*/
b[i]=a[i];
for(i=0;i<8/2;i++) /*数组反转*/
{
temp=a[i];
a[i]=a[8-1-i];
a[8-1-i]=temp;
}
/*4在反转后的数组中的位置*/
cout << "the 4 in arrry a :" << endl;
cout << find(a,8) << endl;
for(i=0;i<8;i++) /*输出数组*/
cout<<a[i];
cout<<"\n";
for(i=0;i<8;i++)
cout<<b[i];
cout<<"\n";
getch();
}
呵呵,总算给弄出来了,把c的printf改成c++的cout,在devc++下调试通过
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
根据楼主的要求,写了个最简单的:
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,x,b[10],a[]={1,2,3,4,5,6,7,8};
for(i=0;i<8;i++)
{
b[i]=a[i];
if(a[i]==4)
printf("4的位置是:%d\n",i+1);
}
for(i=0,j=7;i<=j;i++,j--)
{
x=a[i];
a[i]=a[j];
a[j]=x;
}
for(i=0;i<8;i++)
if(a[i]==4)printf("4的位置是:%d\n",i+1);
for(i=0;i<8;i++)printf("%d,",a[i]);
printf("\n");
for(i=0;i<8;i++)printf("%d,",b[i]);
printf("\n");
}
运行过了。 没有错误!
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,x,b[10],a[]={1,2,3,4,5,6,7,8};
for(i=0;i<8;i++)
{
b[i]=a[i];
if(a[i]==4)
printf("4的位置是:%d\n",i+1);
}
for(i=0,j=7;i<=j;i++,j--)
{
x=a[i];
a[i]=a[j];
a[j]=x;
}
for(i=0;i<8;i++)
if(a[i]==4)printf("4的位置是:%d\n",i+1);
for(i=0;i<8;i++)printf("%d,",a[i]);
printf("\n");
for(i=0;i<8;i++)printf("%d,",b[i]);
printf("\n");
}
运行过了。 没有错误!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询