C语言小课题

来源:百度知道 编辑:UC知道 时间:2024/06/23 05:09:36
位图数据90度旋转显示
添加文件“test2.txt”,呼叫此位图,通常显示了以后,90度旋转,然后显示旋转后图形
位图尺寸:高50,长64
旋转前:
(文件我可以邮箱发送),会解答的请留下联系方式。
图形为数组图形,答案就是2维数组翻转,求更简洁的答案,奉上全部分数求解

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE* fp ;
char ch;
char src[50][64]; // 原矩阵
char dest[64][50];// 目标矩阵
char map[64*50];
int index;
int i, j;
// 打开文件
fp = fopen("1.txt", "r");
if (fp != NULL)
{
// 读取文件到矩阵数组
ch=fgetc(fp);
index = 0;
while(ch!=EOF)
{
map[index++] = ch;
// 这个地方是换行符
if (index % 64 == 0)
ch = fgetc(fp);
ch=fgetc(fp);
}
fclose(fp);
}
else
{
printf("1.txt 不能被打开");
}

// 将map填充到src中
index = 0;
for (i = 0; i < 50; i++)
{
for (j = 0; j < 64; j++)
{
src[i][j] = map[index++];
}
}
// 转换矩阵
for (i = 0; i < 64; i++)
{
for (j = 0; j < 50; j++)
{
dest[i][j] = src[50-1-j]