C++:键盘输入n,然后输入n个整数存入数组a,将奇数移到a的前端,要求见下。咋编?
1.
#include "iostream"
using namespace std;
int main()
{
int n,i,j,tmp;
int *p=NULL;
cin>>n;
p=new int[n];
for(i=0;i<n;i++)
cin>>p[i];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(p[i]>p[j])
{
tmp=p[i];
p[i]=p[j];
p[j]=tmp;
}
cout<<"输入数据从小到大排序后输出:";
for(i=0;i<n;i++)
cout<<p[i]<<" ";
cout<<endl;
delete [] p;
p=NULL;
}
结果:
2.
#include "iostream"
#include "cstring"
using namespace std;
int main()
{
char *p1="Southeast ";
char *p2="University";
char *p3=NULL;
int len=0;
len=strlen(p1)+strlen(p2)+1;
p3=new char[len];
memset(p3,0,len);
strncpy(p3,p1,strlen(p1));
strncat(p3,p2,strlen(p2));
cout<<p3<<endl;
delete [] p3;
}
结果:
#includeusing namespace std;int main(){ int i,a[10]; cout>a[i]; } cout= 0;i--) { cout<<a[i]<<" "; } cout<<endl;}
代码文本:
//#include "stdafx.h"//vc++ 6.0? Maybe should add this line.
#include <iostream>
#include "time.h"
using namespace std;
int main(int argc,char *argv[]){
int a[100],i,j,t,n;
cout << "Enter n...
";
if(cin >> n,n>100 || n<1)
n=100;
if(n>10){//n>10时自动随机输入并显示
srand((unsigned)time(NULL));
for(i=0;i<n;){
cout.width(6);//输出格式占宽6列右对齐
cout << (a[i++]=rand());
if(i%10==0 || i==n)//输出10个数或最后一行末回车
cout << endl;
}
}
else{//n<=10时手工输入显示
cout << "Please enter " << n << " integer(s)(SEP by ' ')...
";
for(i=0;i<n;cin >> a[i++]);
cout << endl;
}
for(i=0;i<n;i++){//把奇数移到a前端算法
if((a[i]&1)==0){
for(j=i+1;j<n;j++)
if(a[j]&1){//在i后找到奇数则保存至t
for(t=a[j];j>i;a[j--]=a[j-1]);//a[i]~a[j]顺序向后移一位
a[i]=t;//把a[j]拷贝到a[i];这样奇偶数的相对顺序不变
break;
}
if(j==n)//若i后无奇数了就中止外for操作
break;
}
}
cout << "OUT:
";
for(i=0;i<n;){//输出
cout.width(6);//输出格式占宽6列右对齐
cout << a[i++];
if(i%10==0 || i==n)//输出10个数或最后一行末回车
cout << endl;
}
return 0;
}
要完成把一个数组中所有的奇数移到前端的操作,实质上还是一个排序的操作。只是判断大小的情况是,如果前面的数是偶数,而后面的数是奇数,那么就交换这一对数。按这个原则进行排序,就可以了。
C++:键盘输入n,然后输入n个整数存入数组a,将奇数移到a的前端,要求见下...
int main(int argc,char *argv[]){ int a[100],i,j,t,n;cout << "Enter n...\\n";if(cin >> n,n>100 || n<1)n=100;if(n>10){\/\/n>10时自动随机输入并显示 srand((unsigned)time(NULL));for(i=0;i<n;){ cout.width(6);\/\/输出格式占宽6列右对齐 cout << (a[i+...
C++从键盘上先输入整数N,再连续输入N个整数,求和
include<iostream> usingnamespacestd;voidmain(){ intn,sum=0;cout<<"您要输入几个数?"<<endl;cin>>n;for (int i=1; i<=n; i++){ inta;cin>>a;sum+=a;} cout<<"您输入的"<<n<<"个数的和为:"<<sum<<endl;}。方法二:include <iostream> include <stdio.h> ...
c++ 输入一个正整数n,输入n个整数, 求正数个数
include <iostream>using namespace std;int main(){ int n; cin>>n; int x; int i; int ans=0; for(i=1;i<=n;i++){ cin>>x; if (x>0) ans++; } cout<<ans<<endl; return 0;} ...
c++,输入n,然后输入n个数, 输出n个数的和。怎么做?
答案如下,谢谢采纳 include <iostream> using namespace std;int main (){ int n,num,sum=0;cin>>n;for(int i=0;i<n;i++){ cin>>num;sum+=num;} cout<<sum;}
C++编程 输入一个正整数n(1<n<=10),再输入n个整数,输出其最大值及其...
include<stdio.h> main(){ int n,i,j;scanf("%d",&n);int a[11];for(i=0;i<n;i++)scanf("%d",&a);for(j=0;j<n;j++){ if(a[0]j){ i=j;} } } printf("%d%d",a[0],i);}
从键盘输入一个整数N(N>=0),然后再输入N个整数, 按从小到大的顺序输出...
printf("please enter %d number:\\n",n);for(i=0;i<n;i++){ printf("enter %dth number:",i+1);scanf("%d",&a[i]);} for(i=0;i<n-1;i++)for(j=0;j<n-i;j++)if(a[j]<a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<n;i++)printf("%d\\...
3. 用c++输入n个整数(n由键盘输入),统计其中正数、负数和零的个数...
int n;cout<<"请输入n:"<<endl;cin>>n;cout<<"您输入的n是<<n<<":"<<endl;int i=0,pos=0,zero=0,neg=0;cout<<"请输入"<<n<<"个整数:"<<endl;int a[N];while (i<n){ cin>>a[i];i++;} for (int k=0;k<n;k++){ if (a[k]<0){ neg++;} else if (a[k...
如何在C++中输入n个整形数
先提示用户输入要输的整数个数 然后循环输入n个整数即可 代码:include<stdio.h> void main(){ int i=0,n;int integer;printf("输入你要输入的整数个数:");scanf("%d",&n);while(i<n){ printf("输入第%d个整数:",i+1);scanf("%d",&integer);printf("输出第%d个整数:%d\\n\\n",i+1...
c语言编程:输入一个数字n,再输入n个数,将这个n个数从小到大输出。_百...
n,i;scanf(输入n的值);\/\/输入个数 int array;\/\/把需排序的数列定义为数组。这里需要指出的是,如果定义为array[n-1],因为你的n在编译时未赋值,所以编译是不会通过的。于是这里直接将它定义为一个指针,赋值方法跟数组相同。但是个数太多就不能这么做了 for(i = 0;i < n;i++){ \/\/输入...
(C语言)输入一个正整数n, 再输入n 个整数,输出这n个整数的最大值.
include intmain(){ intn,a,i,t;scanf("%d",&n);if(n<=0){ printf("输入n的值错误");return0;} scanf("%d",&t);\/\/先读的第一个数要默认成最大的,不然,t的初值是不定的 for(i=1;i{ scanf("%d",&a);if(t} printf("%d",t);return0;\/\/ } ...