啦啦!记录学校C语言作业

Posted 是七喜呀!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了啦啦!记录学校C语言作业相关的知识,希望对你有一定的参考价值。

一级目录

二级目录

三级目录

第四章

第五章 数组

1.使用for循环输入10个整数存入一维数组a中,统计奇数和偶数的个数。
#include<stdio.h>

int main()
{
	int i;
	int a[10];
	int count1 = 0,count2 = 0;
	//count1表示记录偶数个数
	for (i = 0; i < 10; i++)
	{
		scanf("%d",&a[i]);
		if (a[i] % 2 == 0)
		{
//当然你也可以在这个for循环外面再用一个for进行统计
//奇数和偶数的个数
			count1++;
		}
		else
			count2++;
	}
	
	//输出
	printf("奇数有%d个\\n偶数有%d个",count2,count1);
	return 0;
}
2.使用for循环输入10个整数存入一维数组a中,找出其中的最大数及其下标位置、最小数及其下标位置。若存在相同的则报告首次出现的最大数或最小数。
#include<stdio.h>

int main()
{
	int a[10];
	int i;
	int max,min,maxr,minc;//定义变量
	for (i = 0; i < 10; i++)
	{
		scanf("%d",&a[i]);
	}
	
	max = a[0];
	min = a[0];
	maxr = 0;
	minc = 0;//当然你也可以连等于max = min = a[0]; maxr = minc = 0;
	for (i = 0; i < 10; i++)
	{
		if (max < a[i])//最大值不是我们假设的数字
		{
			max = a[i];
			maxr = i;
		}
		if (min > a[i])//这边同理
		{
			min = a[i];
			minc = i;
		}
	}

	//输出数据
	printf("最大数=%d 下标=%d\\n最小数=%d 下标=%d",max,maxr,min,minc);
	return 0;

}
4.使用for循环输入10个整数存入一维数组a中,查找指定数是否存在(输出“存在”或“不存在”)。
#include<stdio.h>

int main()
{
	int i;
	int a[10];
	int n;
	for (i = 0; i < 10; i++)
	{
		scanf("%d",&a[i]);
	}//先录入数组中的元素
	scanf("%d",&n);//这边录入n值

	for (i = 0; i < 10; i++)//
	{
		if (n == a[i])
		{
			printf("存在");
			return 0;//结束函数
		}
			
	}
	//如果上面的for循环找不到n那么这边直接打印不存在
	//此时i = 10
	printf("不存在");
	return 0;
}
5.使用for循环实现: 将裴波那契数列的前12项存入一维数组a中并以4个一行的形式输出,每个数据占4个位置且右对齐。
#include<stdio.h>
int main()
{
	int a[12] = { 1,1,2,3,5,8,13,21,34,55,89,144};
	int i;
	int count = 0;//计数
	for (i = 0 ; i < 12; i++)
	{
		printf("%4d",a[i]);
		count++;
		if (count % 4 == 0)//能被四整除就换行
			printf("\\n");
	}
	return 0;
}


