C语言编程入门必做题-画字符圈圈
2006-08-31 00:33
337 查看
3. 打印一个 N*N 的方阵,N为每边字符的个数(3<N<20), 要求最外一层为"T", 第二层为"J", 从第三层起每层依次打印数字 1,2,3,...
(右图以N为15为例)
TTTTTTTTTTTTTTT
TJJJJJJJJJJJJJT
TJ11111111111JT
TJ12222222221JT
TJ12333333321JT
TJ12344444321JT
TJ12345554321JT
TJ12345654321JT
TJ12345554321JT
TJ12344444321JT
TJ12333333321JT
TJ12222222221JT
TJ11111111111JT
TJJJJJJJJJJJJJT
TTTTTTTTTTTTTTT
这个题目已开始,我脑子里翻了老半天,都没有翻清楚,到底应该怎么写表达式,后来,突然想起来了,这个也很简单的,我解的时候是这样的,把这个图案看成是由对角线切割的四块三角形,每个三角形区域可以用直线的表达式来框定,这么一想呢,思路就清楚了。
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#include "stdio.h"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#include "stdlib.h"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int main(){
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int n,i,j;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("Please insert N:/n");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
scanf("%d",&n);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (n<=3 || n>=20)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("N must be meet 3<N<20/n");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
return 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
for (i=0; i<n; i++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
for(j=0; j<n; j++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (i==0 || i == n-1 || j==0 || j == n-1)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("T");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
continue;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (i==1 || i ==n-2 || j==1 || j == n-2)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("J");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
continue;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if ( j <= n - i -1)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (j <= i){
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",j-1);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
else {
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",i-1);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
else{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (j <= i)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",n-i-2);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
else
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",n-j-2);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("/n");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
return 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
(右图以N为15为例)
TTTTTTTTTTTTTTT
TJJJJJJJJJJJJJT
TJ11111111111JT
TJ12222222221JT
TJ12333333321JT
TJ12344444321JT
TJ12345554321JT
TJ12345654321JT
TJ12345554321JT
TJ12344444321JT
TJ12333333321JT
TJ12222222221JT
TJ11111111111JT
TJJJJJJJJJJJJJT
TTTTTTTTTTTTTTT
这个题目已开始,我脑子里翻了老半天,都没有翻清楚,到底应该怎么写表达式,后来,突然想起来了,这个也很简单的,我解的时候是这样的,把这个图案看成是由对角线切割的四块三角形,每个三角形区域可以用直线的表达式来框定,这么一想呢,思路就清楚了。
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#include "stdio.h"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#include "stdlib.h"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int main(){
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
int n,i,j;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("Please insert N:/n");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
scanf("%d",&n);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (n<=3 || n>=20)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("N must be meet 3<N<20/n");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
return 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
for (i=0; i<n; i++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
for(j=0; j<n; j++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (i==0 || i == n-1 || j==0 || j == n-1)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("T");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
continue;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (i==1 || i ==n-2 || j==1 || j == n-2)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("J");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
continue;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if ( j <= n - i -1)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (j <= i){
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",j-1);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
else {
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",i-1);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
else{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
if (j <= i)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",n-i-2);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
else
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("%d",n-j-2);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
printf("/n");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
return 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
}
相关文章推荐
- C语言编程入门必做题-给定等式,猜字母代表的数字
- C语言编程入门必做题-编程解决推理题
- C#编程入门--将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符
- 讲解C语言编程中指针赋值的入门实例
- Linux平台编程新手入门 C语言中的移位操作
- C语言编程入门——if的用法
- C语言编程入门——循环(上)
- C语言编程4 ⼀维数组、字符数组
- C语言编程入门——程序练习(上)
- 程序设计入门——C语言 翁恺 第1周编程练习
- C语言编程入门——综合练习(二)
- 关于键盘输入、缓冲输入、读入字符、解析C语言编程对缓冲区的理解
- 程序设计入门——C语言 翁恺 第5周编程练习
- C语言编程入门——循环(下)
- 编程入门:浅谈C语言的可变参数
- C语言图形编程【1】:字符屏幕
- Linux下的C语言编程——合并两个字符集合
- [c语言编程]排序法汇总-入门级别(1)
- C语言学习入门 (四) 字符串、字符串数组、字符和字符串相关函数
- C语言编程入门——链表