/*计算一个整型的二进制中有多少个1 */
int count_of_1()
{
int c,r,num=0;
printf("请输入一个整数\n");
scanf("%d",&c);
for(r=0;c!=0;c=c/2)
{
r=c%2;
if(r==1)
num++;
}
printf("这个整数的二进制中有%d个1\n",num);
return num;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* 渔夫打鱼三天打鱼两天晒网 从1990年1月1号开始工作 给出某日期 问这天 渔夫在干嘛呢
int main()
{
int year,month,date,leap=0;
int i,j,num;
for(j=0;j<1000;j++)
{
printf("想知道渔夫今天在干嘛吗,请输入一个日期,以空格隔开数字:\n");
scanf("%d %d %d",&year,&month,&date);
if(year<1990||month>12||date>31)
printf("输入有错!重输!\n");
else
{
for(i=1990;i<year;i++)
{
if((year%4==0&&year%100!=0)||(year%4==0&&year%400==0))
leap++;
}
leap=leap%5;
switch(month)
{
case 1:num=0+date;break;
case 2:num=31+date;break;
case 3:num=31+28+leap+date;break;
case 4:num=31+28+leap+31+date;break;
case 5:num=31+28+leap+31+30+date;break;
case 6:num=31+28+leap+31+30+31+date;break;
case 7:num=31+28+leap+31+30+31+30+date;break;
case 8:num=31+28+leap+31+30+31+30+31+date;break;
case 9:num=31+28+leap+31+30+31+30+31+31+date;break;
case 10:num=31+28+leap+31+30+31+30+31+31+30+date;break;
case 11:num=31+28+leap+31+30+31+30+31+31+30+31+date;break;
case 12:num=31+28+leap+31+30+31+30+31+31+30+31+30+date;break;
}
num=num-leap;
num=num%5;
printf("公元%d年%d月%d日",year,month,date);
switch(num)
{
case 1:printf("渔夫正在打鱼呢!");break;
case 2:printf("渔夫正在打鱼呢!");break;
case 3:printf("渔夫正在打鱼呢!");break;
case 4:printf("渔夫正在晒网呢!");break;
case 0:printf("渔夫正在晒网呢!");break;
default:printf("渔夫在干啥关你屁事!");break;
}
printf("\n\n");
}
}
int main()
{
int year,month,date,leap=0;
int i,j,num;
for(j=0;j<1000;j++)
{
printf("想知道渔夫今天在干嘛吗,请输入一个日期,以空格隔开数字:\n");
scanf("%d %d %d",&year,&month,&date);
if(year<1990||month>12||date>31)
printf("输入有错!重输!\n");
else
{
for(i=1990;i<year;i++)
{
if((year%4==0&&year%100!=0)||(year%4==0&&year%400==0))
leap++;
}
leap=leap%5;
switch(month)
{
case 1:num=0+date;break;
case 2:num=31+date;break;
case 3:num=31+28+leap+date;break;
case 4:num=31+28+leap+31+date;break;
case 5:num=31+28+leap+31+30+date;break;
case 6:num=31+28+leap+31+30+31+date;break;
case 7:num=31+28+leap+31+30+31+30+date;break;
case 8:num=31+28+leap+31+30+31+30+31+date;break;
case 9:num=31+28+leap+31+30+31+30+31+31+date;break;
case 10:num=31+28+leap+31+30+31+30+31+31+30+date;break;
case 11:num=31+28+leap+31+30+31+30+31+31+30+31+date;break;
case 12:num=31+28+leap+31+30+31+30+31+31+30+31+30+date;break;
}
num=num-leap;
num=num%5;
printf("公元%d年%d月%d日",year,month,date);
switch(num)
{
case 1:printf("渔夫正在打鱼呢!");break;
case 2:printf("渔夫正在打鱼呢!");break;
case 3:printf("渔夫正在打鱼呢!");break;
case 4:printf("渔夫正在晒网呢!");break;
case 0:printf("渔夫正在晒网呢!");break;
default:printf("渔夫在干啥关你屁事!");break;
}
printf("\n\n");
}
}
}*/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*猴子偷桃 第一天偷了x个,吃了0.5x+1,
每一天都吃了剩下的一半多一个
第十天剩下一个桃
每一天都吃了剩下的一半多一个
第十天剩下一个桃
问最开始总共多少个*/
int monkey_peach()
{
int num = 0;
int end = 1;//end=0.5*x-1
int monkey_peach()
{
int num = 0;
int end = 1;//end=0.5*x-1
for (int i = 0; i < 9; ++i)
{
num = (end + 1) * 2;
end = num;
}
printf("%d", num);
}
{
num = (end + 1) * 2;
end = num;
}
printf("%d", num);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
买苹果。d1=2,第一天买两个,
第二天买前前一天的两倍,
每个苹果price=0.8,直到买的苹果个数不超过100
求每天平均花多少钱?
*/
买苹果。d1=2,第一天买两个,
第二天买前前一天的两倍,
每个苹果price=0.8,直到买的苹果个数不超过100
求每天平均花多少钱?
*/
int buy_apple()
{
double price = 0.8;
int day = 1;
int num = 2;
int sum = 2;
while (sum <= 100)
{
num = num * 2;
sum += num;
++day;
}
double money = sum*price / day;
printf("%f", money);
}
{
double price = 0.8;
int day = 1;
int num = 2;
int sum = 2;
while (sum <= 100)
{
num = num * 2;
sum += num;
++day;
}
double money = sum*price / day;
printf("%f", money);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
输入年月日
计算今天是今年的第几天?
*/
输入年月日
计算今天是今年的第几天?
*/
int count_day()
{
int arr[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int year=1, month=1, date=1;
while (1)
{
printf("请输入年月日,以逗号隔开:");
scanf("%d,%d,%d", &year, &month, &date);
if (month<1 || month>12 || date<1 || date>31 || year < 0)
{
printf("输入有误,请重输\n");
continue;
}
else
break;
}
int day = 0;
if ((year % 4 == 0 && year % 100 != 0 )|| (year % 400 == 0))
{/*
1.能被4整除而不能被100整除.
2.能被400整除.
*/
arr[1] = 29;
}///如果是闰年,二月多一天
day += date;
for (int i = 0; i+1 < month; ++i)
{
day += arr[i] ;
}
printf("今天是今年的第%d天\n", day);
return day;
}
{
int arr[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int year=1, month=1, date=1;
while (1)
{
printf("请输入年月日,以逗号隔开:");
scanf("%d,%d,%d", &year, &month, &date);
if (month<1 || month>12 || date<1 || date>31 || year < 0)
{
printf("输入有误,请重输\n");
continue;
}
else
break;
}
int day = 0;
if ((year % 4 == 0 && year % 100 != 0 )|| (year % 400 == 0))
{/*
1.能被4整除而不能被100整除.
2.能被400整除.
*/
arr[1] = 29;
}///如果是闰年,二月多一天
day += date;
for (int i = 0; i+1 < month; ++i)
{
day += arr[i] ;
}
printf("今天是今年的第%d天\n", day);
return day;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~```
/*婚礼三对情侣 男ABC三人,女XYZ 三人
说了三个谎言: A-X,X-C,C-Z 配对
说了三个谎言: A-X,X-C,C-Z 配对
问其实谁和谁配对?*/
int main()
{
char A, B, C;
for (A = 'X'; A <= 'Z'; ++A)
{
for(B = 'X'; B <= 'Z'; ++B)
{
for (C = 'X'; C <= 'Z'; ++C)
{
if (A != 'X'&&C != 'X'&&C != 'Z'&&A != B&&B != C&&A != C)
{
printf("A--%c\n", A);
printf("B--%c\n", B);
printf("C--%c\n", C);
}
}
}
}
}
int main()
{
char A, B, C;
for (A = 'X'; A <= 'Z'; ++A)
{
for(B = 'X'; B <= 'Z'; ++B)
{
for (C = 'X'; C <= 'Z'; ++C)
{
if (A != 'X'&&C != 'X'&&C != 'Z'&&A != B&&B != C&&A != C)
{
printf("A--%c\n", A);
printf("B--%c\n", B);
printf("C--%c\n", C);
}
}
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
/*
百元买百鸡
公鸡-5元1个
母鸡-3元1个
小鸡-1元3个
问能买各几只?
*/
int main()
{
int f_c = 0, m_c = 0, b_c = 0;
for (; f_c < 20; f_c++)//公鸡最多二十只
{
for (m_c = 0; m_c < 30; ++m_c)//母鸡最多30只
{
for (int i = 0; i < 100; ++i)//买小鸡的钱 一元三只
{
b_c = 3 * i;
if ((f_c + b_c + m_c == 100) && (f_c*5+m_c*3+i == 100) && (f_c != 0) && (m_c != 0) && (b_c != 0))
{
printf("一百元可以买\n公鸡:%d\n母鸡:%d\n小鸡:%d\n", f_c, m_c, b_c);
//return 0;
}
}
}
}
}
百元买百鸡
公鸡-5元1个
母鸡-3元1个
小鸡-1元3个
问能买各几只?
*/
int main()
{
int f_c = 0, m_c = 0, b_c = 0;
for (; f_c < 20; f_c++)//公鸡最多二十只
{
for (m_c = 0; m_c < 30; ++m_c)//母鸡最多30只
{
for (int i = 0; i < 100; ++i)//买小鸡的钱 一元三只
{
b_c = 3 * i;
if ((f_c + b_c + m_c == 100) && (f_c*5+m_c*3+i == 100) && (f_c != 0) && (m_c != 0) && (b_c != 0))
{
printf("一百元可以买\n公鸡:%d\n母鸡:%d\n小鸡:%d\n", f_c, m_c, b_c);
//return 0;
}
}
}
}
}