第一题、 编写程序:对100个数组元素依次赋值为:0, 2, 4……198,要求按逆序输出

第一题、 编写程序:对100个数组元素依次赋值为:0, 2, 4……198,要求按逆序输出,并且每行输出10个数字。
第二题、 编写程序:采用冒泡排序,对序列6, 5, 9, 4, 13, 1, 8按从大到小的顺序排列输出,要求每个数占6位,并且左对齐输出。
第三题、 有如下数列:
1, 3, 4, 7, 11……
该数列有一特点:前两项的值分别为1和3,从第三项开始,每一项的值为前两项之和。该序列被称为Fibonacci数列。请输出该数列的前12项,要求每行输出4个数。
第四题、 对第三题中的程序进行修改,去掉第一行的空行,
第一题的图

第1个回答  2011-04-21
/* 对100个数组元素依次赋值为:0, 2, 4……198,要求按逆序输出,并且每行输出10个数字 */

#include "stdio.h"

void main()
{
int arr[100];
int i;

for(i=0; i<100; i++)
arr[i] = 2 * i;

for(i=99; i>=0; i--)
{
printf("%4d", arr[i]);
if(i%10 == 0)
printf("\n");
}
}

/* 采用冒泡排序,对序列6, 5, 9, 4, 13, 1, 8按从大到小的顺序排列输出,要求每个数占6位,

并且左对齐输出 */

#include "stdio.h"

void BubbleSort(int arr[], int len)
{
int i, j;
int temp;

for(i=0; i<len-1; i++)
for(j=1; j<len-i; j++)
if(arr[j-1] < arr[j])
{
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}

void main()
{
int arr[] = {6, 5, 9, 4, 13, 1, 8};
int i, len = 7;

BubbleSort(arr, len);

for(i=0; i<len; i++)
{
printf("%-6d", arr[i]);
}
printf("\n");
}

/* 有如下数列:
1, 3, 4, 7, 11……
该数列有一特点:前两项的值分别为1和3,从第三项开始,每一项的值为前两项之和。该序列被称

Fibonacci数列。请输出该数列的前12项,要求每行输出4个数 */

#include "stdio.h"

void main()
{
int arr[12];
int i;

arr[0] = 1;
arr[1] = 3;

for(i=2; i<12; i++)
arr[i] = arr[i-1] + arr[i-2];

for(i=1; i<=12; i++)
{
printf("%6d", arr[i-1]);
if(i%4 == 0)
printf("\n");
}
}追问

那第四题呢

追答

我的第3题就没有多余空行,估计你是这样写的吧:
for(i=1; i<=12; i++)
{
if(i%4 == 0)
printf("\n");
printf("%6d", arr[i-1]);
}
这样就会在第一行生成多余的空行。我写的不会有,这个问题已在我的意料之中。

追问

把这个加到哪就是第三题?

本回答被提问者采纳
第2个回答  2011-04-21
int num[100];
int i = 0,j = 0;
for(i = 0;i < 100;i++){
num[i] = i*2;
}
for(i = 0;i < 10;i++){
for(j = 0;j < 10;j++){
printf("%d ",num[100-i*10-j-1]);
}
printf("\n");
}