作者: 来自:bbs.51cto.com
题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include
void main()
{
int i,j,k,count=0;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
{
if(j!=i)
{
for(k=1;k<=4;k++)
{
if(k!=i&&k!=j)
{
printf("%d\t",i*100+j*10+k);
count++;
}
}
}
}
printf("\n%d\n",count)
题目2:输入三个整数x,y,z,请把这三个数由小到大输出。
# include
void main()
{
int x,y,z,t;
printf("\n请输入三个数: ");
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;}
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("%d\n",z);
}
题目3:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
#include
void main()
{
int a,b;
printf("请输入一个整数:");
scanf("%d",&a);
printf("%d=",a);
for(b=2;b
{
while(a!=b)
{
if(a%b==0)
{
printf("%d*",b);
a=a/b;
}
else
b=b+1;
}
printf("%d\n",a);
}
}
题目4:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include
void main()
{
int z=0,k=0,s=0,q=0;
char a;
printf("请输入任意字符序列:");
fflush(stdin);
do
{
a=getchar();
if((a>='A'&&a='a'&&a
z++;
else if(a==' ')
k++;
else if(a>='0'&&a
s++;
else q++;
}
while(a!='\n');
printf("英文字母个数为:%d\n",z);
printf("空格个数为:%d\n",k);
printf("数字个数为:%d\n",s);
printf("其他字符个数为:%d\n",q-1);
}
题目5:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。#include
void main()
{
int i,j;
for(i=0,j=1;i
{
j=(j+1)*2;
}
printf("%d\n",j);
}
题目6:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
#include
void main()
{
int i,m=10;
for(i=0;i
m+=2;
printf("第五个人的岁数为:%d\n",m);
}
题目7:打印出如下图案(菱形)
1
222
33333
4444444
#include
void main()
{
int a,b,c;
char p=’1’;
for(a=1;a
{
printf("\t\t");
for(b=4;b>=a+1;b--)
printf(" ");
for(c=1;c
printf("%c",p);
p++;
printf("\n");
}
}
题目8:打印出如下图案(菱形)
*
***
******
********
******
***
*
#include
void main()
{
int i,j;
for(i=1;i
{
for(j=1;j
printf("*");
printf("\n");
if (i==2)
printf("*");
else if(i==3)
printf("*");
}
for(i=3;i>0;i--)
{
for(j=1;j
printf("*");
if (i==3)
printf("*");
printf("\n");
}
printf("%d",i);
}
题目9:打印出100-999之间所有的“水仙花数”,所谓“水仙花数” 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
#include
int main()
{
int i, j, k; /* 分别表示百位,十位,个位 */
int n;
for (n = 100; n
题目10:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求 出这个数列的前20项之和。
#include
void main()
{
int i;
double a=1,b=2,c,sum=0;
for(i=0;i
{
sum+=b/a;
c=a;
a=b;
b=a+c;
}
printf("%f\n",sum);
}
题目11:求1+2!+3!+...+20!的和
#include
void main()
{
float a,b=0,s=1;
for(a=1;a
{
s*=a;
b+=s;
}
printf("1+2!+3!...+20!= %e\n",b);
}
题目12:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
#include
void main()
{
int a,s,q,w,x;
printf("\n请输入一个数: ");
scanf("%ld",&x);
w=x/10000;
q=x%10000/1000;
s=x%100/10;
a=x%10;
if (a==w&&s==q)
printf("\n是它的回文数\n");
else
printf("\n不是它的回文数\n");
}
阅读(530) | 评论(0) | 转发(0) |