有没有其他方法可以用更少的循环来完成这个程序。效率不高
#include <iostream>
using namespace std;
int main() {
int i,j,n,s;
cout<<"Enter the value of n";
cin>>n;
for(i=1;i<=n;i++){
for(s=1;s<=n-i;s++){
cout<<" ";
}
char ch=97;
int k=1;
for(j=1;j<=(i*2-1);j++) {
if (k%2!= 0){
cout <<ch;
ch++;
} else {
cout<<" ";
}
k++;
}
cout<<endl;
}
}
输出:
Enter the value of n6
a
a b
a b c
a b c d
a b c d e
a b c d e f
答案 0 :(得分:0)
请尝试以下代码 -
#include<stdio.h>
main()
{
int i,j,k,num;
printf("Enter the number of letter \n");
scanf("%d",&num);
for(i=0;i<num;i++)
{
for(j=num-1;j>i;j--)
printf(" ");
for(k=0;k<=i;k++)
printf("%c ",(97+k));
printf("\n");
}
}
示例输入和输出 -
sathish@ubuntu:~/c/basics$ ./a.out
Enter the number of letter
4
a
a b
a b c
a b c d
答案 1 :(得分:0)
#include <stdio.h>
int main(){
char *pat = "a b c d e f g h i j k l m n o p q r s t u v w x y z";
int i, n;
printf("input n : ");
scanf("%d", &n);
for(i = 1;i<=n;++i)
printf("%*s%.*s\n", n - i, "", (i << 1) - 1, pat);
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cout << "Enter the value of n : ";
cin >> n;
string spaces(n, ' ');
string pat("a b c d e f g h i j k l m n o p q r s t u v w x y z");
for(int i=1;i<=n;i++){
cout << spaces.substr(i);
cout << pat.substr(0, (i << 1) -1);
cout << endl;
}
}