C语言练习-if语句
练习1:三角形判断
描述:
KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
输入描述:
题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。
输出描述:
针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isosceles triangle!”,其余的三角形则输出“Ordinary triangle!”,反之输出“Not a triangle!”。
#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 || b==c || a==c){
printf("Isosceles triangle!\n");
}
else {
printf("Ordinary triangle!\n");
}
}
else{
printf("Not a triangle!\n");
}
}
return 0;
}
练习2:
题目名称:分数求和
题目内容:计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
int main()
{
double sum = 0;
int flag = 1;
for (int i = 1; i <= 100; i++)
{
sum = sum + 1.0*flag / i;
flag = -flag;
}
printf("%lf\n", sum);
return 0;
}
注意点: 为了获得小数,需要注意定义类型、输出类型。要1.0 / i 才能除出小数
练习3:
题目名称:数9的个数
题目内容:编写程序数一下 1到 100 的所有整数中出现多少个数字9
int main()
{
int count = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 10 == 9)
{
count++;
}
if (i / 10 == 9)
{
count++;
}
}
printf("%d\n", count);
}
需要注意的是两个 if 的使用,本题是计算有多少个9,所以99的情况需要计算两次,不能使用 else if
练习4:
题目名称:打印闰年
题目内容:打印1000年到2000年之间的闰年
闰年判断的规则:
1.能被4整除并且不能被100整除是闰年
2.能被400整除是闰年
int main()
{
int year = 0;
scanf("%d", &year);
if ((year % 4 == 0) && (year % 100 != 0) || (year%400 == 0))
{
printf("闰年");
}
else printf("no闰年");
}
练习5:
题目名称:求最大值
题目内容:求10 个整数中最大值
int main()
{
int arr[10] = { 1,3,5,7,2,4,9,10,8,3 };
int max = arr[0];
int length = sizeof(arr) / sizeof(arr[0]) - 1;
for (int i = 1; i < length; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
printf("max = %d\n", max);
}
主要用的是遍历思想