1)实验代码

#include<stdio.h>
int main()
{
 int N,k,n,i,j,p,m,ge;
 char op;
 while(1){
  scanf("%d %c",&N,&op);
  if(N>0&&N<=1000)
     break;
 }
 k=N-1;
 for(i=3;k>=2*i;i+=2){
  k=k-2*i;
 }
 i-=2;
 n=i;
 for(j=0;i>=1;i-=2,j++){
  for(p=0;p<j;p++)
     printf(" ");
  for(p=0;p<i;p++)
     printf("%c",op);
     printf("\n");
 }
 ge=j-2;
 for(m=3;m<=n;m+=2,ge--){
  for(p=0;p<ge;p++)
  printf(" ");
  for(p=0;p<m;p++)
  printf("%c",op);
  printf("\n");
 }
 printf("%d",k);
 return 0;
}

2)设计思路

第一步:先根据题目找出符号排列成沙漏的关系;

第二步:然后写出关系式就可以了。

3)本体调试过程中碰到的问题及解决办法

注意1:

注意二:这道题我就是不知道这个关系是怎样的,所以不会写,解决办法:炒百度的。

4)运行结果截图