当前位置: 代码迷 >> C语言 >> C语言指点
  详细解决方案

C语言指点

热度:133   发布时间:2007-04-20 12:16:18.0
C语言指点
1.用起泡法对n个数排序(由大到小)
2.按行顺序为一个5*5的二维数组a赋从1开始的奇数,然后输出该数组的左下半三角
3.求满足以下条件:1*1+2*2+3*3+……+n*n<=1000的最大n值
4.编写一个打印乘法九九表的程序
5.将一个存放10个整数的数组逆序存放
搜索更多相关的解决方案: C语言  逆序  打印  乘法  

----------------解决方案--------------------------------------------------------

1.编写一个打印乘法九九表的程序:
#include <stdio.h>

int main(void)
{
int i,j;

for (i=1;i<=9;i++)
{
for (j=1;j<=i;j++)
printf("%d*%d=%-3d",j,i,i*j);
printf("\n");
}
return 0;
}
2.将一个存放10个整数的数组逆序存放:
#include <stdio.h>
#define N 10
int main(void)
{
int a[N],i;
int temp;
printf("please input your date:\n");
for (i=0;i<N;i++)
scanf("%d",a+i);
printf("print the numbers:\n");
for (i=0;i<N;i++)
printf("%-5d",*(a+i));
printf("\n");
printf("print the sorted number:\n");
for (i=0;i<N/2;i++)
{
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
for (i=0;i<N;i++)
printf("%-5d",*(a+i));
printf("\n");
return 0;

}


----------------解决方案--------------------------------------------------------
3.求满足以下条件:1*1+2*2+3*3+……+n*n<=1000的最大n值

#include "stdio.h"
int main(void)
{
int a=1,n;
for (n=0; n<=1000; )
{
n=n+a*a;
a++;
}
printf ("%d",a);
return 0;
}

这样写不知道对不对...高手们看看
----------------解决方案--------------------------------------------------------
这个算法是对的,有一些巧妙的.
----------------解决方案--------------------------------------------------------
巧妙的?发来看看.....我对算法最头痛了
----------------解决方案--------------------------------------------------------
用起泡法对n个数排序(由大到小)
#include "stdio.h"
#define N 10
int main(void)
{
int a[N],i,j;
printf("please input the %d numbers:\n",N);
for (i=0;i<N;i++)
scanf("%d",a+i);
printf("print the before number :\n");
for (i=0;i<N;i++)
printf("%-5d",a[i]);
printf("\n");
printf("print the after number:\n");
for (i=1;i<N;i++)
for (j=0;j<N-i;j++)
{
if (a[j]<a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for (i=0;i<N;i++)
printf("%-5d",a[i]);
printf("\n");
return 0;
}

----------------解决方案--------------------------------------------------------

各位加点注释好不好?别光顾着写代码,你这样叫提问的怎么看啊?


----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
int ary[10],i,temp,j;
printf("请输入10个数字:");
for(i=0;i<10;i++)
scanf("%d",&ary[i]);
printf("排序前的数字\n");
for(i=0;i<10;i++)
printf("%-5d",ary[i]);
for(i=0;i<10-1;i++)
{
for(j=i;j<10;j++)
{
if(ary[i]<ary[j])
{
temp=ary[i];
ary[i]=ary[j];
ary[j]=temp;
}
}
}printf("\n");
printf("排序后的数字\n");
for(i=0;i<10;i++)
printf("%-5d",ary[i]);
printf("\n");
}
----------------解决方案--------------------------------------------------------
到编程先锋论坛上去看看吧!
http://www.bcxf.cn
----------------解决方案--------------------------------------------------------
回复:(xmf)到编程先锋论坛上去看看吧!http://www....

谢谢各位的指点,对于我这个新手来说,值得学习!
加点注释最好了


----------------解决方案--------------------------------------------------------
  相关解决方案