一、提示输入一个整形字符,例如输入9,就会打印下面的效果,其实是锻炼for语句
-
#include <stdio.h>
-
-
int main()
-
{
-
unsigned int num;
-
char i, j;
-
printf("please input num:");
-
scanf("%d",&num);
-
-
-
for(i = 1; i <= num; i++)
-
{
-
j = i; //重点是理解这个,如果直接while(i != 0)
-
//会无限循环的 因为下面有i--;
-
while(j != 0)
-
{
-
printf("*");
-
j--;
-
}
-
printf("\n");
-
}
-
-
for(i = num; i >= 1; i--)
-
{
-
j = i;
-
while(j != 0)
-
{
-
printf("*");
-
j--;
-
}
-
printf("\n");
-
}
-
-
}
二、这个是对一的升级版,打印结果如下:
代码如下:
-
include <stdio.h>
-
-
int main()
-
{
-
unsigned int num, numk, numl;
-
char i, j, z;
-
printf("please input num:");
-
scanf("%d",&num);
-
-
numk = num/2;
-
-
-
for(i = 1; i <= num; i+=2)
-
{
-
j = i; //每一轮输出的“*”个数
-
-
numk = (num-i) / 2; //计算输出空格数
-
while(numk != 0) //输出空格
-
{
-
printf(" ");
-
numk--;
-
}
-
-
-
while(j != 0) //输出“*”
-
{
-
printf("*");
-
j--;
-
}
-
-
printf("\n");
-
}
-
-
}
三、杨辉三角,这个原理差不多,但是公式不是很会,所以百度了一个,例如输入一个:9
结果如下:
下边是代码;
-
#include<stdio.h>
-
void main()
-
{
-
int i,j,n,k;
-
char num;
-
printf("请输入一个正整数:");
-
scanf("%d",&n);
-
-
-
for(i=1;i<=n;i++)
-
{
-
-
k=1;
-
for(j=1;j<i;j++)
-
{
-
printf("%d ",k);
-
k=k*(i-j)/j;//每次要打印的下一个数等于前一个数乘以其所在行数和列数的差再除以其列数,就Ok了~!
-
}
-
printf("%ld",k);
-
printf("\n");
-
}
-
}
阅读(1421) | 评论(0) | 转发(0) |