• 模拟链表


    题目:

    代码:

    #include<stdio.h>
    int main()
    {
    	int a[101],right[101],i,n,t,len;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
        len=n;
        for(i=1;i<=n;i++)//记录a[i]右边的数的下标 
        {
        	if(i!=n)
        	right[i]=i+1;
        	else
        	right[i]=0;
    	}
    	len++;
    	scanf("%d",&a[len]);//读入后插进的数 
    	t=1;
    	while(t!=0)
    	{
    		if(a[right[t]]>a[len])
    		{
    			right[len]=right[t]; 
    			right[t]=len;
    			break;
    		}
    		t=right[t];
    	}
    	t=1;
    	while(t!=0)
    	{
    		printf("%d ",a[t]);
    		t=right[t];
    	}
    	getchar();getchar();
    	return 0;
    } 
    

    运行结果:

    题目:

    代码:

    #include<stdio.h>
    int main()
    {
      int a[10],book[10],i,sum,total=0;	
      for(a[1]=1;a[1]<=9;a[1]++)
      for(a[2]=1;a[2]<=9;a[2]++)
      for(a[3]=1;a[3]<=9;a[3]++)
      for(a[4]=1;a[4]<=9;a[4]++)
      for(a[5]=1;a[5]<=9;a[5]++)
      for(a[6]=1;a[6]<=9;a[6]++)
      for(a[7]=1;a[7]<=9;a[7]++)
      for(a[8]=1;a[8]<=9;a[8]++)
      for(a[9]=1;a[9]<=9;a[9]++)
      {
      	for(i=1;i<=9;i++)
      	{
      	 book[i]=0;	
    	}
    	for(i=1;i<=9;i++)//标记已经出现的数字 
    	{
    		book[a[i]]=1;
    	}
    	sum=0;//记录不同的数字出现的个数 
    	for(i=1;i<=9;i++)
    	{
    		sum=sum+book[i];
    	}
    	if(sum==9&&a[1]*100+a[2]*10+a[3]+a[4]*100+a[5]*10+a[6]==a[7]*100+a[8]*10+a[9])//已经出现9个不同的数字 
    	{
    		total++;
    		printf("%d%d%d+%d%d%d=%d%d%d\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
    	}
      }
      printf("total=%d",total/2);//173+286=459与286+173=459一样 
      getchar();getchar();
      return 0;
    } 
    

    题目:

    炸弹人

    代码:

    #include<stdio.h>
    int main()
    {
        char a[20][21];
    	int i,j,sum,map=0,p,q,x,y,n,m;
    	scanf("%d %d",&n,&m);
    	for(i=0;i<n;i++)
    	scanf("%s",a[i]);
    	for(i=0;i<n;i++)
    	{
    		for(j=0;j<m;j++)
    		{
    			if(a[i][j]=='.')
    			{
    				sum=0;
    				x=i;y=j;
    				while(a[x][y]!='#')
    				{
    					if(a[x][y]=='G')
    					sum++;
    					x--;
    				}
    					x=i;y=j;
    				while(a[x][y]!='#')
    				{
    					if(a[x][y]=='G')
    					sum++;
    					x++;
    				}
    					x=i;y=j;
    				while(a[x][y]!='#')
    				{
    					if(a[x][y]=='G')
    					sum++;
    					y--;
    				}
    					x=i;y=j;
    				while(a[x][y]!='#')
    				{
    					if(a[x][y]=='G')
    					sum++;
    					y++;
    				}
    				if(sum>map)
    				{
    					map=sum;
    					p=i;q=j;
    				}
    			}
    		}
    	}
    	printf("将炸弹放在(%d,%d),最多可以消灭%d个敌人\n",p,q,map);
    	getchar();getchar();
    	return 0;
    	
    }
    

    运行:

    题目:

    火柴棍等式

    代码:

    #include<stdio.h>
    int fun(int x)
    {
    	int num=0;
    	int f[10]={6,2,5,5,4,5,6,3,7,6};
    	while(x/10!=0)
    	{
    		num=num+f[x%10];
    		x=x/10;
    	}
    	num=num+f[x];
    	return num;
    }
    int main()
    {
     int a,b,c,m,sum=0;
     scanf("%d",&m);
     for(a=0;a<=1111;a++)
     {
      for(b=0;b<=1111;b++)
      {
      	c=a+b;
      	if(fun(a)+fun(b)+fun(c)==m-4)
      	{
      	 printf("%d+%d=%d\n",a,b,c);
    	   sum++;	
    	}
      }	
     }
     printf("%d\n",sum);
     getchar();getchar();
     return 0;	
    } edfv 
    

    运行:

  • 相关阅读:
    进程虚拟内存
    非连续内存区缺页异常处理
    请求调页和写时复制
    标签对齐(补充)
    shell数学表达式
    缺页异常的处理
    不错的书籍
    imag database2
    image database
    Apache down了?
  • 原文地址:https://www.cnblogs.com/2719610441qqcom/p/9032941.html
Copyright © 2020-2023  润新知