11、编写代码,演示多个字符从两端移动,向中间汇聚
12、编写代码,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示游戏登陆成功,如果三次均输入错误,则推出程序)
13、写一个猜数字游戏,产生一个1-100之间的随机数,猜对了:恭喜你,猜对了!猜错了:提示猜大了还是猜小了,继续猜,直到猜对。游戏可以一直玩,除非退出游戏
14、输入三个数,按大到小输出
15、打印1-100以内,3的倍数
16、求两个数的最大公约数,最小公倍数
17、1000年到2000年之间的闰年
18、打印100-200之间的素数(质数)?
答案:
11、
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<windows.h> //sleep头文件
int main()
{
char arr1[] = { "Welcome To China" };
char arr2[] = { "****************" };
int left = 0;
int right = sizeof(arr1) / sizeof(arr1[0])-1; //int right=strlen(arr1)-1;
while(left<=right)
{arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n",arr2);
Sleep(1000);//休眠一秒,sleep首写字母大写
system("cls");//清空屏幕
left++;
right--;
}
printf("%s\n", arr2);
return 0;
}
12、
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
int i = 0;
char password1[20] = { "Wsx..135270" };
char password2[20] = { 0 };
while (i < 3) //for ( i=0 ; i<3 ; i++ )
{
printf("请输入密码:");
scanf("%s", password2);
if (strcmp(password1, password2) == 0) //字符串比较,不能使用==
{
printf("登录成功\n");
break;
}
else
{
printf("密码输入错误,请重新输入!\n");
}
}
if (i == 3)
{
printf("密码输入错误3次,退出程序\n");
}
return 0;
}
13、
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("**************************\n");
printf("******** 1.play ********\n");
printf("******** 0.exit ********\n");
printf("**************************\n");
}
void game()
{
int ret = rand() % 100 + 1;//%100的余数是0-99,+1就是1-100
int guss = 0;
while (1)
{
printf("请猜数字:");
scanf("%d", &guss);
if (guss < ret)
{
printf("猜小了!\n");
}
else if (guss > 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;
}
14、
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
printf("请输入数字:");
scanf("%d %d %d", &a, &b, &c);
if (a < b)
{
int max = 0;
max=a;
a = b;
b = max;
}
if (a < c)
{
int max = 0;
max = a;
a = c;
c = max;
}
if (b< c)
{
int max = 0;
max = b;
b = c;
c = max;
}
printf("%d %d %d",a,b,c);
return 0;
}
15、
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i = 0;
for(i=1;i<=100;i++)
{
if (i % 3 == 0)
{
printf("%d ", i);
}
}
return 0;
}
16、
最大公约数:
(一)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int m = 0;
int n = 0;
printf("请输入两个整数:");
scanf("%d %d", & n, &m);
int x = 0;
if (m > n)
{
x = n;
}
else
{
x = m;
}
while (1)
{
if (m % x == 0 && n % x == 0)
{
printf("%d\n", x);
break;
}
x--;
}
return 0;
}
(二)辗转相除
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int m = 0;
int n = 0;
int x = 0;
printf("请输入两个整数:");
scanf("%d %d", &m, &n);
while (m % n)
{
x = m % n;
m = n;
n = x;
}
printf("%d\n",n);
return 0;
}
最小公倍数:
(一)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int m = 0;
int n = 0;
printf("请输入两个整数:");
scanf("%d %d", &n, &m);
int x = 0;
if (m > n)
{
x = m;
}
else
{
x = n;
}
while (1)
{
if (x % m == 0 && x % n == 0)
{
printf("%d\n", x);
break;
}
x++;
}
return 0;
}
(二)最小公倍数=m*n/最大公约数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int m = 0;
int n = 0;
int x = 0;
printf("请输入两个整数:");
scanf("%d %d", &m, &n);
int min = m * n;
while (m % n)
{
x = m % n;
m = n;
n = x;
}
min = min / n;
printf("%d\n",min);
return 0;
}
17、
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i = 1000;
int count = 0;
for (i = 1000;i <= 2000;i++)
{
if (i % 4 == 0 && i % 100 != 0|| i % 400 == 0)
{
printf("%d ", i);
count++;
}
}
printf("\n%d\n", count);
return 0;
}
18、
(一)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i = 100;
for (i = 100;i <= 200;i++)
{
int j = 2;
for (j = 2;j < i;j++)
{
if (i % j == 0)
{
break;
}
}
if (i == j)
{
printf("%d ", i);
}
}
return 0;
}
(二)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int count = 0;
int i = 100;
for (i = 100;i <= 200;i++) // for (i = 101;i <= 200;i+=2)
{
int j = 2;
int flag = 1;//假设i就是素数
for (j = 2;j < i;j++)
// ② for(j=2;j<=sqrt(i);j++) //sqrt开平方函数,头文件math.h
{
if (i % j == 0)
{
flag = 0;//不是素数
break;
}
}
if (flag == 1)
{
printf("%d ", i);
count++;
}
}
printf("\ncount=%d\n", count);
return 0;
}