这道编程题如何用c语言解答?

如题所述

代码资料:

#include "stdio.h"

int main(int argc,char *argv[]){

char t[100][2],i,j,k,n,m;

printf("please enter ch & n(char ch, int 0<n<41; '@' end)...\n");

for(n=0;n<100;n++){

if(scanf(" %c",t[n])!=1 || t[n][0]=='@')

break;

if(scanf("%d",t[n]+1)!=1 || t[n][1]<1 || t[n][1]>40){

printf("Input error, exit...\n");

return 0;

}

}

for(i=0;t[i][0]!='@';i++){

for(j=1;j<=t[i][1];j++){

for(k=0;k++<t[i][1]-j;putchar(' '));

for(m=j+j-1,k=0;k<m;k++)

putchar(k==0 || k==m-1 || j==t[i][1] ? t[i][0] : ' ');

putchar('\n');

}

putchar('\n');

}

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-22

#define N n

#define KG (N-i)

#define XH i*2


void main() {

  int i,j,k,n; char c,s[20];

  while ( 1 ) {

    scanf("%s",s); c=s[0]; if ( c=='@' ) break;

  scanf("%d",&n);

  for ( i=0;i<N;i++ ) {

    for ( j=0;j<KG;j++ ) printf(" ");

    printf("%c",c);

    k=(i==N-1)?(c):(' ');

    for ( j=1;j<XH;j++ ) printf("%c",k);

    if ( XH>0 ) printf("%c",c);

    printf("\n");

  }

}

}

相似回答