2024-01-16作业

本文介绍了四个编程作业题目,涉及数组中奇数偶数元素的求和、无重复三位数的生成、百钱买百鸡的数学问题以及数组的逆置。这些题目展示了基础的编程技能和数学思维在实际问题中的应用。
摘要由CSDN通过智能技术生成

作业1:求和

作业要求:

给定一个数组int arr[] = {3,5,6,8,3,1,2,4,5},求数组中所有下标为奇数的元素&&元素为偶数的和。

运行代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int arr[] = {3,5,6,8,3,1,2,4,5};
	int len = sizeof(arr)/sizeof(arr[0]);
	int i = 0;
	int sum =0;
	for(i=0;i<len;i++)
	{
		if(i%2 == 1)
		{
			if(arr[i]%2 == 0)
			{
				sum += arr[i];
			}
		}
	}
	printf("和为%d\n",sum);
	return 0;
}

最终效果:

作业2:无重复三位数

作业要求:

有 1、2、3、4个数字,能组成多少互不相同且无重复的三位? 都是多少?

运行代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int arr[4] = {1,2,3,4};	
	int arr1[3] = {0};
	int arr2[2] = {0};
	int i = 0;
	int j = 0;
	int k = 0;
	int num = 0;
	int num1 = 0;
	int num2 = 0;
	//思路:
	//每次挑出3个元素,for循环4次,
	//每三个元素进行排序

	for(i = 0;i < 4;i++)
	{  
		num1 = 0;
		arr1[0] = 0; arr1[1] = 0;arr1[2] = 0;
		for(j = 0;j<4;j++)
		{
			if(i != j)
			{
				arr1[num1] = arr[j];
				num1++;
			}
		}
		for(j=0;j<3;j++)
		{
			num2 = 0;
			for(k=0;k<3;k++)
			{
				if(j!=k)
				{
					arr2[num2] = arr1[k];
					num2++;
				}
			}	
			printf("%d\n",(arr1[j]*100+arr2[0]*10+arr2[1]));
			printf("%d\n",(arr1[j]*100+arr2[1]*10+arr2[0]));
			num+=2;
		}
	}
	printf("num = %d\n",num);
	return 0;
}

最终效果:

作业3:百钱买百鸡

作业要求:

      百钱买百鸡问题:我国古代数学家张丘建在《算经》一书中曾提出过著名的 “百钱买百鸡” 问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

运行代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{

	int i = 0;    //老鸡数量    5元一只
	int j = 0;    //母鸡数量    3元一只
	int k = 0;    //小鸡数量    1元三只
	
	for(i = 0;i<=20;i++)   //购买范围:  0~20
	{
		for(j = 0;j<=33;j++) //购买范围: 0~33
		{
			for(k = 0;k<=100;k+=3)//购买范围: 0~100
			{
				if((i*5+j*3+k/3) == 100 && (j+i+k) == 100)
				{
					printf("ji_old = %-3d,hen == %-3d,j_son = %-3d\n",i,j,k);	
				}
			}
		}
	}

	return 0;
}

最终效果:

作业4:数组倒置 

作业要求:

int arr[5] = {1,2,3,4,5}

逆置:为 {5,4,3,2,1}

选做

运行代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int a[5] = {1,2,3,4,5};
	int i = 0;
	int j = 0;
	int temp = 0;
	int len = sizeof(a)/sizeof(a[0]);

	for(i=0;i<len;i++)
	{
		printf("%d ",a[i]);
	}
	putchar(10);

	for(i=0;i<(len/2);i++)
	{
		temp = a[i];
		a[i] = a[len-1-i];
		a[len-1-i] = temp;
	}
	for(i=0;i<len;i++)
	{
		printf("%d ",a[i]);
	}
	putchar(10);
	return 0;
}

最终效果:

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值