n的阶乘

int main()
{
	int ret = 1;
	int i = 0;
	int n = 0;
	printf("输入 n \n");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		ret = ret*i;
		printf("%d\n",ret);
	}
	printf("n的阶乘为:\n");
	printf("%d\n",ret);
	return 0;
}

n的阶乘的和

int main()
{
	int ret = 1;
	int i = 0;
	int n = 0;
	int a = 0;
	scanf("%d",&a);
	for(i=1;i<=a;i++)
	{
		ret = ret * i;
		n = n + ret;
		printf("%d ",ret);
	    printf("%d\n",n);
	}
	printf("n的阶乘 %d\n",ret);
	printf("n阶乘的和 %d\n",n);
	return 0;
}

在一个有序数组中查找具体的某个数字n

int main()
{
	int arr[] = {1,2,3,4,5,6,7,8,9,10};
	int k = 0;
	scanf("%d",&k);
	int i = 0;
	int sz = sizeof(arr)/sizeof(arr[0]);
	for(i=0;i<sz;i++)
	{
		if(k == arr[i])
		{
			printf("找到了,下标是: %d\n", i);
		    break;
		}
	}
	if(i == sz)
		printf("找不到 \n");
	return 0;
}

方法二:折半查找算法

int main()
{
	int k = 0;
	scanf("%d",&k);
	int arr[] = {1,2,3,4,5,6,7,8,9,10};
	int sz = sizeof(arr)/sizeof(arr[0]);//计算元素个数
	int left = 0;//左下标
	int right = sz-1;//右下标
	while(left<=right)
	{
	int mad = (left + right)/2;
	if (arr[mad] < k)
	{
		left = mad+1;
	}
	else if(arr[mad] > k)
	{
		right = mad-1;
	}
	else
	{
		printf("找到了,下标为:%d\n",mad);
		break;
	}
	}
	printf("找不到\n");
	return 0;
}

编写代码,演示多个字符从两端移动,向中间汇聚

int main()
{
	char arr1[]="welcom to Shan Dong";
	char arr2[]="*******************";
	int left = 0;
	int right = sizeof(arr1)/sizeof(arr1[0])-2;
	while(left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n",arr2);
		//输出一次休息0.5秒
		Sleep(500);
		system("cls");//执行系统命令的一个函数---cls---清空屏幕
		left++;
		right--;		
	}
	printf("%s\n",arr2);
	return 0;
}

编写代码实现,模拟用户登录情景,并且只能登录三次

int main()
{
	int i = 0;
	char mi[20] = {0};
	for (i=0;i<3;i++)
	{
		printf("请输入密码:>\n");
		scanf("%s",&mi);
		if(strcmp(mi,"321") ==0 )//==  不能用来比较两个字符串是否相等,应该使用一个库函数---strcmp
		{
			printf("登录成功\n");
			break;
		}
		else
		{
			printf("密码错误\n");
		}
	}
	if(i == 3)
		{
			printf("账户冻结\n");
		}
	return 0;
}

输入三个数并从大到小输出

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	printf("输入3个数\n");
	scanf("%d%d%d",&a,&b,&c);
	if(a<b)
	{
		int as = a;
		a = b;
		b = as;
	}
	else if(a<c)
	{
		int as = a;
		a = c;
		c = as;
	}
	else if(b<c)
	{
		int as = b;
		b = c;
		c = as;
	}
	printf("从打到小顺序为:%d %d %d\n",a,b,c);
	return 0;
}

打印1到100之间打印3的倍数

方法一:while() 循环

//int main()
int main()
{
	int a = 1;
	printf("100之间3的倍数为:\n");
	while(a<100)
	{
		if(a%3==0)
		{
			printf("%d ",a);
		}
		a++;
	}
	return 0;
}

方法二:for 循环

int main()
{
	int i = 0;
	printf("100之间3的倍数为 \n");
	for(i=1;i<=100;i++)
	{
		if(i%3==0)
		{
			printf("%d ",i);
		}
	}
	return 0;
}

两个数的最大公约数

int main()
{
	int m = 0;
	int n = 0;
	scanf("%d %d\\n",&m,&n);
	while(m%n)
	{
		int r = m%n;
		m = n;
		n = r;
	}
	printf("%d\n",n);
	return 0;
}

1000到2000之间的闰年

1:能被4整除并且不能被100整除的是闰年

2:能被400整除的是闰年

int main()
{
	int i = 0;
	int count = 0;
	for (i=1000;i<=2000;i++)
	{
	//方法一
		if(i%4==0&&i%100!=0)
		{
			printf("%d ",i);
			count++;
		}
		else if(i%400==0)
		{
			printf("%d ",i);
			count++;
		}
	//方法二
	/*	if(((i%4==0)&&(i%100!=0))||(i%400==0))
		{
			printf("%d ",i);
			count++;
		}*/
	}
	printf("\ncount = %d\n",count);
	return 0;
}

100到200之间的素数(素数判断方法较多,基础简单版)

int main()
{
	int i = 0;
	int count = 0;
	for(i=100;i<=200;i++)
	{
		//判断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;
}

1~100中9的个数

int main()
{
	int i = 0;
	int count = 0;
	for(i=1;i<=100;i++)
	{
		if(i%10==9)//9--99
		{
			printf("%d ",i);
			count++;
		}
		if(i/10==9)//91--99
		{
			printf("%d ",i);
			count++;
		}
	}
	printf("\n9的个数 %d\n",count);
	return 0;
}

1/1-1/2+1/3-1/4+.....-1/100

方法一:1/1~~1/100逐一相加,flag为-1,隔1相称

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

方法二:先算加数之和,再算减数之和

int main()
{
	int i = 0;
	int j = 0;
	double sum1 = 0.0;
	double sum2 = 0.0;
	for(i=1;i<=100;i+=2)
	{
		sum1 += 1.0/i; 
	}
	for(j=2;j<=100;j+=2)
	{
		sum2 += 1.0/j;
	}
	printf("%lf\n",(sum1-sum2));
	return 0;
}

99乘法表

int main()
{
	int i = 0;
	int j = 0;
	for(i=1;i<=9;i++)//先打印 行
	{
		for(j=1;j<=i;j++)//打印 列
		{
			printf("%d * %d =%2d  ",j,i,i*j);
		}
		printf("\n");
	}
	return 0;
}