C语言实例(40~49)
- 40.使用*号创建直角三角形图案
- (1)代码
- (2)运行结果
- 41.使用不同数字创建直角三角形图案
- (1)代码
- (2)运行结果
- 42.每行使用相同的字母,不同行使用不同字母,来创建直角三角形图案
- (1)代码
- (2)运行结果
- 43.用*号创建倒直角三角形
- (1)代码
- (2)运行结果
- 44.用不同数字创建倒直角三角形
- (1)代码
- (2)运行结果
- 45.*号创建金字塔(由空格数和*组成)
- (1)代码
- (2)运行结果
- 46.不同数字创建金字塔
- (1)代码
- (2)运行结果
- 47.*号实现倒金字塔
- (1)代码
- (2)运行结果
- 48.杨辉三角
- (1)代码
- (2)运行结果
- 49.弗洛伊德三角形
- (1)代码
- (2)运行结果
40.使用*号创建直角三角形图案
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
int main()
{
int i, j, rows;
printf("行数: ");
scanf("%d",&rows);
for(i=1; i<=rows; ++i)
{
//行数决定了每行有几个*,所以j<=i
for(j=1; j<=i; ++j)
{
printf("* ");
}
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
41.使用不同数字创建直角三角形图案
(1)代码
//41.使用不同数字创建直角三角形图案
#if 1
#include <stdio.h>
#include <windows.h>
#define _CRT_SECURE_NO_WARNINGS 0
int main()
{
int i, j, rows;
printf("行数: ");
scanf("%d",&rows);
for(i=1; i<=rows; ++i)
{
//行数决定了每行有几个数字,所以j<=i
for(j=1; j<=i; ++j)
{
//j决定的每行输出的数据是多少
printf("%d ",j);
}
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
42.每行使用相同的字母,不同行使用不同字母,来创建直角三角形图案
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
int main()
{
int i, j;
char input, alphabet = 'A';
printf("输入大写字母: ");
//input决定了在哪个字母结束
scanf("%c",&input);
//input-'A'+1 (输入字母到A之间的字母的个数,比如C到A是3)
for(i=1; i <= (input-'A'+1); ++i)
{
//j决定了每行输入几个字母
for(j=1;j<=i;++j)
{
//每行输出的字母
printf("%c ", alphabet);
}
++alphabet;
//每行输出完成后,换行
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
43.用*号创建倒直角三角形
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
int main()
{
int i, j, rows;
printf("行数: ");
scanf("%d",&rows);
for(i=rows; i>=1; --i)
{
for(j=1; j<=i; ++j)
{
printf("* ");
}
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
44.用不同数字创建倒直角三角形
(1)代码
#if 1
#include <stdio.h>
#include <windows.h>
int main()
{
int i, j, rows;
printf("行数: ");
scanf("%d",&rows);
for(i=rows; i>=1; --i)
{
for(j=1; j<=i; ++j)
{
printf("%d ",j);
}
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
45.号创建金字塔(由空格数和组成)
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
int main()
{
int i, space, rows, k=0;
printf("输入行数: ");
scanf("%d",&rows);
for(i=1; i<=rows; ++i, k=0)
{
//rows-i-1这里减1,就是图形整体右移了一个空格
for(space=1; space<=rows-i; ++space)//for(space=0; space<=rows-i-1; ++space)
{
printf(" ");
}
while(k != 2*i-1)
{
printf("*");
++k;
}
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
46.不同数字创建金字塔
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
int main()
{
int i, space, rows, k=0, count = 0, count1 = 0;
printf("行数: ");
scanf("%d",&rows);
for(i=1; i<=rows; ++i)
{
for(space=1; space <= rows-i; ++space)
{
printf(" ");
++count;
}
while(k != 2*i-1)
{
if (count <= rows-1)
{
printf("%d ", i+k);
++count;
}
else
{
++count1;
printf("%d ", (i+k-2*count1));
}
++k;
}
count1 = count = k = 0;
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
47.*号实现倒金字塔
(1)代码
#if 0
#include<stdio.h>
#include <windows.h>
int main()
{
int rows, i, j, space;
printf("行数: ");
scanf("%d",&rows);
for(i=rows; i>=1; --i)
{
//空格数(左边输出多少个空格)
for(space=0; space < rows-i; ++space)
printf(" ");
//左半边(输出多少个*)
for(j=i; j <= 2*i-1; ++j)
printf("* ");
//右半边(输出多少个*)
for(j=0; j < i-1; ++j)
printf("* ");
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
48.杨辉三角
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
int main()
{
int rows, coef = 1, space, i, j;
printf("行数: ");
scanf("%d",&rows);
//行数
for(i=0; i<rows; i++)
{
//每行前面的空格数
for(space=1; space <= rows-i; space++)
printf(" ");
for(j=0; j <= i; j++)
{
if (j==0 || i==0)
coef = 1;
else
coef = coef*(i-j+1)/j;
printf("%4d", coef);
}
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果
49.弗洛伊德三角形
(1)代码
#if 0
#include <stdio.h>
#include <windows.h>
#define N 10
int main()
{
int i;
int j;
for(i=1,j=1;i<=N;i++)
{
for(int l=1;l<=i;l++,j++)
printf("%5d",j);
printf("\n");
}
system("pause");
return 0;
}
#endif
(2)运行结果