1.掌握一维数组的定义,赋值,数组及其元素的引用。
2.掌握二维数组的定义,赋值,数组及其元素的引用。
硬件要求:计算机一台。
软件要求:Windows操作系统,Dev-C++或VC++6.0编译环境
利用数组来处理斐波那契数列问题。
斐波那契数列应该是耳熟能详的了,属于常见题型,难度系数不高,由于斐波那契数列的无穷性,博主在这里只取了数列的前20项。
源代码如下:
#include
int main()
{
int a[20],i;
for(i=1;i<=20;i++)
{
if(i<=2)
{
a[i]=1;
printf("%d\n",a[i]);
}
else
{
a[i]=a[i-2]+a[i-1];
printf("%d\n",a[i]);
}
}
return 0;
}
利用冒泡法对10个整数进行排序,要求利用数组存放整数。
冒泡法应该是再熟悉不过的排序方法了,至于难度,因人而异,话不多说,上代码。
代码如下:
#include
int main() {
int a[10];
int i,j,temp;//i为总共进行判断的次数,j为每一次进行判断的次数。
for(i=0; i<10; i++) {
scanf("%d",&a[i]);
}
for(i=0; i<9; i++)
for(j=0; j<9-i; j++)
if(a[j]>a[j+1]) {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
for(i=0; i<10; i++)
printf("%d\n",a[i]);
printf("\n");
return 0;
}
将一个二维数组行列元素互换,存到另外一个二维数组中。
博主表示,这个算法,也不是很难,初学者应该很容易就能上手,如果对线性代数有了解的就更容易了。
源代码如下:
#include
#include
int main()
{
int a[2][4]={{13,15,79,46},{76,46,49,23}};
int b[4][2],i,j;
printf("a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=3;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("b:\n");
for(i=0;i<=3;i++)
{
for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");
}
return 0;
}
输入一行元素,统计其中有多少个单词,单词之间用空格分开。
这道题目,博主认为不要钻牛角尖,这些入门的实验题目还不至于智能到分辨是否是英语单词的地步,所以怎么简单怎么想吧。最简单的就是输入一行字符,以空格作为分割单词的标准,然后计数再输出就行了。
源代码如下:
#include
//输入一行字符,统计其中有多少单词,单词之间用空格分隔开
int main() {
int i,num=0,word=0;
char str[80];
gets(str);
for(i=0; (str[i])!='\0'; i++)
if(str[i]==' ')
word=0;
else if(word==0) {
word=1;
num++;
}
printf("there is %d words in this line;\n",num);
return 0;
}