年龄分级
int main()
{
int age = 0;
printf("请输入年龄:");
scanf("%d",&age);
if (age < 18)
printf("青少年\n");
else if (age > 18 && age < 25)
printf("青年\n");
else if (age > 25 && age < 40)
printf("中年");
else
printf("老年");
return 0;
}
判断是否为奇数
int main()
{
int num = 0;
scanf("%d",&num);
if (num % 2 == 1)
printf("奇数\n");
else
printf("no!!\n");
return 0;
}
打印出100以内的奇数
int main()
{
int num = 1;
while (num <= 100)
{
if (num % 2 == 1)
{
printf("%d\n",num);
}
num++;
}
return 0;
}
Switch语句
int main()
{
int num = 0;
scanf("%d",&num);
switch (num)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday");
break;
case 6:
case 7:
printf("weekend");
break;
default://所有case不能匹配的都走到default
printf("选择错误");
break;
}
return 0;
}
while
int main()
{
int i = 1;
while(i<=10)
{
if (5 == i)
continue;//执行到此处直接跳过下面代码,再次返回到while判定处,进入死循环
printf("%d",i);
i++;
//while循环中的break用于永久的终止循环
//continue跳过本次循环后面的代码,直接去判断部分,进行下一次循环的判断
}
return 0;
}
int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)//end of file-文件结束标志,读取错误结束
{
putchar(ch);
}
return 0;
}
int main()
{
printf("请输入密码:");
char password[20] = {0};
scanf("%s",password);
int ch = 0;
while ((ch=getchar())!='\n')
{
;
}
printf("请确认密码Y/N:");
int ret = getchar();
if ('Y' == ret)
printf("yes\n");
else
printf("no!!");
return 0;
}
for循环
1.不可以在for循环体内修改循环变量,防止for循环失去控制.
2.建议for语句的循环控制变量的取值采用“前闭后开区间”写法
int main()
{
for (;;)//for循环的判断部分省略意味着判断会恒成立(不推荐)
{
printf("111\n");
}
return 0;
}
do...while
do
{
}
while(表达式)
阶乘
int main()
{
int i = 1;
int n = 0;
scanf("%d", &n);
int ret = 1;
for (i = 1; i <= n; i++)
{
ret = ret * i;
}
printf("%d\n", ret);
return 0
int main()
{
int a = 1;
int ret = 1;
int sum = 0;
for (a = 1; a <= 3; a++)
{
ret = ret * a;
sum = sum + ret;
}
printf("%d", sum);
return 0;
}
二分查找(折半查找)
在一个有序数组中查找具体的某个数n
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = 7;
int sz = (sizeof(arr)) / (sizeof(arr[0]));
int left = 0;
int right = sz - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (arr[mid] < k)
{
left = mid + 1;
}
else if (arr[mid] > k)
{
right = mid - 1;
}
else
{
printf("找到了 ,下标是:%d\n",mid);
break;
}
}
if (left > right)
{
printf("找不到");
}
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
//welcome to bit!!!
int main()
{
char arr1[] = "welcom to bit!!!!";
char arr2[] = "#################";
int left = 0;
int right = strlen(arr2)- 1;
//"abc"->[a b c \0]sizeof四个元素,int right=sizeof(arr2)/sizeof(arr2[0]-2)
//strlen计算长度,sizeof计算元素个数
while (left<=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s", arr2);
Sleep(1000);//休眠1秒
system("cls");//清空屏幕,system是一个库函数,可以执行系统命令
left++;
right--;
}
printf("%s", arr2);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
#include<string.h>
int main()
{
int i = 0;
char password[] = "abcdef";//假设密码是字符串:abcdef
for (i = 0; i < 3; i++)
{
printf("请输入密码:>");
scanf("%s", password);
if (strcmp(password,"abcdef")==0)//比较两个字符串是否相等,不能使用==,而应该使用一个库函数:strcmp
{ //如果返回值是0,表示两个字符串相等
printf("登录成功\n");
break;
}
else
printf("登录失败!\n");
}
return 0;
}
void emun()
{
printf("—————————\n");
printf("——1.开始游戏——\n");
printf("——0.结束游戏——\n");
printf("—————————\n");
}
void game()
{
int red = rand() % 100 + 1;//生成一个随机数,0~RED_MAX,0~32767
int i = 0;
while (1)
{
printf("猜数字:>");
scanf("%d", &i);
if (i < red)
{
printf("猜小了\n");
}
else if (i > red)
{
printf("猜大了\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
int main()
{
srand((unsigned)time(NULL));
int input = 0;
do
{
emun();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏");
break;
default:
printf("选择错误,请重新选择");
break;
}
} while (input);
return 0;
}
//关机程序
//1.电脑运行起来。1分中后关机
//2.如果输入:我是猪,就取消关机
int main()
{
system("shutdown -s -t 60");
char input[20] = { 0 };
while (1)
{
printf("请注意,你的电脑将在60秒之内关机,如果输入“我是猪”,就取消关机\n");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0)
{
system("shutdown -a");
break;
}
}
return 0;
}
求最大公约数
暴力求解
int main()
{
int i = 0;
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int min = (a < b) ? a : b;
for (i = min; i <= min; i--)
{
if (a % i == 0 && b % i == 0)
{
printf("最大公约数是:%d\n", i);
break;
}
}
return 0;
}
辗转相除法
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d %d", &a, &b);
while (c = a % b)
{
a = b;
b = c;
}
printf("%d\n",b);
return 0;
}