赞
踩
题目描述:
已知数组array[10]={1,2,3,4,5,6,7,8,9,10};要求把下标从0到p(p从键盘输入)的数组元素平移到数组的最后,并输出平移后的数组。
输入格式:输入一个整数p;
输出格式:共一行,输出平移后的数组,数字之间用空格分隔
示例:
输入:3
输出:5 6 7 8 9 10 1 2 3 4
#include <bits/stdc++.h> using namespace std; int main(){ int n; int k; int a[20]; int b[40]; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; for(int i=0;i<n;i++){ b[i]=a[i]; } for(int i=n;i<2*n;i++){ b[i]=a[i-n]; } for(int i=k+1;i<k+1+n;i++){ cout<<b[i]<<" "; } return 0; }
描述
输入自然数N(N<10),采用双层for循环结构,计算N!和ΣN!,并输出结果。
时间限制
1
内存限制
10000
类别
1
输入说明
输入自然数N(<10),如7
输出说明
输出N、N!、ΣN!
输入样例
7
输出样例
7 5040 5913
提示
采用双层for循环结构,不大于10的自然数的阶乘之和
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int m=1,sum=0; for(int i=1;i<=n;i++){ m=m*i; sum=sum+m; } cout<<n<<" "<<m<<" "<<sum; return 0; }
#include <bits/stdc++.h> using namespace std; struct stu{ int id; int n1,n2,n3,n4; int w1,sum; }; int main(){ int n; stu stu[200]; cin>>n; for(int i=0;i<n;i++){ cin>>stu[i].id>>stu[i].n1>>stu[i].n2>>stu[i].n3>>stu[i].n4; stu[i].w1=stu[i].n1*0.35+stu[i].n2*0.3+stu[i].n3*0.25+stu[i].n4*0.1; stu[i].sum=stu[i].n1+stu[i].n2+stu[i].n3+stu[i].n4; } for(int i=0;i<n-1;i++){ for(int j=0;j<n-1-i;j++){ if(stu[j].w1<stu[j+1].w1){ swap(stu[j],stu[j+1]); } if(stu[j].w1==stu[j+1].w1){ if(stu[j].sum<stu[j+1].sum){ swap(stu[j],stu[j+1]); } } if((stu[j].w1==stu[j+1].w1)&&(stu[j].sum==stu[j+1].sum)){ if(stu[j].id<stu[j+1].id){ swap(stu[j],stu[j+1]); } } } } for(int i=0;i<n;i++){ cout<<stu[i].id<<" "<<stu[i].w1<<" "<<stu[i].sum<<endl; } }
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int a[1010]; for(int i=0;i<n;i++){ cin>>a[i]; } int high, low, out=-1; for(int i=0; i<n; i++) { high=0; low=0; for(int j=0; j<n; j++) { if(a[j]<a[i]) low++; else if(a[j]>a[i]) high++; } if(high==low) { out=a[i]; break; } } printf("%d", out); return 0; }
#include <bits/stdc++.h> using namespace std; int a[10010],dp[10010]; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } dp[0]=a[0]; for(int i=1;i<n;i++){ dp[i]=max(a[i],dp[i-1]+a[i]); } sort(dp,dp+n); cout<<dp[n-1]; return 0; }
#include <bits/stdc++.h> using namespace std; int a[110],dp[110]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } int ans=-1; for(int i=1;i<=n;i++){ dp[i]=1; for(int j=1;j<i;j++){ if(a[i]>=a[j]&&(dp[j]+1>dp[i])){ dp[i]=dp[j]+1; } } ans=max(ans,dp[i]); } cout<<ans; return 0; }
#include <bits/stdc++.h> using namespace std; char a[100],b[100]; int dp[100][100]; int main(){ gets(a+1); gets(b+1);//从下标为1开始读入 int lena=strlen(a+1); int lenb=strlen(b+1); int max_len=0; for(int i=0;i<=lena;i++){ dp[i][0]=0; } for(int j=0;j<=lenb;j++){ dp[0][j]=0; } for(int i=1;i<=lena;i++){ for(int j=1;j<=lenb;j++){ if(a[i]==b[j]){ dp[i][j]=dp[i-1][j-1]+1; } else{ dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } } int c=max_len; cout<<dp[lena][lenb]; return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。