题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>
int main()
{
int i,j,k,n =0;
for(i = 1; i < 5; i++)
{
for(j = 1; j < 5; j++)
{
for(k = 1; k < 5; k++)
{
if(i != j && i != k && j != k)
{
printf("%d%d%d\t",i,j,k);
n++;
if(n % 4 == 0)
{
printf("\n");
}
}
}
}
}
printf("\n");
printf("一共%d个数。\n",n);
return 0;
}
题目2:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
#include <stdio.h>
#include <math.h>
int main()
{
long int i,x,y;
for(i = -100; i < 100000; i++)
{
x = sqrt(i + 100);
y = sqrt(i +100 + 268);
if((x*x) == (i + 100) && (y*y) == (i + 100 + 268))
{
printf("%ld\n",i);
}
}
return 0;
}
题目3:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
#include <stdio.h>
int main()
{
int i,n;
printf("请输入整数:");
scanf("%d",&n);
printf("%d = ",n);
for(i = 2; i <= n; i++)
{
while(n % i == 0)
{
printf("%d",i);
if(n != i)
{
printf("*");
}
n = n / i;
}
}
printf("\n");
return 0;
}
题目4:输入两个正整数m和n,求其最大公约数和最小公倍数。
#include <stdio.h>
int gcd(int x,int y) //辗转相除法求最大公约数
{
int i,j,z;
if(x < y)
{
i = x;
x = y;
y = i;
}
z = x % y;
if(z != 0)
{
while(z != 0)
{
x = y;
y = z;
z = x % y;
}
return y;
}
else
{
return y;
}
}
int lcm(int x,int y,int z) //求最小公倍数,=两整数相乘,除以最大公倍数
{
int temp;
temp = x * y /z;
return temp;
}
int main()
{
int num1,num2,a;
printf("请输入两个正整数:");
scanf("%d%d",&num1,&num2);
a = gcd(num1,num2);
printf("最大公约数为:%d\n",a);
printf("最小公约数为:%d\n",lcm(num1,num2,a));
return 0;
}
题目5:输入一行字符,分别统计出其中英文字母、空格、数字的个数。
#include <stdio.h>
int main()
{
char a[100];
int i,letters,number,other,space;
i = 0;
letters = 0;
number = 0;
other = 0;
space = 0;
gets(a);
while(a[i] != '\0')
{
if(a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <= 'Z')
{
letters++;
}
else if(a[i] == ' ')
{
space++;
}
else if(a[i] >= '0' && a[i] <= '9')
{
number++;
}
else
{
other++;
}
i++;
}
printf("字母有%d个,空格有%d个,数字有%d个,其他有%d个\n",letters,space,number,other);
return 0;
}
题目6:写一个函数,将字符串转换成带符号整型数据,注意判断字符串长度
如:“-123134” -123134 , “123134” 123134
#include <stdio.h>
int change(char *a)
{
int num,i;
i = 1;
num = 0;
while(*a != '\0')
{
if(*a == '-')
{
i = -1;
}
if(*a >= '0' && *a <= '9')
{
num = num*10 + (*a - '0');
}
a++;
}
return num*i;
}
int main()
{
char a[100];
printf("输入一个整数。\n");
gets(a);
printf("%d\n",change(a));
return 0;
}