《中软国际入职机试题优选稿.pdf》由会员分享,可在线阅读,更多相关《中软国际入职机试题优选稿.pdf(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 中软国际入职机试题 集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-1 邮箱地址合法性验证,合法输出字符“1”,不合法输出字符“0”合法条件:A 仅包含一个“”。B 最后三位必须是“.com”C 字符直接没有空格 B 有效数组是 19、az、AZ、“.”、“”、“_”程序#include int main()char input100,out=1;int len,i,flag=0,flag1=0,flag2=0,flag3=0,ttt=0;scanf(%s,input);len=strlen(input);if(inputlen-1=m)&(inputlen-2
2、=o)&(inputlen-3=c)&(inputlen-4=.)for(i=0;i=1)&(inputia)&(inputiA)&(inputiZ)|(inputi=.)|(inputi=)|(inputi=_)=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
3、)int a=0,i;if(n=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=1)f1=1;else if(n10)f1=2;else if(n20)f1=3;else if(n30)f1=4;else if(n40)f1=5;else if(n50)f1=6;else if(n60)f1=7;else if(n70)f1=8;
4、return f1;int main()char a113=|-|,a213=|+|;char d113=|+|,d213=|-|,d316=;int c,i,m;while(1)scanf(%d,&m);m=10-func(m);printf(%sn,d1);for(i=0;i=m-1;i+)printf(%sn,a1);for(i=0;i(10-m);i+)printf(%sn,a2);printf(%sn,d2);printf(%sn,d3);4 将无符号数的指定比特进行置 1.输入数字 n(31bit,无符号整形),置位数 m(0=m=31)。输入:无符号数,指定 bit 位 输出:指
5、定的 bit 位被置 1 的值 例如:输入 891 7 输出 1019#include int main()unsigned int c,tmp;unsigned char d;while(1)scanf(%d%d,&c,&d);if(d=0)&(d=31)tmp=c;tmp&=(1d);tmp|=1d;c=tmp;printf(%d,c);else printf(%s,input error);5 输入一个字符串。交换前后顺序后再输出。#include int main()char a100,b100;int len,i;while(1)scanf(%s,a);len=strlen(a);f
6、or(i=len;i=0;i-)blen-i=ai-1;printf(%sn,b);6 输入一个同学各科的高考成绩,计算出他的总成绩和平均成绩,共 4 个科目。每个成绩范围 0150,无效分数不计算在总分数内(但科目永远是 4 课)#include int main()int a1,a2,a3,a4,sum,aver;while(1)scanf(%d%d%d%d,&a1,&a2,&a3,&a4);if(a1=0)&(a1=0)&(a2=0)&(a3=0)&(a4=150)sum=a1+a2+a3+a4;aver=sum/4;printf(%d%dn,sum,aver);7 找众数。输入 10
7、个整形,输出 10 个整形中的众数。#include int main()int a10,b10=1,1,1,1,1,1,1,1,1,1,i=0,j,max=0;while(1)for(i=0;i10;i+)/输入个数 scanf(%d,&ai);/把个数每个数出现的次数存到 bi中 for(i=0;i9;i+)for(j=i+1;j10;j+)if(ai=aj)&(bi!=0)bi+;bj=0;/求出 bi中的最大值 max=b0;for(i=1;ibi)max:bi;/把 bi中最大值对应的 ai中的数字输出 for(i=0;i m 和 n,如果 mn,k=m%n(若 m 如果 k=0,则
8、 n 为最大公约数 3 若 k 不等于 0,m=n,n=k,再执行 1 B 最大公倍数求法:m 和 n,w=m*n/最大公约数#include int func(int m,int n)int t,g;if(mn)t=m;m=n;n=t;g=m%n;if(g!=0)m=n;n=g;return func(m,n);return n;int main()int a1,a2,s1,s2;while(1)scanf(%d%d,&a1,&a2);s1=func(a1,a2);s2=a1*a2/s1;printf(最大公约数:%d 最小公倍数%dn,s1,s2);9 求字符种类计数。字符包括:”az”,
9、”AZ”,09。输入的字符长度不超过 20 个,不同字符总数不超过 10 个。输入:字符串长度,字符串。输出:字符种类个数。#include void main()char a,c,*p,tt21;int b,i,j,rr21,out=0;while(1)for(i=0;i20;i+)rri=1;scanf(%d,&b);/先输入个数 b /输入间隔符,限定“,”或者“”a=getchar();if(a=,)|(a=)for(i=0;i=a)&(a=A)&(a=0)&(a=9)tti=a;tti=0;/统计字符中每个字符出现的个数,存放到对应数组 rr 中 /重复字符在第一次出现的对应位置“+
10、”,重复字节对应位置为“”for(i=0;ib-1;i+)for(j=i+1;jb;j+)if(tti=ttj)&(rri!=0)rri+;rrj=0;/统计标记 rr 中不为“”的个数 for(i=0;i0)out+;printf(%d,out);10 求 1100 之间的素数,并输出。#include int func(int n)int c=sqrt(n),i;if(n=1)return 1;for(i=2;i=c;i+)if(n%i=0)return 0;else return 1;void main()int i,j=1;for(i=1;i=100;i+)if(func(i)=1)p
11、rintf(%d,i);if(j%10=0)printf(n);j+;11 输入整形值转换成二进制,再由二进制转换成十进制。#include int func(int n,int m)/求 n 函数 2m 次方 int sum=0,i;if(m=0)return 1;else if(m=1)return n;else for(i=1;i=0;i-)printf(%d,bi);sum=0;if(b0=1)sum=1;for(i=1;i=k;i+)if(bi=1)sum=func(2,i)+sum;printf(%d,sum);12 比较一个数组的元素 是否为回文数组。#include void huiwen(char str)int i,len,k=1;len=strlen(str);for(i=0;i=len-1;i+)if(stri!=strlen-1-i)k=0;break;if(k=0)printf(%s 不是一个回文数n,str);else printf(%s 是一个回文数n,str);void main()char str100=0;int i;while(1)printf(Input a string:);/*提示输入 Input a string:*/scanf(%s,str);/*scan()函数输入一个字符串:*/huiwen(str);