北航上机测试准备 程序1

来源:互联网 发布:淘宝酒仙网 编辑:程序博客网 时间:2024/05/17 03:43
//*********1
/*
#include<stdio.h>
#include<stdlib.h>
void main()
{
int n;
int found=0;
while(scanf("%d",&n)!=EOF)
{
int begin,end;
found=0;
for(begin=1;begin<n;begin++)
{
for(end=begin+1;end<n;end++)
{
int sum=(begin+end)*(end-begin+1)/2;
if(sum==n)
{
found=1;
int i;
for(i=begin;i<=end;i++)
printf("%d ",i);
}
if(sum==n)printf("\n");
}
}
if(found==0)
printf("NONE\n");
}
}
*/




////////////2
/*
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
int N;
int island[100][100];
int data[100][4];
    int i;
while(scanf("%d",&N)!=EOF)
{
int i,j;
memset(data,-1,100*4*sizeof(int));
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
scanf("%d",&island[i][j]);
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(island[i][j]==1)
{
if(data[i][0]==-1)
data[i][0]=j;
if(data[j][2]==-1)
data[j][2]=i;
data[i][1]=j;
data[j][3]=i;
}
}


}
int area=0;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(island[i][j]==0)
{
if(i>data[j][2]&&i<data[j][3]&&j>data[i][0]
&&j<data[i][1])
{
area++;
}
}
}
}
printf("%d\n",area);
}
}
*/


/////////////3
/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define DEBUG_BUAA 123
#define MAX_WORD_LEN 128
#define MAX_LEN 300
#define KW_NUM 3


void replaceQuota(char buf[])
{
int i;
int len=strlen(buf);
int quotaL=0,quotaR=0;
for(i=0;i<len;i++)
{
if(buf[i]=='"')
{
if(quotaL==0)  quotaL=1;
else quotaL=quotaR=0;
}
else
{
if(quotaL==1)
{
buf[i]='#';
}
}
}
}
int isdelim(char ch)
{
switch(ch)
{
case' ':
case'=':
case',':
case';':
case'<':
case'>':
case'(':
case')':
case'{':
case'}':return 1;
default:return 0;
}
}


int getWord(char input[],int pos,char word[])
{
int len=strlen(input);
int i;
int isbegin=0;
int wpos=0;
for(i=pos;i<len;i++)
{
if(isdelim(input[i]))
{
if(isbegin==0)continue;
else break;
}
else{
isbegin=1;
word[wpos++]=input[i];
}
}
word[wpos]='\0';
return (i>=len)?-1:i;
}


int main()
{
char input[300];
char word[MAX_WORD_LEN];


while(gets(input)!=NULL)
{
replaceQuota(input);
int beg_pos=0;
do
{
beg_pos=getWord(input,beg_pos,word);
int wlen=strlen(word);
if(strcmp("if",word)==0)
{
printf("if:%d\n",beg_pos-wlen+1);
}
else if(strcmp("while",word)==0)
{
printf("while:%d\n",beg_pos-wlen+1);
}
else if(strcmp("for",word)==0)
{
printf("for:%d\n",beg_pos-wlen+1);
}
}
while(beg_pos>=0);
}
}
*/




////////////////////11
//1
/*
#include<stdio.h>
#include<stdlib.h>
int yinzisum(int x)
{
int i=1,sum=0;
if(x==1) return 0;
while(i<x)
{
if(x%i==0)
sum=sum+i;
i++;
}
return sum;
}


void main()
{
int x,y,flag=0,i,j;
scanf("%d%d",&x,&y);
int min,max;
if(x>y)
{
max=x;
min=y;
}
else{
max=y;
min=x;
}
int *array=(int*)malloc(sizeof(int)*(max-min+1));
for(i=0;i<max-min+1;i++)
array[i]=yinzisum(min+i);
for(i=0;i<max-min+1;i++)
for(j=i+1;j<max-min+1;j++)
if(array[i]==j+min&&array[j]==i+min)
{
printf("%d %d\n",i+min,j+min);
flag=1;
}
if(flag==0)
printf("NONE\n");
}
*/


///////////2
/*
#include<stdio.h>
#include<stdlib.h>
void main()
{
int x0,y0,i,j,x1,y1,x2,y2;
scanf("%d%d",&x0,&y0);
int ** array0=(int**)malloc(sizeof(int*)*x0);
for(i=0;i<x0;i++)
array0[i]=(int*)malloc(sizeof(int)*y0);
for(i=0;i<x0;i++)
for(j=0;j<y0;j++)
scanf("%d",&array0[i][j]);


    scanf("%d%d",&x1,&y1);
int **array1=(int**)malloc(sizeof(int*)*x1);
for(i=0;i<x1;i++)
array1[i]=(int*)malloc(sizeof(int*)*y1);
for(i=0;i<x1;i++)
for(j=0;j<y1;j++)
scanf("%d",&array1[i][j]);
    
scanf("%d%d",&x2,&y2);
for(i=0;i<x0&&i<x1;i++)
for(j=0;j<y0&&j<y1;j++)
array0[i+x2-1][j+y2-1]=array1[i][j];
for(i=0;i<x0;i++)
for(j=0;j<y0;j++)
printf("%d ",array0[i][j]);
putchar('\n');
}
*/
/////////3
#include<stdio.h>
#include<stdlib.h>
int getindex(char ch)
{
int index=-1;
if(ch>='a'&&ch<='z')
index=0;
else if(ch>='0'&&ch<='9')
index=1;
else if(ch>='A'&&ch<='Z')
index=2;
return index;
}
int main()
{
char str[300],ch;
ch=getchar();
int i=0,j;
while(ch!='\n')
{
str[i]=ch;
ch=getchar();
i++;
}
str[i]='\0';
for(i=0;str[i]!='\0';i++)
{
if(str[i]=='=')
{
if(getindex(str[i-1])==getindex(str[i+1])&&getindex(str[i-1])!=-1)
{
ch=str[i-1]+1;
while(ch<str[i+1])
{
putchar(ch);
ch++;
}
}
}
else
putchar(str[i]);
}
}

1 0