自己在网上搜集到的一些,在此汇总一下,希望对大家有用。
一、机试题
三道题,分值是40 40 20,时间50分钟,写完签字就可以走了。
1.找出正整数中偶数,并输出相加后的数,要用 long.
例:输入 5548 输出 12
int main()
{
int a;
scanf("%d",&a);
//计算数字长度
int len = 1;
int t = a;
while(t>9)
{
len*=10;
t/=10;
}
//printf("%d",len);
//找出偶数并求和
int sum = 0;
while(a>0)
{
int i = a/len;
if(i%2==0)
{
sum += i;
}
a=a%len;
len/=10;
}
printf("%d",sum);
return 0;
}
2.输入 n 和 b , 找出 1 到 n 中被 b 整除的个数.
例:输入 6 3 输出 2
int main()
{
int n,b;
scanf("%d",&n);
scanf("%d",&b);
int count = 0;
for(int i = 1;i<=n;i++)
{
if(i%b==0)
{
count++;
}
}
printf("%d",count);
return 0;
}
3.爬一个或者两个台阶,输入 1 <= n < 90 的数字为台阶数,以输入 0 作为结束标志,输出n个台阶共有多少种上楼方式.
输入
1
2
3
4
0
输出
1
2
3
5
//上台阶问题
int step(int s)
{
if(s<=2)
{
return s;
}
else
{
return step(s-1)+step(s-2);
}
}
int main()
{
int a[100];
char x;
int count = -1;
for(int i = 0;i<100;i++)
{
scanf("%d",&a[i]);
count++;
if(a[i]==0)
{
break;
}
}
//printf("%d",count);
for(int i = 0;i<count;i++)
{
printf("%d\n",step(a[i]));
}
return 0;
}
4.判断一个数是不是素数?
int issushu(int n)
{
int i = n;
if (i < 2)
return 0;
else
{
for (i = n - 1; i >= 2; i--)
{
if (n%i == 0)
return 0;
}
}
return 1;
}
int main()
{
int n;
cin >> n;
if (issushu(n))
cout << "true" << endl;
else
cout << "false" << endl;
return 0;
}
5.判断从1990到2010年中的润年?并打印
int main()
{
//输出从1990年到2010年之间的闰年
for (int i = 1990; i <= 2010; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
{
cout << i << endl;
}
}
return 0;
}