结构体与操作符练习

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//struct peo
//{
//	char name[20];
//	int age;
//};
//int main()
//{
//	struct peo p1 = { "张三",18 };
//	printf("%s,%d", p1.name, p1.age);
//	return 0;
//}
//struct peo2
//{
//	char tale[12];
//	int high;
//};
//struct peo
//{
//	char name[20];
//	int age;
//	/*struct peo2 p2;*/
//};
//void print(struct peo* p1)
//{
//	printf("%s %d", p1->name,p1->age);
//}
////int main()
////{
////	struct peo p1 = { "张三",18,{"13371107529",175} };
////	printf("%s %d %s %d", p1.name, p1.age, p1.p2.tale, p1.p2.high);
////	return 0;
////}
//int main()
//{
//	struct peo p2 = { "张三",18 };
//	print(&p2);
//
//}
//计算一个数二进制位每个位上一的个数
//方法一
//int NUM(unsigned int n)
//{
//	int count = 0;
//	while (n != 0)
//	{
//		if (n % 2 == 1)
//		{
//			count++;
//		}
//		n /= 2;
//	}
//	return count;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int num = NUM(n);
//	printf("%d",num);
//		return 0;
//}
//方法二
//int NUM(int n)
//{
//	int count = 0;
//	for (int i = 0; i < 32; i++)
//	{
//		if ((n >> i) & 1 == 1)
//		{
//			count++;
//		}
//	}
//	return count;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int num = NUM(n);
//	printf("%d", num);
//	return 0;
//}
//方法三
//int NUM(int n)
//{
//	int count = 0;
//	while (n != 0)
//	{
//		n = n & (n - 1);
//		count++;
//	}
//	return count;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int num = NUM(n);
//	printf("%d", num);
//	return 0;
//}
//方法三的应用二->求数是否位2的n次方
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	if ((n & (n - 1)) == 0)
//	{
//		printf("是的");
//	}
//	else
//		printf("不是");
//
//	return 0;
//}
//判断两个数二进制位有几个位不相同
//方法一 用最后一位一直比较
//int NUM(int n, int m)
//{
//	int count =0;
//	for (int i = 0; i < 32; i++)
//	{
//		if (((n >> i) & 1) !=( (n >> 1) & 1))
//		{
//			count++;
//		}
//	}
//	return count;
//}
//int main()
//{
//	int n = 0;
//	int m = 0;
//	scanf("%d %d", &n, &m);
//	int num = NUM(n, m);
//	printf("%d", num);
//	return 0;
//}
//方法二
//利用^(相同位0,相异唯一)然后在统计一的个数
//获得月份的天数
//int RUN(int n)
//{
//	if (n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
//	{
//		return 1;
//	}
//	else
//		return 0;
//}
//int main()
//{
//	int day = 0;
//	int mon = 0;
//	int year = 0;
//	int arr[13] = { 0,31,28,31,30,31,30,31,30,31,30,31 };
//	scanf("%d %d",&year,&mon);
//	day = arr[mon];
//	if (mon == 2)
//	{
//		if (RUN(year))
//		{
//			day++;
//		}
//	}
//	printf("%d",day);
//
//	return 0;
//}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值