前言:
内容来源:
b站视频,链接为以下地址(专升本编程题)
内容:
第一题
有 1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a= 0;
int b = 0;
int c = 0;
int count = 0;//计数用的
for (a = 1; a <= 4; a++) //计算百位数
for(b=1; b<=4; b++) //计算十位数
for (c = 1; c <= 4; c++) //计算个位数
{
if (a != b && b != c && a != c)
{
int n = a * 100 + b * 10 + c;
printf("%d ", n);
count++;
}
}
printf("\n一共有 %d 个不相同的三位数", count);
return 0;
}
第二个题目
1个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,求 10000 以内满足条件的数。
long int 取不到小数,也就是说,他不能存储类似根号101
也就是说被开方出来是整数才能被存储,对对对‘了
//2,计算就是一个数加100,可以被开方,再加168也能被开方
int main()
{
long int i = 0;
for (i = 0; i <= 1000; i++)
{
long int m = sqrt(i + 100);
long int n = sqrt(i + 268);
//一个错误,这里没有写双等于号
if ((m * m == i + 100) && (n * n == i + 268)) ///一个数的平方根的平方等于该数,此数是完全平方数
{
printf("%d ",i);
}
}
return 0;
}
第三题
打印九九乘法表
//第三题,打印九九乘法表
int main()
{
int i = 0;
int j = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-3d", i, j, i * j);
}
printf("\n"); //打印完一行换行,就是打印2开头的数字就换一行
}
}
4、判断一个五位数是否是回文数,12321是回文数,万位和个位相同,千位和十位相同
//第四题,输入一个5位数,判断是否为回文数
int main()
{
int wan, qian, bai, shi, ge, x;
scanf("%d", &x);
//假如输入的数字为12321
wan = x / 10000; //只计算万位的数字是多少,如1
qian = (x % 10000) / 1000; //先把千位的数值取出来(2321),例如,在取出千位的数字(2)
shi = (x % 100) / 10; //先把十位的数值取出来(21),如取出(2)
ge = x % 10; //取余就是个位数了,直接就是12321 % 10 ,余数就是1
if (wan == ge && qian == shi)
{
printf("这个是回文数");
}
else
{
printf("这个不是回文数");
}
return 0;
}