计算机三级数据库上机考试试题2016
1. 求三位数 即使完全平方数又有两个数相等
int i,j;
int flag;
int hun,ten,data;
int cnt;
cnt=0;
for(i=100;i<1000;i++)
{
for(j=10;j<50;j++)
{
if(j*j==i)
{
flag=1;
break;
}
else
flag=0;
}
hun=i/100;
ten=i%100/10;
data=i%10;
if((flag==1)&&((hun==ten)||(ten==data)||(hun==data)))
{
bb[cnt]=i;
cnt++;
}
}
return cnt; //////////注意返回 原函数 没有返回值 切忌
2. 判断整数是否是回文数
char p[10]={0};/////不赋初值也行
int i,j;
int len;
itoa(n,p,10); ///////书写形式
len=strlen(p);
for(i=0,j=len-1;i
{
if(p[i]!=p[j])
break; /////这种方式简单
}
if (i>=len/2)
return 1;
else
return 0;
3. 求 100以上 1000之内素数 并且(个位+十位)/10=百位 的数的个数 ,和
int i,j;
int hun,ten,data;
int half;
for(i=101;i<1000;i++)
{
half=i/2;
for(j=2;j<=half;j++)
{
if(i%j==0)
break;
}
hun=i/100;
ten=i%100/10;
data=i%10;
if((j>half)&&((data+ten)%10==hun))
{
cnt++;
sum+=i;
}
}
4.a1=1;a2=1;a3=a1+2*a2; s(n)=a1+a2+...+an
%求 n 值 s(n)<100,1000,10000 且s(n+1)>100,1000,10000
int a1,a2,a3;
int s2;
int n,i;
int M[3]={100,1000,10000};
for(i=0;i<3;i++)
{ a1=1;
a2=1;
s2=a1+a2;
n=2;
while(s2
{
a3=a1+2*a2;
s2+=a3;
a1=a2;
a2=a3;
n++;
}
b[i]=n-1;
}
5.选票问题 统计选票 作废的条件不同
int i,j,k;
int cnt;
for(i=0;i<100;i++)
{ j=0;
cnt=0;
while(xx[i][j])
{
if(xx[i][j]=='1')
cnt++;
j++; ////注意循环变量的设置
}
if(cnt==0||cnt==10)
continue;
else
{
for(k=0;k<10;k++) //////这里不用函数 strlen 因为没有库函数
{
if (xx[i][k]=='1')
yy[k]++;
}
}
}