2024.1.26作业(数组)

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

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int arr[9]={3,5,6,8,3,1,2,4,5};
	int i=0;
	int sum1=0,sum2=0;
	for(i=0;i<9;i++)
	{
		if(i%2!=0)
		{
			sum1+=arr[i];
//			printf("arr[%d]=%d,%d\n",i,arr[i],sum1);
		}
		if(i%2==0)
		{
			sum2+=arr[i];
//			printf("arr[%d]=%d,%d\n",i,arr[i],sum2);
		}
	}
	printf("下标为奇数的元素和为%d\n",sum1);
	printf("下标为偶数的元素和为%d\n",sum2);
	
	
	return 0;

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

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int s[]={1,2,3,4};
	int i,j,k;
	int sum=0;
	int count=0;
	for(i=0;i<4;i++)         //遍历百位
	{
		for(j=0;j<4;j++)    //遍历十位
		{
			if(s[j]!=s[i])
			{
				//			sum=s[i]*100+s[j]*10;
				for(k=0;k<4;k++)    //遍历个位
				{
					if(s[k]!=s[i] && s[k]!=s[j])
					{
						sum=s[i]*100+s[j]*10+s[k];
						printf("%d\n",sum);
						count++;
						sum=0;
					}
					//					sum+=s[k];
				}

				//				printf("%d\n",sum);
				//				count++;
				//				sum=0;
			}
		}
	}
	printf("能组成%d个互不相同且无重复的三位数\n",count);
	return 0;
}

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

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int i,j,k;    //   设鸡翁为i只,鸡母为j只,雏鸡为k只
				//    5x+3y+z/3=100;   
	int sum=100;
	for(i=1;i<=20;i++)
	{
		for(j=1;j<=33;j++)
		{
			k=sum-i-j;
			if(5*i+3*j+k/3==100)
			{
				printf("鸡翁有%d只,鸡母有%d只,雏鸡有%d\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 arr[5]={1,2,3,4,5};
	int i;
	int temp;
	for(i=0;i<2;i++)      //   容量/2==循环次数
	{
		temp=arr[i];
		arr[i]=arr[4-i];
		arr[4-i]=temp;
	}
	for(i=0;i<5;i++)
	{
		printf("%5d",arr[i]);
	}
	printf("\n");
	return 0;
}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值