可反复学习\练习的面试题

Q1:
请编写一个程序用来输出10~30之间的素数。

Q2:
已知abc+cba=1555,其中a,b,c均为一位数,编写一个程序求出a,b,c分别代表什么数字。


Q3:
编写一个程序,求满足以下条件的最大的n:1*1+2*2+3*3+…+n*n<=1000

Q4:
一位百万富翁遇到一陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需要给我一分钱,第二天我仍然给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱……就这样你每天给我的钱是前一天的两倍,直到满一个月(30天)。百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱。

Q5:
小明今年12岁,他母亲比他大20岁。编写一个程序计算出小明的母亲在几年后比小明的年龄大一倍,那时他们两人的年龄各是多少?


Q6:
编写一个程序,打印高和上底均为5的等腰空心梯形,如图:
    *****
   *     *
  *       *
*         *
*************


Q7:
编写一个程序,当输入任意整数n后,可打印出n行三角字符阵列图形。例如,输入整数5时,程序运行结果如下:
Enter a number:5
A C F J O
B E I N
D H M
G L
K




答案

Q1:

#include<stdio.h>
void main()
{
int i,j;
for(i=10;i<=30;i++)
{
for(j=2;j<=i;j++)
{
if(i%j!=0)
continue;
else if(i%j==0&&j<i)
break;
else if(i%j==0&&j==i)
printf("%d ",i);
}
}
printf("\n");
}




Q2:

#include<stdio.h>
void main()
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=1;c<=9;c++)
{
if((a*100+b*10+c)+(c*100+b*10+a)==1555)
printf("\na=%d,b=%d,c=%d\n",a,b,c);
}
}




Q3:

#include<stdio.h>
void main()
{
int i,sum=0;
for(i=1;;i++)
{
sum=sum+i*i;
if(sum>1000)
break;
}
printf("\nn=%d\n",--i);
}




Q4:

#include<stdio.h>
void main()
{
int i,a=0;
double b=0,k=0.01;
for(i=1;i<=30;i++)
{
a=a+100000;
b=b+k;
k=k*2;
}
printf("\n陌生人给了百万富翁%d元",a);
printf("\n百万富翁给了陌生人%.2f元\n",b);
}



Q5:

#include<stdio.h>
void main()
{
int i,a,b;
for(i=1,a=12;;i++)
{
a++;
b=a+20;
if(a*2==b)
break;
}
printf("\n在%d年后小明的母亲年龄比他大一倍",i);
printf("\n小明的年龄是%d岁,他母亲是%d岁\n",a,b);
}



Q6:

#include<stdio.h>
void main()
{
int i,j;
for(j=1;j<=5;j++)
{
for(i=1;i<j+8;i++)
{
if(i==6-j)
printf("*");
else if((j==1||j==5)&&(i>6-j))
printf("*");
else
printf(" ");
}
printf("*\n");
}
}




Q7:

#include<stdio.h>
void main()
{
int i,j,n,a,b;
printf("\nEnter a number:");
scanf("%d",&n);
for(j=1,b=1;j<=n;j++)
{
b=b+j-1;
for(i=1,a=b;i<=n+1-j;i++)
{
printf("%c ",'A'+a-1);
a=a+j+i;
}
printf("\n");
}
}

你可能感兴趣的:(C++,c,面试,C#,J#)