C语言--分支循环编程题目

第一道题目:

#include <stdio.h>

int main()
{
	//分析:
	//1.连续读取
	int a = 0;
	int b = 0;
	int c = 0;
	while (scanf("%d %d %d\n", &a, &b, &c) != EOF)
	{
		//2.对三角形的判断
		//a = b = c 等边三角形  其中两个相等 等腰三角形    其余情况 其余三角形
		//3.if语句输出结果
		if (a + b > c && a + c > b && b + c > a)    //判读是三角形
		{
			if (a == b && b == c)					//判断是不是等边三角形
			{
				printf("%s\n", "Equilateral triangle!");
			}
			else if (a == b || a == c || b == c)	//判断是不是等腰三角形
			{
				printf("%s\n", "Isosceles triangle!");
			}
			else                                   //判断是不是其余三角形
			{
				printf("%s\n", "Ordinary triangle!");
			}
		}
		else                                      //不是三角形
		{
			printf("%s\n", "Not a triangle!");
		}
	}
	return 0; 
}

 第二道题目:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 1; i <= 9; i++)				//i控制行
	{
		for (j = 1; j <= i; j++)			//j控制列
		{
			int m = 0;
			m = i * j;						//m表示最后的乘积
			printf("%d * %d = %d  ", i, j, m);
			m = 0;							//打印后将m清零,防止对循环造成影响
		}
		printf("\n");
	}
	return 0;
}

第三道题目:

#include <stdio.h>

int main()
{
	//1.将输入的数字放进数组中
	int num[10];
	int n = 10;					// int n = sizeof(num) / sizeof(num[0]); // 另一种确定数组大小的方式

	int i = 0;					//用于将输入的数字存进数组中
	for (i = 0; i < n; i++)		//注意此处的i < n不可以写成i <= n会导致数组越界访问
	{
		scanf("%d", &num[i]);
	}
	int max = num[0];			// 假设第一个元素是最大值

	//2.利用循环比较打擂台的方式得到一些数中的最大值
	int j = 0;					//j用于遍历数组中的数字
	for (j = 1; j < n; j++)		//注意此处的j < n不可以写成j <= n会导致数组越界访问
	{
		if (num[j] > max)
		{
			max = num[j];
		}
	}
	printf("%d", max);
	return  0;
}

第四道题目:

#include <stdio.h>

int main()
{
	int n = 100;						//最大分母
	double sum = 0.0;					//存放数据之和
	int i = 1;							//分母

	for (i = 1; i <= n; i++)			//实现分母自增
	{
		if (i % 2)						//确定奇数项前的符号
		{
			sum += 1.0 / i;
		}
		else                            //确定偶数项前的符号              
		{
			sum -= 1.0 / i;
		}
	}
	printf("结果为: %.10lf\n", sum);	// 打印结果,保留 10 位小数

	return 0;
}

第五道题目:

#include <stdio.h>
int main()
{
	int count = 0;								//用于计算有多少个9

	int i = 1;
	for (i = 1; i <= 100; i++)
	{
		int num = i;							//用于存放当前数字
		if (i % 10 == 9 && i / 10 != 9)			//用于检测个位是9,十位不是9的数字
		{
			count++;
		}
		else if(i / 10 == 9 && i % 10 != 9)		//用于检测十位是9,个位不是9的数字
		{
			count++;
		}
		else if (i / 10 == 9 && i % 10 == 9)	//用于检测十位和个位都是9的数字
		{
			count += 2;							//由于有两个9需要加2
		}
	}
	printf("%d", count);
	return 0;
}

第六道题目:

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 100; i <= 200; i++)
	{
		int j = 0;
		int flag = 1;					//标志位,用于确定当前数字之前的数均没有与他整除的
		for (j = 2; j < i; j++)			//把从2到(i-1)之间的所有数都与i试除,确保都没有可以与i整除的
		{
			if (i % j == 0)
			{
				flag = 0;				//如果出现可以整除的就将标志位置0,并直接跳出for循环
				break;
			}
		}
		if (flag == 1)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值