int pdata=1; void rprint(int n,int m){ int i; for(i=1;i<=n;i++){printf(" ");} for(i=1;i<=m;i++){printf("%d",pdata);pdata=(pdata+2)%10;} printf("\n"); if(n>0){ rprint(n-1,m+2); for(i=1;i<=n;i++){printf(" ");} for(i=1;i<=m;i++){printf("%d",pdata);pdata=(pdata+2)%10;} printf("\n"); } } int main(void){ int base; printf("input a odd number:\n"); scanf("%d",&base); printf("-------------------\n"); rprint(base/2,1); }
FOR(XXX){ FOR(XXX) if(XXX) printf("*"); else printf(" ");}这是将回圈写在一起(一个回圈也可以)....主要列印的条件在判断式的写法......或是用...如果你是用....FOR(XXX) <-我是上层{ if(XXX) printf("*"); else printf(" ");}FOR(XXX) ....;<-中间再一层FOR(XXX)<-我是下层{ if(XXX) printf("*"); else printf(" ");}
#include "stdafx.h"#include "iostream"int _tmain(int argc, _TCHAR* argv[]){ int i,j,k,x; std::cout <<"请输入*个数"; std::cin >>x;for(j=0;j<=x*2-2;j++){ for(i=1;i<=x;i++) { if(j<=x-1) { if(i<x-j) std::cout<<" "; else std::cout<<"*" <<" "; } else { if(i<=j-x+1) std::cout<<" "; else std::cout<<"*" <<" "; } } std::cout<<"\n";}system("pause"); return 0;}