生成 1 和 0 并以菱形存储在数组中
Generating 1s and 0s and storing in a diamond shape inside a array
我有一个作业,其中包括创建一段代码来生成和存储形状中的值:
1 1 0 1 1
1 0 0 0 1
0 0 0 0 0
1 0 0 0 1
1 1 0 1 1
我可能只使用数组和循环。没有必要打印数组,但我打印它只是为了检查我是否做对了。在我看来这应该可行,但它 returns 垃圾。该数组是二维的,必须具有相等的奇数大小。我实际上只有不到一周的编程经验。
main(){
int number;
printf("PLEASE GIVE ME A EVEN NUMBER FROM 3 TO 20\n");
scanf("%d", &number);
if(number%2==0)
{
printf("THIS WON'T FIT\n");
return 0;
}
int array1[number][number];
int lin, col, zero=1, count;
int ones=(number-1)/2;
for(lin=0;lin<number;lin++)
{
for(col=0;col<number;col++)
{
for(count=1; count<=ones;count++)
{
array1[lin][col]=1;
for(count=1;count<=zero;count++)
{
array1[lin][col]=0;
}
}
}
--ones;
zero+=2;
}
for(lin=0;lin<number;lin++)
{
for(col=0;col<number;col++)
printf("%d", array1[lin][col]);
printf("\n");
}
}
#include <stdio.h>
#include <stdlib.h>
int main(void){
int number;
printf("PLEASE GIVE ME A ODD NUMBER FROM 3 TO 19\n");
scanf("%d", &number);
if(number%2==0 || number < 3 || number > 19){
printf("THIS WON'T FIT\n");
return 0;
}
int center = number / 2;
int array[number][number];
for(int i = 0; i < number; ++i){
for(int j = 0; j < number; ++j){
array[i][j] = abs(i-center)+abs(j-center) > center;
printf("%d ", array[i][j]);
}
puts("");
}
return 0;
}
我有一个作业,其中包括创建一段代码来生成和存储形状中的值:
1 1 0 1 1
1 0 0 0 1
0 0 0 0 0
1 0 0 0 1
1 1 0 1 1
我可能只使用数组和循环。没有必要打印数组,但我打印它只是为了检查我是否做对了。在我看来这应该可行,但它 returns 垃圾。该数组是二维的,必须具有相等的奇数大小。我实际上只有不到一周的编程经验。
main(){
int number;
printf("PLEASE GIVE ME A EVEN NUMBER FROM 3 TO 20\n");
scanf("%d", &number);
if(number%2==0)
{
printf("THIS WON'T FIT\n");
return 0;
}
int array1[number][number];
int lin, col, zero=1, count;
int ones=(number-1)/2;
for(lin=0;lin<number;lin++)
{
for(col=0;col<number;col++)
{
for(count=1; count<=ones;count++)
{
array1[lin][col]=1;
for(count=1;count<=zero;count++)
{
array1[lin][col]=0;
}
}
}
--ones;
zero+=2;
}
for(lin=0;lin<number;lin++)
{
for(col=0;col<number;col++)
printf("%d", array1[lin][col]);
printf("\n");
}
}
#include <stdio.h>
#include <stdlib.h>
int main(void){
int number;
printf("PLEASE GIVE ME A ODD NUMBER FROM 3 TO 19\n");
scanf("%d", &number);
if(number%2==0 || number < 3 || number > 19){
printf("THIS WON'T FIT\n");
return 0;
}
int center = number / 2;
int array[number][number];
for(int i = 0; i < number; ++i){
for(int j = 0; j < number; ++j){
array[i][j] = abs(i-center)+abs(j-center) > center;
printf("%d ", array[i][j]);
}
puts("");
}
return 0;
}