C语言程序设计实验报告——实验六

实验六 数组

一、实验目的及要求

1.掌握一维数组的定义,赋值,数组及其元素的引用。
2.掌握二维数组的定义,赋值,数组及其元素的引用。

二、实验环境

硬件要求:计算机一台。
软件要求:Windows操作系统,Dev-C++或VC++6.0编译环境

三、实验内容

实验题目(1)

利用数组来处理斐波那契数列问题。

斐波那契数列应该是耳熟能详的了,属于常见题型,难度系数不高,由于斐波那契数列的无穷性,博主在这里只取了数列的前20项。

源代码如下:

#include<stdio.h>
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;
}


实验题目(2)

利用冒泡法对10个整数进行排序,要求利用数组存放整数。

冒泡法应该是再熟悉不过的排序方法了,至于难度,因人而异,话不多说,上代码。

代码如下:

#include<stdio.h>
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;
}


实验题目(3)

将一个二维数组行列元素互换,存到另外一个二维数组中。

博主表示,这个算法,也不是很难,初学者应该很容易就能上手,如果对线性代数有了解的就更容易了。

源代码如下:

#include<stdio.h>
#include<math.h>
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;
}


实验题目(4)

输入一行元素,统计其中有多少个单词,单词之间用空格分开。

这道题目,博主认为不要钻牛角尖,这些入门的实验题目还不至于智能到分辨是否是英语单词的地步,所以怎么简单怎么想吧😂。最简单的就是输入一行字符,以空格作为分割单词的标准,然后计数再输出就行了。

源代码如下:

#include <stdio.h>
//输入一行字符,统计其中有多少单词,单词之间用空格分隔开
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;
}
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刚入坑的软件猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值