C语言 帮个忙 秒采纳

编程题

1) 在输入的一批正整数中求出最大者(输入0结束)。

2) 从键盘输入一个数n,打印高度为2*n-1行的菱形,例如:n=4时,打印图形如下:

*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*

上一个你还没采纳呢
1)int max=0;
int n;
do{
scanf("%d",&n);
if(max<n)max=n;

}while(n!=0)追问

采纳了 亲

追答

第一个刚修改了
第二有稍复杂点,先吃饭去。

追问

谢了哈

追答

回来了第二个给你补上:主函数什么的自己完成
void soildDiamond(int n)
{ int width=n,height=n;
for(int x=0;x=(x-width/2)*height))
printf("*");
else printf(" ");
}
printf();
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-14
#include<stdio.h>
int main()
{
int n,max=0;
while(scanf("%d",&n),n!=0)
{
if(max<n)
{
max=n;
}
}
printf("%d\n",max);
return 0;
}

#include <stdio.h>
#include <math.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=-(n-1);i<n;++i)
{
for(j=0;j<2*n-1-abs(i);++j)
{
if(j<abs(i))
printf("\040");
else
printf("*");
}
printf("\n");
}
return 0;
}
第2个回答  2012-04-14
这是以前编好的
#include<iostream>
using namespace std;

void main()
{
int i,j,k,n;
cout<<"请输入你的边长n(为几颗星?奇数):";
cin>>n;
for(i=1;i<=n;i++)
{
if(i<=(n+1)/2)
{
for(j=i;j<(n+1)/2;j++)
{
cout<<' ';
}
for(k=0;k<2*i-1;k++)
{
cout<<'*';
}
}
if(i>(n+1)/2)
{
for(j=(n+1)/2;j<i;j++)
{
cout<<' ';
}
for(k=0;k<2*(n-i)+1;k++)
{
cout<<'*';
}
}

cout<<endl;
}
}
第3个回答  2012-04-14
#include <stdio.h>
#define N 500
int main()
{
int n, i, q = 0,j;/* i为行数,j为列数,q为总行书及最大列数*/
char a[N];
printf("please enter a num for n:\n");
scanf("%d",&n);
q = n * 2;

for(i = 0; i < q; i++)
{
for(j = 0; j < q; j++)
{
/* 初始化为空格 */
a[j] = ' '; //忘记这样赋值对不对了,单个char很少用了
}
if(i < n)
{
for(j = 0; j < q; j++)
{
if (j > (n - i - 1) && j < (n + i + 1))
a[j] = '*';
}
}
else
{
for(j = 0; j < q; j++)
{
if (j > ( i - n + 1) && j < (3 * n - i - 1))
a[j] = '*';
}
}
for(j = 0; j < q; j++)
printf("%c",a[j]);
printf("\n");
}
return 1;
}
编了一个最老实的,简便方法自己开发吧。
相似回答
大家正在搜