中软国际python机试题_中软国际入职机试题.doc

中软国际入职机试题

1 邮箱地址合法性验证,合法输出字符“1”,不合法输出字符“0”

合法条件:

A 仅包含一个“@”。

B 最后三位必须是“.com”

C 字符直接没有空格

B 有效数组是1~9、a~z、A~Z、“.”、“@”、“_”

程序

#include

int main()

{

char input[100],out=1;

int len,i,flag=0,flag1=0,flag2=0,flag3=0,ttt=0;

scanf("%s",input);

len=strlen(input);

if((input[len-1]=='m')&&(input[len-2]=='o')&&(input[len-3]=='c')&&(input[len-4]=='.'))

{

for(i=0;i

{

if(input[i]=='@')ttt++;

if(input[i]==' ')

{

flag1=1;

}

if((((input[i]>='1')&&(input[i]<='9'))||((input[i]>'a')&&(input[i]'A')\

&&(input[i]>'Z'))||(input[i]=='.')||(input[i]=='@')||(input[i]=='_'))==0)

{

flag2=1;

}

}

if(ttt!=1)

{

flag3=1;

}

}

else

{

flag=1;

}

if(flag==1||flag3==1||flag1==1||flag2==1)

{

out='0';

}

else

{

out='1';

}

printf("%c",out);

}

2 m个相同苹果分到n个相同的篮子里。允许有的篮子为空,一共有多少种分法?

其中:0<=m<=10,0<=n<=10;\

#include

int func(int m,int n)

{

int a=0,i;

if(n<=1) //如果没有篮子,只有一种方法“”,或者有一个篮子,也是一种方法

{

return 1;

}

for(i=m;i>=0;i-=n)

{

a+=func(i,n-1);

}

return a;

}

int main()

{

int M=3,N=3;

scanf("%d%d",&M,&N);

printf("%d",func(M,N));

}

3 手机电池余量显示

#include

int func(int n)

{

int f1;

if(n==0)return 0;

else if((n<=10)&&(n>=1))

{

f1=1;

}

else if((n<=20)&&(n>10))

{

f1=2;

}

else if((n<=30)&&(n>20))

{

f1=3;

}

else if((n<=40)&&(n>30))

{

f1=4;

}

else if((n<=50)&&(n>40))

{

f1=5;

}

else if((n<=60)&&(n>50))

{

f1=6;

}

else if((n<=70)&&(n>60))

{

f1=7;

}

else if((n<=80)&&(n>70))

{

f1=8;

}

return f1;

}

int main()

{

char a1[13]="|----------|",a2[13]="|++++++++++|";

char d1[13]="|++++++++++|",d2[13]="|----------|",d3[16]="===============";

int c,i,m;

while(1)

{

scanf("%d",&m);

m=10-func(m);

printf("%s\n",d1);

for(i=0;i<=m-1;i++)

{

printf("%s\n",a1);

}

for(i=0;i

{

printf("%s\n",a2);

}

printf("%s\n",d2);

printf("%s\n",d3);

}

}

4 将无符号数的指定比特进行置1.输入数字n(31bit,无符号整形),置位数m(0<=m<=31)。

输入:无符号数,指定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值