C语言中运用函数输出三角形星号

2024-11-23 00:51:07
推荐回答(3个)
回答1:

无参函数
#include 
#include 
#define n 3
void f()
{
int i,j,k;
for(i=1;i<=2*n+1;i++)
   {
    j=abs(n+1-i);
    for(k=1;k<=j;k++)
    printf(" ");
    for(k=1;k<=2*n+1-2*j;k++)
    printf("*");
    printf("\n");
   } 
}
int main()
{
f();
}
有参函数
#include 
#include 
void f(int n)
{
int i,j,k;
for(i=1;i<=2*n+1;i++)
   {
    j=abs(n+1-i);
    for(k=1;k<=j;k++)
    printf(" ");
    for(k=1;k<=2*n+1-2*j;k++)
    printf("*");
    printf("\n");
   } 
}
int main()
{
f(3);
}

回答2:

#include
void f();
void g(int );
main()
{
int k;
printf("无参数:\n");
f();
printf("\n有参数:\n输入图形的行数(奇数)\n");
scanf("%d",&k);
g(k);
}
void f()
{
int i,j,n=3,m=1;
for(i=0;i<4;i++)
{
for(j=0;j printf(" ");
for(j=0;j<7-n*2;j++)
printf("*");
for(j=0;j printf(" ");
printf("\n");
n--;

}
for(i=0;i<3;i++)
{
for(j=0;j printf(" ");
for(j=0;j<7-2*m;j++)
printf("*");
for(j=0;j printf(" ");
printf("\n");
m++;
}
}

void g(int k)
{
int i,j,n=(k-1)/2,m=1;
for(i=0;i {
for(j=0;j printf(" ");
for(j=0;j printf("*");
for(j=0;j printf(" ");
printf("\n");
n--;

}
for(i=0;i {
for(j=0;j printf(" ");
for(j=0;j printf("*");
for(j=0;j printf(" ");
printf("\n");
m++;
}

}
我也不知道 我这样理解对不对。。。

回答3:

没分没法答