赞
踩
分析:
(1)先分别输入数组的行数和列数;
(2)逐个输入数组中的元素,元素个数为刚刚输入的行数与列数的乘积;
(3)通过for循环进行转置;
(4)最终将统计出的结果输出到屏幕上;
代码实现:
#include <stdio.h> int main() { int i, j, row, column; //定义表示数组行列的变量 int a[10][10], b[10][10]; //定义二维数组 printf("Please input the number of rows (<10)\n"); scanf("%d", &row); //输入行数 printf("please input the number of columns(<10)\n"); scanf("%d", &column); //输入列数 printf("Please input the elements of the array\n"); for (i = 0; i < row; i++) //控制输出的行数 { for (j = 0; j < column; j++) //控制输出的列数 { scanf("%d", &a[i][j]); //输入数组中的元素 } } //矩阵转置之前 printf("array a:\n"); //将输入的数据以二维数组的形式输出 for (i = 0; i < row; i++) //控制输出的行数 { for (j = 0; j < column; j++) //控制输出的列数 { printf("\t%d", a[i][j]); //输出元素 } printf("\n"); //每输出一行要在末尾换行 } //矩阵转置过程 for (i = 0; i < row; i++) { for (j = 0; j < column; j++) { b[j][i] = a[i][j]; //将a数组的i行j列元素赋给b数组的j行i列元素 } } //矩阵转置之后 printf("array b:\n"); //将互换后的b数组输出 for (i = 0; i < column; i++) //b数组行数最大值为a数组列数 { for (j = 0; j < row; j++) //b数组列数最大值为a数组行数 { printf("\t%d", b[i][j]); //输出b数组元素 } printf("\n"); //每输出一行要在末尾换行 } return 0; }
运行截图:
描述:初始时,甲的左手握着一枚硬币,游戏开始后,甲进行有限次或真或假的交换,最后由乙来猜测这两只手中是否有硬币。
分析:
(1)使用基类型的变量作为形参,构造交换函数;
(2)使用指针变量作为形参,在函数体中交换指针的指向;
(3)使用指针变量作为形参,在函数体中交换指针变量所指内存中存储的数据;
(4)使用随机数生成器确定交换发生的次数,选择每轮要执行的交换方法;
(5)使用while循环语句控制交换进行的轮数;
(6)使用switcj语句产生的随机数选择本文轮执行的交换方法。
代码实现:
#include <stdio.h>
#include <stdlib.h>
//函数声明
void exc1(int l, int r);
void exc2(int* l, int* r);
void exc3(int* l, int* r);
//游戏模拟
//使用随机函数获取交换的次数,和每次交换所选择的函数
int main()
{
int a =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。