1、判断一个数是否为奇、偶数:
#include <stdio.h>
int main()
{
int a = 0;
printf("请输入一个数:\n");
scanf("%d", &a);
int b = a % 2;
if (0 == b)
{
printf("该数为偶数");
}
else
{
printf("该数为奇数");
}
return 0;
}
2、输出1-100的奇数:
#include <stdio.h>
int main()
{
int a = 0;
while (a<101)
{
int b = a % 2;
if (1 == b)
{
printf("%d ",a);
}
a++;
}
return 0;
}
3、计算n的阶乘:
// 法1
#include <stdio.h>
int main()
{
int n = 0;
int num = 1;
printf("请输入一个整数\n");
scanf("%d", &n);
while (n > 0)
{
num = num * n;
n = n - 1;
}
printf("阶乘为:%d", num);
}
//法2
#include <stdio.h>
int main()
{
int i = 0;
int n = 0;
int num = 1;
printf("请输入一个整数:\n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
num = i * num;
}
printf("阶乘为:%d", num);
return 0;
}
4、计算 1!+2!+3!+...+n!
#include <stdio.h>
int main()
{
int i = 0;
int n = 0;
int num = 1;
int sum = 0;
printf("请输入一个整数:\n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
num = i * num;
sum = sum + num;
}
printf("阶乘为:%d", sum);
return 0;
}
5、在一个有序数组中查找具体的某个数字n(二分查找):
#include <stdio.h>
int main()
{
int i = 0;
int n = 0;
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int m = sizeof(arr) / sizeof(arr[0]);
int min = 0;
int max = m - 1;
printf("请输入需要查找的数:\n");
scanf("%d", &n);
while (min <= max)
{
int mid = (min + max) / 2; //int mid = min+(max-min)/2:避免溢出
if (arr[mid] < n)
{
min = mid+1;
}
else if (arr[mid] > n)
{
max = mid-1;
}
else
{
printf("查找编号为:arr[%d]", mid);
break;
}
}
if (min > max)
{
printf("抱歉,数组里面没有");
}
return 0;
}
6、演示多个字符从两端移动,向中间汇聚:
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
int main()
{
char arr1[] = { "Welcome you coming to CSDN!!!" };
char arr2[] = { "#############################" };
int min = 0;
int max = strlen(arr1)-1;//int max=sizeof (arr1)/sizeof (arr1[0]) -2
while (min<=max)
{
arr2[min] = arr1[min];
arr2[max] = arr1[max];
Sleep(500); //每次执行时间500ms,头文件windows.h
system("cls"); //清空屏幕;//system是一个库函数,可以执行系统命令,头文件stdlib.h
min++;
max--;
printf("%s\n", arr2);
}
return 0;
}
7、编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序)
#include <stdio.h>
#include <string.h>
int main()
{
char n0[20] = { 0 };
int i = 0;
printf("请输入密码:\n");
while (i < 3)
{
scanf("%s", &n0);
if (strcmp(n0, "123abc") == 0) //比较2个字符串是否相等,不能使用==,而应该使用一个库函数:strcmp
//如果返回值是0,表示2个字符串相等,头文件string.h
{
printf("登录成功");
break;
}
else if (i < 2)
{
printf("密码错误,请重新输入:\n");
}
i++;
}
if (i == 3)
printf("密码输错3次,退出程序\n");
}