首页 > 代码库 > 你不知道的多重循环的事情
你不知道的多重循环的事情
当你循环输入的时候我们有几种方法
一:while(scanf("%d %d",&a,&b)!=EOF)//>0//==1
反正有很多种,但是今天早上我用两个代码提交发现了问题
相同的算法但是第一个超时
#include<iostream> #include<stdio.h> #define max 1000000+10 #include<algorithm> using namespace std; int a[max]; int cmp(int a,int b) { return a>b; } int main() { int i,j,k,l; while(scanf("%d %d",&i,&j)&&i)//这是关键 { for(k=0;k<i;k++) { scanf("%d",&a[k]); } sort(a,a+i,cmp); for(k=0;k<j-1;k++) printf("%d ",a[k]); printf("%d\n",a[j-1]); } return 0; }
第二个就过了:
#include<iostream> #include<stdio.h> #define max 1000000+10 #include<algorithm> using namespace std; int a[max]; int cmp(int a,int b) { return a>b; } int main() { int i,j,k,l; while(scanf("%d %d",&i,&j)>0)//这个是正确的 { for(k=0;k<i;k++) { scanf("%d",&a[k]); } sort(a,a+i,cmp); for(k=0;k<j-1;k++) printf("%d ",a[k]); printf("%d\n",a[j-1]); } return 0; }
感觉不明觉厉啊,orz
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。