初级C语言(练习:语句贰)

本文介绍了C++编程中的基本操作,如判断整数奇偶、输出1-100的奇数、计算阶乘的不同方法、二分查找算法以及模拟用户登录情景,展示了C语言的一些基础功能。
摘要由CSDN通过智能技术生成

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");
}

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值