第一道题目:
#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; //用于计算有多少个9int 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;
}