6.使用for循环实现: 输入10个整数存入一维数组a中,将数组中的数据循环左移一个位置后输出,每个数据后跟一个空格。
#include<stdio.h>
int main()
{
	int a[10];
	int i;
	int tmp;
	//录入数据
	for (i = 0; i < 10; i++)
	{
			scanf("%d",&a[i]);
	}
	tmp = a[0];//记录数组第一个元素
	for (i = 1; i < 10; i++)
	{
		a[i - 1] = a[i];
	}
	a[9] = tmp;//改变最后一个元素的值
	for (i = 0; i < 10; i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}


7.使用for循环实现: 输入10个整数存入一维数组a中,将数组中的数据循环右移一个位置后输出(每个数据后跟一个空格)。
#include<stdio.h>
int main()
{
	int a[10];
	int i;
	int tmp;
	//录入数据
	for (i = 0; i < 10; i++)
	{
			scanf("%d",&a[i]);
	}
	tmp = a[9];//记录数组最后一个元素
	for (i = 9; i > 0; i--)
	{
		a[i] = a[i - 1];
	}
	a[0] = tmp;//改变第一个元素的值
	for (i = 0; i < 10; i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}


8.使用for循环实现: 输入10个成绩模拟10位选手的最后得分,输出各选手的名次(每个数据后跟一个空格)。
#include<stdio.h>
int main()
{
	int a[10];
	int b[10] = { 1,1,1,1,1,1,1,1,1,1};//建立一个数组,用空间换取时间
	int i,j;
	//录入数据
	for (i = 0; i < 10; i++)
	{
			scanf("%d",&a[i]);
	}
	
	for (i = 0; i < 10; i++)
	{
		
		for (j = 0; j < 10; j++)
		{
			if (a[i] < a[j])
				b[i]++;//名次改变
		}
	}
	for (i = 0; i < 10; i++)
	{
		printf("%d ",b[i]);
	}
	return 0;
}


9.使用for循环实现: 输入10个整数存入一维数组a中,将数组中的元素升序排序后输出(每个数据后跟一个空格)
//法一:冒泡排序
#include<stdio.h>
int main()
{
	int a[10];
	int i,j;
	int tmp;
	//录入数据
	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])
			{
				//交换
				tmp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = tmp;
			}
		}
	}
	for (i = 0; i < 10; i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}
```c

```c
//法二:通过试错改正思路
#include<stdio.h>

int main()
{
	int i,j;
	int a[10];
	for (i = 0 ; i < 10; i++)
	{
		scanf("%d",&a[i]);
	}//录入数据
	for(i = 0; i < 10; i++)//2
	{
		for (j = 0; j < 9; j++)
		{
			if (a[j] > a[j + 1])//
			{
				int tmp = a[j + 1];
				a[j + 1] = a[j];
				a[j] = tmp;
			}
		}
	}
	
	//输出数据
	for(i = 0; i < 10; i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}
10.使用for循环实现: 输入16个整数组成4*4的矩阵,输出矩阵的所有元素之和。
#include<stdio.h>

int main()
{
	int a[4][4];
	int sum = 0;
	//第一个中括号代表的为行数,第二个代表的为列数,其中第一个括号中的内容可以省略
	int i,j;
	for (i = 0 ;i < 4; i++)//控制行
	{
		for (j = 0; j < 4; j++)//控制列
		{
			scanf("%d",&a[i][j]);
		}
	}
	//求和部分
	for (i = 0 ;i < 4; i++)
	{
		for (j = 0; j < 4; j++)
		{
			sum += a[i][j];//等价于sum = sum + a[i][j];
		}
	}
	//输出结果部分
	printf("%d",sum);
	return 0;

}
15.相信看了16题你应该就有思路了
16.使用for循环实现: 输入16个整数组成4*4的矩阵,输出最小值及其所在位置。若有多个最小值则报告首次出现的位置。
#include<stdio.h>

int main()
{
	int a[4][4];
	int i,j;
	int min,row,col;
	for (i = 0; i < 4; i++)
	{
		for (j = 0; j < 4; j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	min = a[0][0];
	row = col = 0;
	for (i = 0; i < 4; i++)
	{
		for (j = 0; j < 4; j++)
		{
			if (min > a[i][j])//我们假设的不是最小值,那改变最小值
			{
				min = a[i][j];
				row = i;
				col = j;
			}
		}
	} 
	//输出
	printf("第%d行第%d列\\n%d",row,col,min);
	return 0;

}

以上是关于啦啦!记录学校C语言作业的主要内容,如果未能解决你的问题,请参考以下文章

喜报:星澜学校SPARK啦啦队出征省运会斩获佳绩

作业1

啦啦~~~记录江苏省C等级考试相关题目

第六次作业

自我介绍(作业)

第三次作业简历