目录
1、在屏幕上输入9*9乘法表
2、输入一个值,打印对应的乘法口诀表
3、求十个整数的最大值
4、分数求和:计算1/1 - 1/2 + 1/3 - 1/4 + 1/5 +...+ 1/99 - 1/100(3种方法)
5、编写程序数一下,1到100的所有整数中出现多少个9(2种方法)
6、输入一个数n,计算1到n的值(两种方法)
1、在屏幕上输入9*9乘法表
#include <stdio.h>
int main()
{
	int i = 0;
	
	for (i = 1; i <= 9; i++)//外层for循环控制行 
	{
		int j = 0;
		for (j = 1; j <= i; j++)//内层for循环控制列
		{
			printf("%d*%d=%-2d ", i, j, i * j);//输出结果,%-2d控制宽度为两个字符,且向左对齐
		}
		printf("\n");
	}
	return 0;
}转化说明的结果

•0标志
设定0标志之后,如果数值的前面有空余位,则用0补齐位数(如果省略了0标志,则会用空白位补齐位数)。
•最小字段宽度
就是至少要显示出的字符位数。
例如:%5d --- 显示至少5位的十进制整数
另外,如果设定“-”,数据会左对齐显示,未设定则会右对齐。
2、输入一个值,打印对应的乘法口诀表
#include <stdio.h>
int main()
{
	int i = 0;
	int n = 0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		int j = 0;
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%d ", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}3、求十个整数的最大值
#include <stdio.h>
int main()
{
	int i = 0; //下标
	int arr[10] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);//求数组元素个数
	//输入
	for (i = 0; i < sz; i++)
	{
		scanf("%d", &arr[i]);
	}
	int max = arr[0];//先把数组中第一个元素视作最大的,再在以下的循环中比较
	for (i = 1; i < sz; i++)
	{
		if (arr[i] > max)
		{
			max = arr[i];//每次比较后,将最大的值附给MAX
		}
	}
	printf("%d\n", max);
	return 0;
}4、分数求和:计算1/1 - 1/2 + 1/3 - 1/4 + 1/5 +...+ 1/99 - 1/100(3种方法)
法一:
分母奇数为正,分母偶数为负
#include <stdio.h>
int main()
{
	int o = 0;//偶数
	int j = 0;//奇数
	double sum1 = 0.0;//偶数的和
	double sum2 = 0.0;//奇数的和
	double sum = 0.0;//总和
	for (j = 1; j <= 99; j += 2)
	{
		sum2 = sum2 + (1.0/j);  //计算分母为奇数的和
	}
	for (o = 2; o <= 100; o += 2)
	{
		sum1 = sum1 + (1.0/o); //计算分母为偶数的和
	}
	//奇数的和-偶数的和
	sum = sum2 - sum1;
	//打印结果
	printf("%f\n", sum);
	return 0;
}法二:
与法一类似
#include <stdio.h>
int main()
{
	int i = 0;
	double sum = 0.0;
	for (i = 1; i <= 100; i++)
	{
		if (i % 2 == 1)//分母是奇数就相加
		{
			sum = sum + (1.0 / i);
		}
		else //分母为奇数就相减
		{
			sum = sum - (1.0 / i);
		}
	}
	printf("%f\n", sum);
	return 0;
}法三:
#include <stdio.h>
int main()
{
	int i = 0;
	double sum = 0.0;
	int flag = 1;
	for (i = 1; i <= 100; i++)
	{
		sum = sum + flag * (1.0 / i);
		flag = -flag;
	}
	printf("%f\n", sum);
}5、编写程序数一下,1到100的所有整数中出现多少个9(2种方法)
个位:9 19 29 39 49 59 69 79 89
十位:90 91 92 93 94 95 96 97 98
个位和十位:99
法一:
#include <stdio.h>
int main()
{
	int i = 0;
	int count = 0;//计算有多少个9
	for (i = 1; i <= 100; i++)
	{
		if (i % 10 == 9) //判断个位含9 
		{
			count++;
		}
		else if (i / 10 == 9)  //判断十位含9
		{
			count++;
		}
	}
	printf("%d\n", count+1 );//+1的原因是99的十位上还有一个1
	return 0;
}法二:
因为if和else if条件为真只会进去一个,去掉else,这样99个位上的9也能+1,十位上的9也能+1
#include <stdio.h>
int main()
{
	int i = 0;
	int count = 0;//计算有多少个9
	for (i = 1; i <= 100; i++)
	{
		if (i % 10 == 9) //判断个位含9 
		{
			count++;
		}
		if (i / 10 == 9)  //判断十位含9
		{
			count++;
		}
	}
	printf("%d\n", count );
	return 0;
}6、输入一个数n,计算1到n的值(两种方法)
法一:
#include <stdio.h>
int main()
{
	int n = 0;
	int i = 0;
	int sum = 0;
	//输入
	scanf("%d", &n);
	//循环产生1~n的数
	for (i = 1; i <= n; i++)
	{
		//求和
		sum = sum + i;//sum += i
	}
	//输出
	printf("%d\n", sum);
	return 0;
}法二:
运用数学中的等差数列求和
#include <stdio.h>
int main()
{
	int n = 0;
	int sum = 0;
	//输入
	scanf("%d", &n);
	//等差求和
	sum = n * (1 + n) * 1 / 2;
	printf("%d\n", sum);
	return 0;
}


















