目录
P1428 小鱼比可爱
P1427 小鱼的数字游戏
P5727 【深基5.例3】冰雹猜想
olol 宏定义可以在定义多个元素相等的数组时,简化 *** 作
P1047 [NOIP2005 普及组] 校门外的树
olol memset函数
P1428 小鱼比可爱
P1428 小鱼比可爱 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1428
#includeusing namespace std; int main() { int arr[110]{}; // ans[100]{}; int n; cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; //int a; //cin >> a; //1.可以直接输入数组元素值 //arr[i] = a; } //取数据 比较(循环) for (int i = 0; i < n; i++) { int g = 0; for (int k = 0; k < i; k++) { if (arr[i] > arr[k]) g++; } cout << g << ' '; //ans[i] = g; //2.可以直接输出g ,不用一直依赖于数组 } //for (int i = 0; i < n; i++) // cout << ans[i] << ' '; return 0; }
olol 给数组分配内存空间时
尽量大一点
以防止数组越界
P1427 小鱼的数字游戏P1427 小鱼的数字游戏 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1427
#includeusing namespace std; int main() { unsigned int anr[110]{}; int i; for (i = 0;;i++) { cin >> anr[i]; if (anr[i] == 0) break; } int start = 0; int end = i - 1; while (start < end) { int temp; temp = anr[start]; anr[start] = anr[end]; anr[end] = temp; start++; end--; } for (int k = 0; k < i; k++) { cout << anr[k] << ' '; } return 0; }
olol 做题不要固化思维
这题没有要求交换元素数值
只是要求输出
#includeusing namespace std; int main() { int i = 0,temp,anr[110];//默认为零 do { cin >> temp; anr[i] = temp; i++; } while (temp); i--; while (i--) cout << anr[i] << ' '; return 0; }
错误代码
#includeP5727 【深基5.例3】冰雹猜想using namespace std; int main() { int anr[110];//默认为零 int i=0; do { cin >> anr[i++]; } while (anr[i]); i--; while (i--) cout << anr[i] << ' '; return 0; }
P5727 【深基5.例3】冰雹猜想 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P5727已知变化次数不会超过200次
#includeolol 宏定义可以在定义多个元素相等的数组时,简化 *** 作using namespace std; #define MAXN 210 //宏定义 int main() { long long i=0,n, ans[MAXN]; cin >> n; ans[i] = n; while (n != 1) { if (n % 2) n = n * 3 + 1; else n /= 2; ans[++i] = n; } for (; i >= 0; i--) { cout << ans[i] << ' '; } return 0; }
如同时增减数组大小
“宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换……
宏定义_百度百科 (baidu.com)https://baike.baidu.com/item/%E5%AE%8F%E5%AE%9A%E4%B9%89/8711494(3条消息) 详解宏定义(#define)_yanggangclcsdn的博客-CSDN博客_宏定义https://blog.csdn.net/yanggangclcsdn/article/details/49704089
P1047 [NOIP2005 普及组] 校门外的树记录详情 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/record/64591496
#includeusing namespace std; int main() { int ans[11000]{},n,m,a,b,sum=0; cin >>m >>n; for (int i = 0; i <= m; i++) { ans[i] = 1; } while (n--) { cin >> a >> b; for (int i = a; i <= b; i++) { ans[i] = 0; } } for (int i = 0; i <= m; i++) { sum += ans[i]; } cout << sum << endl; return 0; }
另一种:
#includeolol memset函数using namespace std; int main() { int ans[10010]={0}, m, l , a, b, sum = 0; //memset(ans, 0, sizeof(ans)); cin >> l >> m; while (m--) { cin >> a >> b; for (int i = a; i <= b; i++) ans[i] = 1; } for (int i = 0; i <= l; i++) if (ans[i] == 0) sum++; cout << sum << endl; return 0; }
大致用法 memset(数组名称,0,sizeof(数组名称))
1.需要头文件 cstring
2.可以用于数组内的全部填充 0
3.数组int型 中间的一项只有是0 或者 -1时,数组的每一项才会变成 0 或者 -1
(3条消息) memset()函数及其作用_落叶随枫-CSDN博客_memsethttps://blog.csdn.net/qq_27522735/article/details/53374765?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163892288316780271924741%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163892288316780271924741&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-53374765.first_rank_v2_pc_rank_v29&utm_term=memset&spm=1018.2226.3001.4187
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)