1.判断三角形类型
题目分析:和判断闰年那题差不多,这题我们要先判断是否能构成三角形,再来判断是那种三角形
#include <stdio.h>
int main()
{
int a,b,c;
while(scanf("%d %d %d",&a,&b,&c)!=EOF)
{
if((a+b)>c && (a+c)>b && (b+c)>a)//判断能构成三角形
{
if((a==b) && (a==c) && (b==c))
{
printf("Equilateral triangle!\n");
}
else if(((a==b) && (a!=c)) || ((a==c) && (a!=b)) || ((b==c) && (b!=a)))
{
printf("Isosceles triangle!\n");
}
else
{
printf("Ordinary triangle!\n");
}
}
else
{
printf("Not a triangle!\n");
}
}
return 0;
}
2. 输出99乘法表
题目分析:99乘法表的格式是x*x=y的格式,所以我们要嵌套两个循环
#include<stdio.h>
int main()
{
for(int i=0;i<9;i++)
{
for(int j=1;j<=i;j++)
{
printf("%d*%d=%2d ",j,i,i*j);
}
printf("\n");
}
return 0;
}
3.反向输出一个四位数
题目分析:取余可以得到最后一位数字,再将数字除10再取余可以得到倒数第二位的数字,以此类推
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n!=0)
{
printf("%d",n%10);
n=n/10;
}
return 0;
}
4.计算最高分与最低分的分差
题目分析:和第二题的解法三类似
#include <stdio.h>
int main()
{
int a,b,c,d,i;
scanf("%d",&a);
for(i=0;i<a;i++)
{
scanf("%d ",&d);
if(d>b)
b=d;
if(d<c)
c=d;
}
printf("%d",b-c);
}
5.求 1~2019中共有多少个数包含数字9
题目分析:对个、十、百位数字取余,若取余结果为9,就是包含数字9的数
#include<stdio.h>
int main()
{
int n = 0, i = 0;
for (i = 0;i < 2019;i++)
{
if (i % 10 == 9 || (i / 10) % 10 == 9 || (i / 100) % 10 == 9)
{
n++;
}
}
printf("%d", n);
}
6.为她偷偷的写一棵圣诞树吧~ ~
思路:
将圣诞树的树叶部分分成三层,第一层打印一个星第二层打印两个星第三层打印三个星
再设置打印的间距,及应该打印的目标行数。
#include <stdio.h>
int main()
{
int n;
printf("请输入圣诞树的层数:");
scanf("%d", &n);
for (int i = 1; i <= 3 * n; i++)
{ //圣诞树头
if (i % 3 == 1)
{ //第一层一个*的
for (int j = i; j < 3 * n; j++)
printf(" ");
for (int k = i; k > 0; k -= 3)
{
printf("* ");
system("color 1");
}
printf("\n");
}
else if (i % 3 == 2) {//第二层两个*的
for (int j = i; j < 3 * n; j++)
printf(" ");
for (int k = i; k > 0; k -= 3)
{
printf("* * ");
system("color 2");
}
printf("\n");
}
else if (i % 3 == 0) {//第三层三个*的
for (int j = i; j < 3 * n; j++)
printf(" ");
for (int k = i; k > 0; k -= 3)
{
printf("* * * ");
system("color 3");
}
printf("\n");
}
}
for (int i = 1; i <= n; i++) {//树干,n个1*的
for (int i = 1; i < 3 * n; i++)
printf(" ");
printf("*\n");
system("color 0c");
}
return 0;
}