(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;
}