本文目录一览:
- 1、c语言__输入正数n 输出2n+1行的菱形图形
- 2、C语言编程,用键盘输入一个正数N,输出2N+1行的空心菱形
- 3、谁会用C语言编程 打印菱形(行=列=2n+1)
- 4、用c语言编写1!+3!+5!+...+2n+1!的值,急啊,谢谢啦
c语言__输入正数n 输出2n+1行的菱形图形
#include stdio.h
main()
{
int n,i,j;
scanf("%d",n);
for(j=0;jn+1;j++)
{
for(i=n;ij;i--)
printf(" ");
for(i=0;i2*j+1;i++)
printf("*");
printf("\n");
}
for(j=0;jn;j++)
{
for(i=0;i=j;i++)
printf(" ");
for(i=2*n;i1+2*j;i--)
printf("*");
printf("\n");
}
}
输入2,输出:
//*
/***
*****
/***
//*
输入3,输出:
///*
//***
/*****
*******
/*****
//***
///*
C语言编程,用键盘输入一个正数N,输出2N+1行的空心菱形
#include stdio.h
/* 能输出n个空格的函数 */
void repspace(int n) {
if (n == 0) return;
putchar(' ');
repspace(n-1);
}
/* b:第一个数字前有几个空格 a:第一个数字后有几个空格 */
/* e:输出到第几行为止 low:0代表输出的是上面那行,1代表是下面那行 */
void prline(int b, int a, int n, int e, int low) {
repspace(b);
putchar('0'+n);
if (a 0) {
repspace(a);
putchar('0'+n);
}
putchar('\n');
if (low == 1) return;
if (e == n) return;
if (low == 0)
prline(b-1, a+2, n+1, e, 0);
prline(b, a, n, e, 1);
}
void pr(int n) {
prline(n, -1, 1, n+1, 0);
}
int main()
{
int n;
scanf("%d", n);
pr(n);
return 0;
}
可以知道每行有两个数值,在第一个数字的“前面有几个空格”和“后面有几个空格”。如果后面大于0个空格,就说明数字要输出两个(一前一后)
然后还有一上一下,现在输出了 2 2 等会儿还要 2 2,这样的结构,呃,
我感觉我是不是又写天书一样的代码出来了
谁会用C语言编程 打印菱形(行=列=2n+1)
我会,具体代码如下:#include stdio.hvoid main()
{
int i;
int j;
int k; for(i=0;i=3;i++)
{
for(j=0;j=2-i;j++)
print(" ");
}
for(k=0;k=2*i;k++)
printf("*");
print("\n");
}
for(i=0;i=2;i++)
{
for(j=0;j=i;j++)
printf("");
for(k=0;k4-2*i;k++)
printf("*");
printf("\n");
}
用c语言编写1!+3!+5!+...+2n+1!的值,急啊,谢谢啦
循环吧
#include stdio.h
int main(void)
{
int i,j; //两个循环变量
int n; //输入个数变量
int num,res=0 //num是每一步的加数,res是总和
scanf("%d",n); //先输入n,个数
for (i=0;i=n;i++) //循环,用来计算第一个到第n个的和
{
num=1;
for(j=1;j=(2*i+1);j++) //循环,用来计算每一个加数
{
num*=j; //累计乘积
}
res=res+num; //把每一个加数累加起来
}
printf("1!+3!+5!+...+2%d+1!=\n",n); //打印“1!+3!+5!+...+201!="(我假设你把n设为100)
printf("%d",res); //打印最终结果
}
一楼比我的好,递归省内存。我的纯是傻瓜版