本作业来自王化雨老师
二维图案已完成
1【程序题】
窄◣。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
if (n<= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
for (j = 1;j <= i;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n>0);
return 0;
}
2【程序题】
◢。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
if (n<= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
for (j = 1;j <= n-i;j++)
{
printf(" ");
}
for (j = 1;j <= i;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
3【程序题】
宽◣。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
if (n<= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
/*for (j = 1;j <= n-i;j++)
{
printf(" ");
}*/
for (j = 1;j<=2*i-1;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
4【程序题】
▲。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
if (n<= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
for (j = n-i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j<=2*i-1;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
5【程序题】
▼。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
if (n<= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = n;i > 0;i--)
{
int j;
for (j = 1;j <= n-i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
6【程序题】
◆菱形。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n <= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
for (j = n - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("*");
}
printf("\n");
}
n = n - 1;
for (i = n;i >0;i--)
{
for (j = 0; j <= n-i;j++)
{
printf(" ");
}
for (j = 1;j <=2*i-1;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
7【程序题】
沙漏形。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n <= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = n;i > 0;i--)
{
for (j = 0; j < n - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("*");
}
printf("\n");
}
for (i = 2;i <= n;i++)
{
int j;
for (j = n - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("*");
}
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
8【程序题】
◇中空菱形。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n <= 0)
{
printf("Bye!");
}
else
{
int i, j;
int m = 0;
for (i = 1;i <= n;i++)
{
int l=0;
for (j = 1;j <= 2 * n - 1;j++)
{
if (j == n - m || j == n + m)
{
printf("*");
l += 1;
}
else
{
printf(" ");
}
if (i == 1&&l==1)
{
break;
}
else if (l == 2)
{
break;
}
}m++;
printf("\n");
}
m = m - 2;
for (i = 1;i <= n-1;i++)
{
int l = 0;
for (j = 1;j <= 2 * n - 1;j++)
{
if (j == n - m || j == n + m)
{
printf("*");
l += 1;
}
else
printf(" ");
if (l == 2)
{
break;
}
else if (i == n - 1 && l == 1)
{
break;
}
}m--;
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
9【程序题】
数字◆。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;②能让图案正常显示的只能是1到9这九个数字,当用户在提示符size:后输入的值不在这个范围内,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n <= 0)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
for (j = n - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("%d",i);
}
printf("\n");
}
n = n - 1;int m=n;
for (i = n;i > 0;i--)
{
for (j = 0; j <= n - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("%d",m);
}
m=m-1;
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
10【程序题】
数字◆/纵向对称。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;②能让图案正常显示的只能是1到9这九个数字,当用户在提示符size:后输入的值不在这个范围内,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (0 >= n)
{
printf("Bye!");
}
else
{
int i;
for (i = 1;i <= n;i++)
{
int j;
for (j = n - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
if (j <= (((2 * i - 1) / 2) + 1))
{
printf("%d", j);
}
else
{
printf("%d", 2 * (((2 * i - 1) / 2) + 1) - j);
}
}
printf("\n");
}
n = n - 1;int m = n;
for (i = n;i > 0;i--)
{
for (j = 0; j <= n - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
if (j <= (((2 * i - 1) / 2) + 1))
{
printf("%d", j);
}
else
{
printf("%d", 2*(((2 * i - 1) / 2) + 1)-j);
}
}
m = m - 1;
printf("\n");
}
}
}
int main()
{
int n;
do
{
printf("size:");
scanf("%d", &n);
print(n);
} while (n > 0);
return 0;
}
11【程序题】
字母◆/横向对称。在提示符size:后输入英文字母字符,程序基于输入的字母字符,输出相应的图案,如下是输入为e时的图案:
注意:①在提示符size:后输入小(大)写字母则图案由小(大)写字母组成;②程序输出图案后,继续显示提示符size:,等待用户的下一次输入;②能让图案正常显示的只能是英文字母,当用户在提示符size:后输入的字符不是英文字母,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n >= 65 && n <= 90)
{
int i;
for (i = 1;i <= (n - 64);i++)
{
int j;
for (j = (n - 64) - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("%c", i + 64);
}
printf("\n");
}
n = n - 1;int m = (n - 64);
for (i = (n - 64);i > 0;i--)
{
for (j = 0; j <= (n - 64) - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("%c", i + 64);
}
m = m - 1;
printf("\n");
}
}
else if (n >= 97 && n <= 122)
{
int i;
for (i = 1;i <= (n - 96);i++)
{
int j;
for (j = (n - 96) - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("%c", i + 96);
}
printf("\n");
}
n = n - 1;int m = (n - 96);
for (i = (n - 96);i > 0;i--)
{
for (j = 0; j <= (n - 96) - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
printf("%c", i + 96);
}
m = m - 1;
printf("\n");
}
}
else
printf("Bye!");
}
int main()
{
char n;
do
{
printf("size:");
scanf("%c", &n);
getchar();
print(n);
} while ((n >= 65 && n <= 90) || (n >= 97 && n <= 122));
return 0;
}
12【程序题】
字母◆/纵向对称。在提示符size:后输入英文字母字符,程序基于输入的字母字符,输出相应的图案,如下是输入为E时的图案:
注意:①在提示符size:后输入小(大)写字母则图案由小(大)写字母组成;②程序输出图案后,继续显示提示符size:,等待用户的下一次输入;②能让图案正常显示的只能是英文字母,当用户在提示符size:后输入的字符不是英文字母,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n >= 65 && n <= 90)
{
int i;
for (i = 1;i <= (n - 64);i++)
{
int j;
for (j = (n - 64) - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
if (j <= (((2 * i - 1) / 2) + 1))
{
printf("%c", j + 64);
}
else
{
printf("%c", (2 * (((2 * i - 1) / 2) + 1) - j) + 64);
}
}
printf("\n");
}
n = n - 1;int m = (n - 64);
for (i = (n - 64);i > 0;i--)
{
for (j = 0; j <= (n - 64) - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
if (j <= (((2 * i - 1) / 2) + 1))
{
printf("%c", j + 64);
}
else
{
printf("%c", (2 * (((2 * i - 1) / 2) + 1) - j) + 64);
}
}
m = m - 1;
printf("\n");
}
}
else if (n >= 97 && n <= 122)
{
int i;
for (i = 1;i <= (n - 96);i++)
{
int j;
for (j = (n - 96) - i;j > 0;j--)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
if (j <= (((2 * i - 1) / 2) + 1))
{
printf("%c", j + 96);
}
else
{
printf("%c", (2 * (((2 * i - 1) / 2) + 1) - j) + 96);
}
}
printf("\n");
}
n = n - 1;int m = (n - 96);
for (i = (n - 96);i > 0;i--)
{
for (j = 0; j <= (n - 96) - i;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * i - 1;j++)
{
if (j <= (((2 * i - 1) / 2) + 1))
{
printf("%c", j + 96);
}
else
{
printf("%c", (2 * (((2 * i - 1) / 2) + 1) - j) + 96);
}
}
m = m - 1;
printf("\n");
}
}
else
printf("Bye!");
}
int main()
{
char n;
do
{
printf("size:");
scanf("%c", &n);
getchar();
print(n);
} while ((n >= 65 && n <= 90) || (n >= 97 && n <= 122));
return 0;
}
13【程序题】
字母沙漏形/横向对称。在提示符size:后输入英文字母字符,程序基于输入的字母字符,输出相应的图案,如下是输入为E时的图案:
注意:①在提示符size:后输入小(大)写字母则图案由小(大)写字母组成;②程序输出图案后,继续显示提示符size:,等待用户的下一次输入;②能让图案正常显示的只能是英文字母,当用户在提示符size:后输入的字符不是英文字母,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#include <stdio.h>
void print(int n)
{
int i, j;
if (n >= 65 && n <= 90)
{
int i;
for (i = 1;i <= (n - 64);i++)
{
int j;
for (j = 0;j <= i - 2;j++)
{
printf(" ");
}
for (j = 1;j <= (2 * ((n - 64) - (i - 1)) - 1);j++)
{
printf("%c", i + 64);
}
printf("\n");
}
n = n - 1;int m = 1;
for (i = (n - 64);i > 0;i--)
{
for (j = 0; j <= i - 2;j++)
{
printf(" ");
}
for (j = 1;j <= 2*m+1;j++)
{
printf("%c", i + 64);
}
m++;
printf("\n");
}
}
else if (n >= 97 && n <= 122)
{
int i;
for (i = 1;i <= (n - 96);i++)
{
int j;
for (j = 0;j <= i - 2;j++)
{
printf(" ");
}
for (j = 1;j <= (2 * ((n - 96) - (i - 1)) - 1);j++)
{
printf("%c", i + 96);
}
printf("\n");
}
n = n - 1;int m = 1;
for (i = (n - 96);i > 0;i--)
{
for (j = 0; j <= i - 2;j++)
{
printf(" ");
}
for (j = 1;j <= 2 * m + 1;j++)
{
printf("%c", i + 96);
}
m++;
printf("\n");
}
}
else
printf("Bye!");
}
int main()
{
char n;
do
{
printf("size:");
scanf("%c", &n);
getchar();
print(n);
} while ((n >= 65 && n <= 90) || (n >= 97 && n <= 122));
return 0;
}