好,,支持,,,
Thank you!
2014.1.15
8.借书方案知多少小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
#include <stdio.h>
int main()
{
int a,b,c,count=0;
printf("三人借书的编号可能为:\n");
for(a=1;a<=5;a++) //穷举第一个人借5本书中的1本的全部情况
for(b=1;b<=5;b++) //穷举第二个人借5本书中的一本的全部情况
for(c=1;a!=b&&c<=5;c++) //当前两个人借不同的书时穷举第三个人借5本书中的1本的全部情况
if(c!=a&&c!=b) //判断第三人与前两个人借的书是否不同
printf("%d:%d,%d,%d\n",++count,a,b,c);//打印可能的借阅方法
}
2014.1.17
9.杨辉三角形在屏幕上显示杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
………………………………..#include<stdio.h>
/*求杨辉三角形中第x行第y列的值*/
int Get(int x,int y)
{
int z;
if((y==1)||(y==x+1)) return 1; //若为x行的第1或第x+1列,则输出1
z=Get(x-1,y-1)+Get(x-1,y); //否则,其值为前一行中第y-1列与第y列值之和
return z;
}
/*主函数*/
int main()
{
int i,j,n;
printf("输入行数 N=");
do
{
scanf("%d",&n); //控制输入正确的值以保证屏幕显示的图形正确
}while(n>12&&printf("输入过大,请重新输入N="));
for(i=0;i<=n;i++) //控制输出N行
{
for(j=0;j<24-2*i;j++) printf(" "); //控制输出第i行前面的空格
for(j=1;j<i+2;j++) printf("%4d",Get(i,j)); //输出第i行的第j个值
printf("\n");
}
} {:5_107:}努力努力努力努力努力努力努力 很好很好啊啊 新手 随便逛逛{:1_1:}
2014.1.21
10.数制转换将任一整数转换为二进制形式#include<stdio.h>
void printb(int,int);
int main()
{
int x;printf("Input number:");
scanf("%d",&x);
printf("It's binary form:");
printb(x,sizeof(int)*8); //x:整数 sizeof(int):int型在内存中所占的字节数
putchar('\n');
}
void printb(int x,int n)
{
if(n>0)
{
putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1))); //输出第n位
printb(x,n-1); //归调用,输出x的后n-1位
}
} 11.打鱼还是晒网
中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”.#include<stdio.h>
int days(struct date day);
struct date{
int year;
int month;
int day;
};
int main()
{
struct date today,term;
int yearday,year,day;
printf("Enter year/month/day:");
scanf("%d%d%d",&today.year,&today.month,&today.day); /*输入日期*/
term.month=12; /*设置变量的初始值:月*/
term.day=31; /*设置变量的初始值:日*/
for(yearday=0,year=1990;year<today.year;year++)
{
term.year=year;
yearday+=days(term); /*计算从1990年至指定年的前一年共有多少天*/
}
yearday+=days(today); /*加上指定年中到指定日期的天数*/
day=yearday%5; /*求余数*/
if(day>0&&day<4) printf("he was fishing at that day.\n");
else printf("He was sleeping at that day.\n");
}
int days(struct date day)
{
static int day_tab=
{{0,31,28,31,30,31,30,31,31,30,31,30,31,}, //平均每月的天数,分闰年和非闰年
{0,31,29,31,30,31,30,31,31,30,31,30,31,},
};
int i,lp;
lp=day.year%4==0&&day.year%100!=0||day.year%400==0;
/*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
for(i=1;i<day.month;i++) //计算本年中自1月1日起的天数
day.day+=day_tab;
return day.day;
}
这个要收藏起来 清风袋袋 发表于 2014-1-12 20:32
7.阶乘尾数零的个数
100!的尾数有多少个零?这里稍微解释一下,由于计算机所能表示的整数范围有限,直接解 ...
太感谢了
页:
1
[2]