|
发表于 2022-11-5 18:46:56
|
显示全部楼层
本帖最后由 zhangjinxuan 于 2022-11-5 19:28 编辑
问题1:
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int a[6][7] = {}, row_min[6] = {}, col_min[7] = {};
- //a表示整个数组,row_min第i项表示第i行的最小值,col_min同理
- #define min(n, m) (n < m ? n : m)
- //求出两数最大值
- int main() {
- for (int i = 1; i <= 5; ++i) row_min[i] = 1 << 30; //一开始,设置为无穷大
- for (int i = 1; i <= 6; ++i) col_min[i] = 1 << 30;
- srand(time(0)); //随机数种子
- for (int i = 1; i <= 5; ++i) { //随机生成数组并输出
- for (int j = 1; j <= 6; ++j) {
- a[i][j] = rand() % 21 + 30;
- printf("%d ", a[i][j]);
- }
- puts("");
- }
- for (int i = 1; i <= 5; ++i) { //获取每行的最小值
- for (int j = 1; j <= 6; ++j) {
- row_min[i] = min(row_min[i], a[i][j]);
- }
- }
-
- for (int j = 1; j <= 6; ++j) { //每列
- for (int i = 1; i <= 5; ++i) {
- col_min[j] = min(col_min[j], a[i][j]);
- }
- }
-
- for (int i = 1; i <= 5; ++i) { //输出
- printf("%d ", row_min[i]);
- }
- puts("");
- for (int i = 1; i <= 6; ++i) {
- printf("%d ", col_min[i]);
- }
- return 0;
- }
复制代码
问题2:
- #include <stdio.h>
- #include <string.h>
- char s[100001];
- int len; //字符串长度
- int main() {
- scanf("%s", s + 1); //1...base用s + 1
- len = strlen(s + 1); //仍然s + 1
- for (int i = 1, j = len; i < j; ++i, --j) {
- //一边从前面看,另一边从后面看
- if (s[i] != s[j]) { //若两端不一样
- printf("No");
- return 0; //一定要返回
- }
- }
- printf("Yes");
- return 0;
- }
复制代码 |
|