理清逻辑,用for循环打印

(1)编写程序数一下0-100之间9的个数:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int cnt = 0;
	for (int i = 0; i <= 100; ++i)
	{
		if (i % 10 == 9)//取个位
		{
			++cnt;
		}
		if (i / 10 % 10 == 9)//取十位
		{
			++cnt;
		}
	}
	printf("%d\n", cnt);
	system("pause");
	return 0;
}

( 2)计算1/1-1/2+1/3-1/4+…+1/99-1/100

#include<stdio.h>
#include<stdlib.h>
int main()
{
	double sum = 0;
	for (int i = 1; i <= 100; i=i+2)//求i等于奇数时的和,
	{
		sum = sum + 1.0 / i;
	}
	for (int i = 2; i <= 100; i = i + 2)//求i等于偶数时的和,
	{
		sum = sum - 1.0 / i;
	}
	printf("%lf\n", sum);
	system("pause");
	return 0;
}

(3)将两个数组中的数字交换:(数组中元素个数相等)

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a[] = { 1, 2, 3, 4 };
	int b[] = { 5, 6, 7, 8 };
	int tmp = 0;
	for (int i = 0; i < sizeof(a) / sizeof(a[0]); ++i)//遍历一下数组,创建临时变量交换a[i],b[i]的值,
	{
		tmp = a[i];
		a[i] = b[i];
		b[i] = tmp;
	}
	for (int i = 0; i < sizeof(a) / sizeof(a[0]); ++i)//循环打印数组a的值
	{
		printf("%d ", a[i]);
	}
	printf("\n");
	for (int i = 0; i < sizeof(b) / sizeof(b[0]); ++i)//循环打印数组b的值,
	{
		printf("%d ", b[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}

(4)打印菱形

#include<stdio.h>
#include<stdlib.h>
void PrintfLine(char g_blank, char g_start)
{
	for (int i = 1; i <= g_blank; ++i)
	{
		printf(" ");
	}
	for (int i = 1; i <= g_start; ++i)
	{
		printf("*");
	}
	printf("\n");
}
void PrintfLingxing(int n)
{
	for (int i = 1; i < n; ++i)
	{
		PrintfLine(n - i, 2 * i - 1);
	}
	PrintfLine(0, 2 * n - 1);
	for (int i = n - 1; i > 0; --i)
	{
		PrintfLine(n - i, 2 * i - 1);
	}
}
int main()
{
	PrintfLingxing(10);
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43870213/article/details/84781736