1.有三个数,将他们按照从大到小的顺序输出
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d", &a, &b, &c);
int tmp = 0;
if (a < b)
{
tmp = a;
a = b;
b = tmp;
}
if (a < c)
{
tmp = a;
a = c;
c = tmp;
}
if (b < c)
{
tmp = b;
b = c;
c = tmp;
}
printf("%d %d %d\n",a,b,c);
return 0;
}
2.打印1-100之间3的倍数
int main()
{
int i = 0;
for (i = 1; i <= 100; i++)
{
if (i % 3 == 0)
printf("%d ", i);
}
return 0;
}
3.求两个数的最大公约数
int main()
{
int m = 24;
int n = 18;
int r = 0;
scanf("%d%d", &m, &n);
while (r = m % n)
{
m = n;
n = r;
}
printf("%d\n", n);
return 0;
}
4.输出1000年至2000年之间的闰年
闰年的判断方法:
不是整百的年份只要被4整除的就是闰年,整百的年份必须得被400整除才是闰年
int main()
{
int year = 0;
int count = 0;
for (year = 1000; year < 2000; year++)
{
if (year % 4 == 0 && year % 100 != 0)
{
printf("%d ", year);
count++;
}
else if (year % 400 == 0)
{
printf("%d ", year);
count++;
}
}
printf("\ncount=%d\n", count);
return 0;
}
5.打印100-200之间的素数
素数判断的方法:
试除法--在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
int main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
if (j == i)
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}
优化--辗转相除法
int main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
break;
}
}
if (j >sqrt(i))
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}
6.求1-100里面包含9的所有数,并计数
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <=100; i++)
{
if (i / 10 == 9)
{
printf("%d ", i);
count++;
}
if (i % 10 == 9)//分别用if,因为有99这一个特殊的数字
{
printf("%d ", i);
count++;
}
}
printf("\ncount=%d\n", count);
}
7.分数求和,计算1/1+1/2+1/3+...+1/100。
int main()
{
int i = 0;
double sum = 0.0;//注意浮点型
for (i = 1; i <= 100; i++)
{
sum += 1.0 / i;
}
printf("%lf\n", sum);
return 0;
}
分数求和,计算1/1-1/2+1/3-...+1/100
int main()
{
int i = 0;
double sum = 0.0;//注意浮点型
int flag = 1;
for (i = 1; i <= 100; i++)
{
sum += flag * 1.0 / i;
flag = -flag;
}
printf("%lf\n", sum);
return 0;
}
8.求一个数组中的最大值。
int main()
{
int arr[] = { -1,2,3,4,5,6,7,8,9 };
int max = arr[0];
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 1; i < sz; i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
printf("max=%d\n", max);
return 0;
}
9.打印乘法口诀表
int main()
{
int i = 0;
for (i = 0; i <= 9; i++)
{
int j = 1;
for (j = 1; j <= i; j++)
{
printf("%d*%d=%- 2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
10.猜数字游戏
void menu()
{
printf("***********猜数字游戏***********\n");
printf("***** 1.play 0.exit *****\n");
printf("********************************\n");
}
void game()
{
int ret = 0;
int guess = 0;
ret = rand() % 100 + 1;
while (1)
{
printf("请猜一个数字:>");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择>:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
return 0;
}
就这些啦,继续努力哦!