1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>
int main()
{
int i, j, k, t, n=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
if(j!=i)
{
for(k=1;k<=4;k++)
{
if(k!=j && k!=i)
{
t=i*100+j*10+k;
printf("%5d",t);
n++;
if(n%6==0)
printf("\n");
}
}
}
}
}
return 0;
}
2.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#include <stdio.h>
#include <math.h>
int main()
{
long int i;
double a=0, b=0;
for(i=0;i<100000;i++)
{
a=sqrt(i+100);
b=sqrt(i+100+168);
if(a==(int)a && b==(int)b ) //判断a、b是否为整数
{
printf("%ld\n",i);
}
}
return 0;
}
3.将一个正整数分解质因数。例如:输入90,打印出90=2* 3 * 3* 5。
#include <stdio.h>
int main()
{
int n, i;
printf("please input:");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n%i==0)
{
n=n/i;
if(n!=1)
{
printf("%d*",i);
}
else
{
printf("%d",i);
}
}
}
printf("\n");
return 0;
}
4.输入两个正整数m和n,求其最大公约数和最小公倍数。
#include <stdio.h>
int fun_max(int m, int n)
{
int t, k;
if(m<n)
{
t=n;
n=m;
m=t;
}
while(n!=0)
{
k=m%n;
m=n;
n=k;
}
return m;
}
int fun_min(int m, int n)
{
int p, i;
p=fun_max(m,n);
i=m*n/p;
return i;
}
int main()
{
int m, n;
printf("please input:");
scanf("%d%d",&m,&n);
fun_max(m,n);
fun_min(m,n);
printf("%5d%5d\n",fun_max(m,n),fun_min(m,n));
return 0;
}
5.输入一行字符,分别统计出其中英文字母、空格、数字的个数。
#include <stdio.h>
#include <string.h>
int main()
{
char c[20];
int i, j=0, k=0, s=0;
printf("please input:");
gets(c);
for(i=0;c[i]!='\0';i++)
{
if((c[i]>=65 && c[i]<=90) || (c[i]>=97 && c[i]<=122))
{
j++;
}
else if(c[i]==' ')
{
k++;
}
else if(c[i]>=48 && c[i]<=57)
{
s++;
}
}
printf("%3d%3d%3d\n",j,k,s);
return 0;
}