济宁统计:求教c语言数组例子!!

来源:百度文库 编辑:高校问答 时间:2024/05/04 07:45:34
int a[11];
int i,j,t;
printf ("input 10 numbers:\n");
for (i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=1;j<=9;j++) 这里10个数为什么把j定义成<=9
for(i=1;i<=10-j;j++) 说实话这几层循环我都搞不懂
{t=a[i];a[i]=a[i+1];a[i+1]=t;}这里的t值 不理解
printf("the sorted number:\n");
for(i=1;i<11;i++) 这层循环又控制什么呢
printf("%d",a[i]);
我会酌情加分
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
表达式目的是?

int a[11];
int i,j,t;
printf ("input 10 numbers:\n");
for (i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=1;j<=9;j++) /*因为j是控制比较次数的,在冒泡法中,n个数只需比较n-1次啊
for(i=1;i<=10-j;i++) /*这是表示第j次的时候,这个数组中还需比较10-j次(前j次已经比较了)
{t=a[i];a[i]=a[i+1];a[i+1]=t;}/*这里的t值表示中间变量,即起到桥梁的作用,将a[i]和a[i+1]互相交换值
printf("the sorted number:\n");
for(i=1;i<11;i++) ?/*这层循环是控制输出,即循环输出,将排好序的数组从i=1到i=10逐个输出!
printf("%d",a[i]);
我会酌情加分
问题补充:{t=a[i];a[i]=a[i+1];a[i+1]=t;}
表达式目的是?答:此表达式的目的就是将a[i]和a[i+1]的值互相交换!!!

这是冒泡法排列数组```````

int a[11];
int i,j,t;
printf ("input 10 numbers:\n");
for (i=1;i<11;i++) 从键盘输入10个数
scanf("%d",&a[i]);
printf("\n");
for(i=1;j<=9;j++) 9是要比较的轮数
for(i=1;i<=10-j;j++) 要比较的次数
{t=a[i];a[i]=a[i+1];a[i+1]=t;}这里的t值是临时变量
printf("the sorted number:\n");
for(i=1;i<11;i++) 按顺序输出排列好数据
printf("%d",a[i]);

你这个是起泡法对10个数进行排序的例子!
排序原理为:
如果有 N 个数,就要进行 N-1 次比较,
在第1趟比较中要进行 N-1 次两两比较,依次类推
在第 M 趟比较中要进行 N-M 次比较.
以后问问题,完整点:这程序,不知道的人,也是看不懂的!
分数^^^^^^^^!
编程自己慢慢看:
这么简单也要送分给别人!
N 和 M 都是你上面的循环变量啊!

事实上根据提问中给出的程序,输出的结果和输入的数据是一样的.如果要实现排序,特别是这种常规的基于比较方法的排序,肯定要有比较了.

自己的事自己想办法
因为这不是一个太难的问题!!!