c语言5x5函数 c语言中5%怎么表示

c语言 用5x5数组实现打印数字图形#includestdio.h
void main(){//定义数字点阵
int zero[5][5]={1,1,1,1,1,
1,0,0,0,1,
1,0,0,0,1,
1,0,0,0,1,
1,1,1,1,1
}
int one[5][5]={0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0
}
int two[5][5]={1,1,1,1,1,
0,0,0,0,1,
1,1,1,1,1,
1,0,0,0,0,
1,1,1,1,1
}
int three[5][5]={1,1,1,1,1,
0,0,0,0,1,
1,1,1,1,1,
0,0,0,0,1,
1,1,1,1,1
}
int four[5][5]={1,0,0,0,1,
1,0,0,0,1,
1,1,1,1,1,
0,0,0,0,1,
0,0,0,0,1
}
int five[5][5]={1,1,1,1,1,
1,0,0,0,0,
1,1,1,1,1,
0,0,0,0,1,
1,1,1,1,1
}
int six[5][5]={1,1,1,1,1,
1,0,0,0,0,
1,1,1,1,1,
1,0,0,0,1,
1,1,1,1,1
}
int seven[5][5]={1,1,1,1,1,
0,0,0,1,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0
}
int eight[5][5]={1,1,1,1,1,
1,0,0,0,1,
1,1,1,1,1,
1,0,0,0,1,
1,1,1,1,1
}
int nine[5][5]={1,1,1,1,1,
1,0,0,0,1,
1,1,1,1,1,
0,0,0,0,1,
1,1,1,1,1
}
int temp = 0;//中间变量,用来存储输入的数字
printf("please input the number that you want display:");
while(1){//无限循环,可以多次输入,关掉程序即退出
scanf("%d",temp);//把输入值放入到中间变量中
DisplayNumber(temp);//调用函数
}
return;
}
void DisplayNumber(int b){//显示数字点阵函数
switch(b){
case 0:
show(zero);
break;
case 1:
show(one);
break;
case 2:
show(two);
break;
case 3:
show(three);
break;
case 4:
show(four);
break;
case 5:
show(five);
break;
case 6:
show(six);
break;
case 7:
show(seven);
break;
case 8:
show(eight);
break;
case 9:
show(nine);
break;
}
}
void show(int **c){//数组显示数字之精髓在此
for(int i=0;i5;i++){//外层循环 , 控制行数
for(int j=0;j5;j++){//内层循环,控制列数
if(c[i][j])//如果是1 , 就打印*
printf("*");
else
printf(" ");//如果是0,就打印一个空格
}
printf("\n");//每一行打完了打换行
}
printf("display completed!\n");//最后提示打完了,可以继续输入
}
C语言 怎么写出5X5行的数组 要求如下?题目是5x5数组,写成程序必须具有通用型 , 代码通过改行列常量,实现任意大小矩阵求对角线 。
通过对角线元素下标关系,可以获得所有对角线元素地址 , 并存放在指针数组中返回 。
通过元素地址与首地址差值及列数运算得其位置 。
注意:最大值存在多个相同元素 , 只返回找到的第一个元素位置 。
25个元素我直接用随机数填充数组,你需要手动输入,在我标注的地方写scanf语句 。
在输出所有对角线元素那里 , 中心元素被打印了2次(正反对角线算了2次),但不影响本题目,(地址运算),这题不需要打印所有对角线元素,你可直接把打印所有元素的那个函数注销掉,或者加一个中心地址判断 。
#includestdio.h
#includestdlib.h
#includetime.h
#define MRC 5//数组最大行列数
void pArrInfo(int a[][MRC]);
int **getP(int a[][MRC]);
int main()
{
int i=MRC*MRC,a[MRC][MRC],*p=a[0][0],**pa=NULL;
int sum=0,z,y,max,*mp=NULL;
srand(time(NULL));
while(i--)
*p=rand()%99+1,p++;//1~99 随机数填充数组 , 你想手动输入,在这里写scanf函数
max=a[0][0];
pArrInfo(a);
pa=getP(a);

推荐阅读