1质数
2完美数
3打印
4买鸡
5
置零 data&~(0x1<<4) data&~(0x1111<<28)
置一 data|(0x1<<7) data|(0x1111<<4)
6交换两个数
int temp,i,j; int a,b; int a, b
temp=i; a=a+b; a=a^b;
i=j; b=a-b; b=a^b;
j=temp; a=a-b; a=a^b;
课堂代码:
#include <stdio.h>
int main(int argc, const char *argv[])
{
int year=0;int month;int day;
printf("输入年月日\n");
scanf("%d%d%d",&year,&month,&day);
if(year<0||month>12||month<1){
printf("error\n");
return -1;
}
switch(month){
case 12: day+=30;
case 11: day+=31;
case 10: day+=30;
case 9: day+=31;
case 8: day+=31;
case 7: day+=30;
case 6: day+=31;
case 5: day+=30;
case 4: day+=31;
case 3:
if(year%4==0&&year%100||year%400==0)
day+=29;
else day+=28;
case 2: day+=31;
case 1: printf("第%d天\n",day);break;
default:;
}
return 0;
}
打印金字塔用while要注意j,每次循环从1开始,所以内部循环前先赋值1
求质数可以定义标记量,也可以利用break逻辑判断