C++ 生成不同数列程序解析:功能,设计思路,结构说明
"程序的功能是根据输入的n个数,生成n个不同的数列。\n\n程序的设计思路是首先读取输入的n和n个数,然后对输入的数进行排序,并找到最大的两个数。然后根据最大的两个数生成数列,其中一个数列是按照递增的顺序生成,另一个数列是按照特定的规则生成。\n\n程序的结构是首先定义了一个别名为ll的数据类型,然后在主函数中进行循环,直到输入的n为负数。在每次循环中,首先读取输入的n和n个数,并初始化一些变量。然后判断特殊情况,即n为1的情况,如果是特殊情况,则按照特定的规则生成数列并输出。如果不是特殊情况,则对输入的数进行排序并找到最大的两个数。然后根据最大的两个数生成数列,并将数列存储在一个二维向量中。最后按照输出格式,输出生成的数列。\n\n总结来说,该程序的功能是生成n个不同的数列,设计思路是根据输入的数进行排序并生成数列,程序的结构是按照特定的规则生成数列并输出。\n\n#include<bits/stdc++.h> \n\nusing namespace std; \n\ntypedef long long ll; \n\nint main() \n{ \n int n; \n while(~scanf("%d",&n)) \n { \n int a[n],b[n],cnt[n]={0},maxn=INT_MIN,flag=1; \n for(int i=0;i<n;i++) \n { \n scanf("%d",&a[i]); \n b[i]=a[i]; \n a[i]*=10; \n\n if(maxn<a[i]) \n maxn=a[i]; \n } \n\n if(n==1) // 1的特殊情况 \n { \n printf("#1\n"); \n int from=-1; \n for(int i=0;i<b[0];i++) \n { \n for(int j=0;j<10;j++) \n { \n if(j==0) \n printf("%d",from+=2); \n else \n printf(" %d",from+=2); \n } \n puts(""); \n } \n continue; \n } \n\n sort(b,b+n); \n if(b[n-1]==b[n-2]) \n flag=0; \n\n\n vector
原文地址: http://www.cveoy.top/t/topic/p6oS 著作权归作者所有。请勿转载和采集!