N诺刷题(简单模拟)

01序列(P1001)

对于长度为6位的一个01串,每一位都可能是0或1,一共有64种可能。它的前几个是:
000000
000001
000010
000011
000100
请按从小到大的顺序输出这64种01串。

#include<bits/stdc++.h>
using namespace std;

int to_bin(int x){
   
	int bin[10] = {
   0}; 
	int num = 0;
	int ans = 0;
	while(x > 0){
   
		bin[num++] = x % 2;
		x /=2; 
	}
	//当前num为位数,逆序得到二进制数 
	for(int i = num-1;i>=0;i--){
   
		ans = ans*10+bin[i];
	}
	return ans; 
}
int main(){
   
	printf("%06d\n",0);
	for(int i =1;i<64;i++){
   
		printf("%06d\n",to_bin(i));
	}
}

日期

今天是2012年4月12日星期四,编写程序,输入今天开始到12月31日之间的任意日期,输出那一天是星期几。例如输入“5(回车)20(回车)”(5月20日),输出应为“Sunday”。

#include<bits/stdc++.h>
using namespace std;

int main(){
   
	int m,d;//月份和日期
	scanf("%d",&m);
	scanf("%d",&d);
	int d_of_m[13] = {
   0,31,29,31,30,31,30,31,31,30,31,31,30};
	char week[7][20] = {
   "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
	int nm = 4,nd=12,cnt=0;
	while(nm< m || nd < d){
   
		nd++;
		cnt++;
		if(nd == d_of_m[nm]+1){
   
			nm++;
			nd = 1;
		}
	}
	cnt += 4;
	int weekday = (cnt%7+7)%7;
	printf("%s\n",week[weekday]);
	return 0;
}

单链表

设节点定义如下

struct Node {
   
    int Element; // 节点中的元素为整数类型
    struct Node * Next; // 指向下一个节点
};

从键盘输入5个整数,将这些整数插入到一个链表中,并按从小到大次序排列,最后输出这些整数。

代码如下:

#include<bits/stdc++.h>
using namespace std;

struct node{
   
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值