诚心请教2道C语言的题目

来源:百度知道 编辑:UC知道 时间:2024/09/23 04:43:04
本人刚学C语言不久,有2道题目不会,还望各位高手帮忙解答一下,本人80分全部献上,谢谢了
题目1:编写一个程序,求3X4数组的转置矩阵。要求在main函数里读数,在change函数里把矩阵转置。
题目2:用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母(如’a’变成’b’……….’z’变成’a’。其他字符不变)。用#define命令来控制是否要译成密码。例如:#define change 1
则输出密码。若#define change 0则不译成密码,按原码输出。

1.
#include <stdio.h>

int change(int a[4][3])
{
int i;
for (i=0;i<4;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
}

}
int main()
{
int a[4][3];
int i,j;

for (j=0;j<3;j++)
{
printf("Please enter 4 data for row %d of 3*4 matrix\n",j+1);
scanf("%d %d %d %d",&a[0][j],&a[1][j],&a[2][j],&a[3][j]);
}
printf("\n");

change(a);
return 0;
}

2.
#include <stdio.h>

#define CHANGE 1
int main()
{
char c[100];
char *p;

printf("input string\n");
memset(c , '\0', sizeof(c));
scanf("%s", &c);
p = c;

if(1 == CHANGE)
{
while(*p != '\0')
{
if(*p >='a' && *p <='y'||*p >='A'