一个简单的C语言数字方阵指定坐标置换

小子初来乍到,C语言功底甚是微毫,恐见笑于大方之家,然献此毫末技艺,还望见谅。

本程序用到的是标准输入输出库window库字符操作库,所要实现的功能是显示一个矩阵,指定位置,将所要更改的数进行替换,而后显示替换后的矩阵。有个彩蛋(滑稽)。

主函数打印一个带边框的4*4方阵,成员全部为1,随后清屏请求按格式输入一个数字,对该数取余,对if条件判断不符合则开始执行分函数符合则输出“牛”并结束

分函数没有返回值定义一阶ask数组和temp指针,随后使用if条件判断限定行列一旦不符合,函数将重新退回分函数开头。若符合,则须输入行与列,再输入想置换的数字,而后就会置换指定位置的数字。(注:如果行列数据输入错误或格式错误,将会出现错误提醒,而后重新返回分函数开始处,重复流程。

#include<stdio.h>
#include<windows.h>
#include<string.h>
void fun(int pask[4][4])
{
    int m,n,k,t,*temp=&t;   //定义行列和数字指针
    int d[10]={1,2,3,4,5,6,7,8,9,0};
    printf("请输入指定行列:");
    scanf("%d,%d",&m,&n);    //输入行列
    printf("请输入置换数字:");
    scanf("%d",&k);       //输入置换数字
    if((m>=0&&m<=3)&&(n>=0&&n<=3)&&(k>=0&&k<=9))
    {
        *temp=d[k-1];
        pask[m-1][n-1]=*temp;
        d[k-1]=pask[m-1][n-1];     //输入数与原位置数替换

    }
    else
    {
        printf("错误请重试!\n");  //错误报告
        fun(pask);       //调用从函数
    }
}
int main()
{
    printf("||====================================||\n");
    printf("||");
    int i,j,b;
    int ask[4][4]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
    for(i=0;i<=3;i++)
        for(j=0;j<=3;j++)
        {
            printf("    %d    ",ask[i][j]);
            if((j%3==0)&&(j!=0))printf("||\n||");   //分行打印矩阵
        }

    printf("====================================||\n");
    Sleep(3000);    //睡眠
    system("cls");   //清屏
    printf("请输入数字:\n");
    scanf("%d",&b);   //判断条件入口
    if((b%3)<1)printf("牛!\n");
    else fun(ask);
    printf("||====================================||\n");
    printf("||");
    for(i=0;i<=3;i++)
        for(j=0;j<=3;j++)
        {
            printf("    %d    ",ask[i][j]);
            if((j%3==0)&&(j!=0))printf("||\n||");  //分行打印矩阵
        }

    printf("====================================||\n");
    Sleep(3000);   //睡眠
    return 0;

虽然我也不知道这个代码能拿去干啥,我敲着玩的,随意随意啦。

作者:一将功成天下平
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值