1.求两个数的较大值
题目内容:写一个函数求两个整数的较大值
如:输入10 20
输出较大值:20
答:
int Max(int x,int y)
{
if (x > y)
return x;
else
return y;
}
int main()
{
int a = 10;
int b = 20;
scanf_s("%d %d", &a, &b);
int m=Max(a, b);
printf("%d\n", m);
return 0;
}
2.define、include是预处理指令,不是关键字
3.用在switch语言中的关键字不包含continue
4.判断一个整数是否能被5整除。输入描述:输入包括一个整数M(1<M<100,000).输出描述:输出包括一行,如果M可以被5整除就输出YES,否则输出NO(结果大小写敏感)。
int main()
{
int m = 0;
scanf_s("%d", &m); //这里的%d后面不要\n,因为回车换行是一起的,输入一个数字需要回车才可以得到结果,但是加了\n后,它就把输入的数字换行了。
if (m % 5 == 0)
printf("YES\n");
else
printf("NO\n");
return 0;
}
5.判断一个数是否为奇数
int main()
{
int num = 15;
if (num % 2 == 1);
printf("奇数\n");
return 0;
}
6.输出1-100之间的奇数。
int main()
{
int i = 0;
for (i = 1; i <= 100; i++)
{
if (i % 2 == 1)
printf("%d ", i);
}
return 0;
}
7.以下代码中m,n的运行结果是?
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch (n)
{ //switch允许嵌套使用
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default:
break;
}
printf("m = %d,n = %d\n", m, n);
return 0;
}
注意:有没有break;还有switch后面的数字,case有没有被跳过
8.请问循环要循环多少次?
int main()
{
int i = 0;
int k = 0;
for (i = 0, k = 0; k = 0; i++, k++)
k++;
return 0;
}
k被赋值成0,为假,一次都不进循环,故一次都没进去。(一个等号“=”是赋值,两个“==”是等于)
9.计算n的阶乘(阶乘就是1*2*3*4…)
int main()
{
int i = 0;
int n = 0;
int sum = 1;
scanf_s("%d", &n);
for (i = 1; i <= n; i++)
{
sum = sum * i;
}
printf("%d\n", sum);
return 0;
}
10.计算1!+2!+3!+......+10!(=计算1的阶乘加到10的阶乘)
int main()
{
int i = 0;
int n = 0;
int ret = 1;
int sum = 0;
for (n = 1; n <= 10; n++)
{
ret = 1; //计算n的阶乘之前,把ret初始为1
for (i = 1; i <= n; i++)
{
ret *= i;
}
sum += ret;
}
printf("%d\n", sum);
return 0;
}
第二种答案:
int main()
{
int n = 0;
int ret = 1;
int sum = 0;
for (n = 1; n <= 10; n++)
{
ret *= n;
sum += ret;
}
printf("%d\n", sum);
return 0;
}