在这里,根据给定的问题模式,需要使用递归方法显示。
递归函数是调用n次的函数。程序中可以有n个递归函数。使用递归函数的问题是它们的复杂性。
START Step 1 -> function int printpattern(int n) If n>0 Printpattern(n-1) Print * End IF End Step 2 -> function int pattern(int n) If n>0 pattern(n-1) End IF Printpattern(n) Print \n End STOP
#include <stdio.h>
int printpattern(int n) {
if(n>0) {
printpattern(n-1);
printf("*");
}
}
int pattern(int n) {
if(n>0) {
pattern(n-1); //will recursively print the pattern
}
printpattern(n); //will reduce the n recursively.
printf("\n"); //for new line
}
int main(int argc, char const *argv[]) {
int n = 7;
pattern(n);
return 0;
}输出结果
如果我们运行上面的程序,那么它将生成以下输出。
* ** *** **** ***** ****** *******