1.BC51-三角形判断
这是牛客的一道题,题目如下:
题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。
首先分析题目,题目要求是多组输入,那么就要运用循环的语句,我这里是用while循环,其次是看题目条件,题目有多个如果,那么自然想到用到if语句
代码如下:
#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 && b==c)
printf("Equilateral triangle!\n");
else if(a==b || b==c || a==c)
printf("Isosceles triangle!\n");
else
printf("Ordinary triangle!\n");
}
else
printf("Not a triangle!\n");
}
return 0;
}
通过if语句先判断是否是三角形,如果是就进入if语句,在if语句中在依次判断该三角形的形状,如果都不是就是else语句来打印出不是三角形的结果(Not a triangle!)
2. 乘法口诀表
在屏幕上输出9*9乘法口诀表
99乘法表想必大家都熟悉了,那么该如何打印出来,通过两个for循环就可以打印出来,首先通过一个for循环来打印行,在来一个for循环打印列数,为了打印美观一些让列数始终小于行数,代码实现如下:
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 9; i++)
{
int j = 0;
for (j = 1; j <= i; j++)
{
printf("%d * %d=%2d ", i, j, j * i);
}
printf("\n");
}
return 0;
}
3.求最大值
求10 个整数中最大值
10个数首先定义一个数组来存放10个数,在通过创建一个max(最大值),和一个第三个变量tmp,用来交换两个数的值。代码如下:
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,6,7,9,8,10 };
int i = 0;
int max = 0;
int tmp = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
max = arr[0];
for (i = 1; i <= sz; i++)
{
if (max < arr[i])
{
tmp = arr[i];
arr[i] = max;
max = tmp;
}
}
printf("%d", max);
return 0;
}
其中sz是数组的元素个数
4.分数求和
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果,我这里用for循环来不断计算,用if语句来判断是否为奇数还是偶数,把每个奇数的和与偶数的和计算出来,根据题目在用奇数的值减去偶数(因为偶数是负的)代码如下:
#include<stdio.h>
int main()
{
int i = 0;
double sum = 0;
double sum1 = 0;//计算奇数的分数和
double sum2 = 0;//计算偶数的分数和
for (i = 1; i <= 100; i++)
{
if (i % 2 == 0)
{
sum2 += 1.0 / i;
}
else
{
sum1 += 1.0 / i;
}
}
sum = sum1 - sum2;
printf("%f", sum);
return 0;
}
5.打印1000年到2000年之间的闰年
打印1000年到2000年之间的闰年
通过闰年的判断来打印是否为闰年,闰年的基本性质是:可以被4整除但不能被100整除,或者能够被400整除2,满足其中一个条件就是闰年。代码如下:
#include<stdio.h>
int main()
{
int year = 0;
for(year=1000; year<=2000; year++)
{
if(((year%4==0)&&(year%100!=0))||(year%400==0))
{
printf("%d ", year);
}
}
return 0;
}
6.数9的个数
编写程序数一下 1到 100 的所有整数中出现多少个数字9
首先当然是for循环1到100次,通过%来判断除以10后余数是不是9,这样就打印了1到89中的数字9,但90时这个就不正确了,所以通过 / 来判断除以10后的商是不是9,这样就接着打印90到100中9的个数。然后通过count 来计算一共有多少给9。代码如下:
#include<stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i++)
{
if (i % 10 == 9)
{
printf("%d ", i);
count++;
}
if (i / 10 == 9)
{
printf("%d ", i);
count++;
}
}
printf("\n");
printf("总共有个%d数字9", count);
return 0;
}