第一道题目:
#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;
}