斗地主规则,我为地主,地主先出。怎么能让农民赢?不许三代一
地主牌:大王.3个k.3个Q.77.55.44.3
农民牌:aa.88.6
说反了
for循环,特征:可以规定循环次数,并且每次循环中,循环变量取值都可以不同,可以区分是第几次循环 图案有6行,因此for循环6次,循环变量i,每次循环完成打印一行,6次循环i的取值: 0,1,2,3,4,5 程序为 #define N 6 void main() { int i,j; for ( i=0;i<N;i++ ) { //循环N次,i每次加1,从0开始 ... //实现输出一行图案,根据i的取值而每行不同 printf("\n"); //每次循环最后输出一个换行 } } 分析一下每行图案结构: 前面有空格,然后是星号 空格每行的个数分别是: 0,1,2,3,4,5 正好是i的取值,因此上边程序...位置加一句 for ( j=0;j<i;j++)printf(" "); //输出i个空格,因为考虑到图案中星号后面还要添加空格因此printf空格数为两个,为1个单位1组 星号个数: 11,9,7,5,3,1 如果是: 1,3,5,7,9,11的顺序,可以用i*2+1算出来,现在顺序的计算方法是(N-i-1)*2+1 因此程序设计为: #include #define N 6 #define KG i #define XH ((N-i-1)*2+1) void main() { int i,j; for ( i=0;i<N;i++ ) { //循环N次,i每次加1,从0开始 for ( j=0;j<KG;j++ ) printf(" "); //两个空格 for ( j=0;j<XH;j++ ) printf("* "): //循环XH次,每次循环输出星号空格一次 printf("\n"); //每次循环最后输出一个换行,结束当前行 } } 只修改3个宏定义就可以得到常见的一些图案