题目1.
编一个程序,从键盘输入一个年号,判断是否为闰年。若是,输出”yes“,否则输出”no“;
#include <stdio.h>
//新版的C语言标准要求main函数必须有返回值,因此定义成int类型,虽然一些编辑器还是支持void类型,不过不建议使用。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
//printf("Hello, World!\n");
int year, flag;
printf("Enter year: ");
scanf("%d", &year); //注意键盘输入的时候需要加上&取地址符号,否则提示错误
if ( (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0 ) )
/*判断闰年平年的条件
1.是4的倍数但不是100的倍数
2.或是400的倍数
*/
{
flag = 1;
}
else
{
flag = 0;
}
if (flag == 1)
{
printf("%d is a leap year! \n", year);
}
else
{
printf("%d is not a leap year! \n", year);
}
system("pause");
return 0;
}
题目2.
输入三角形的三边a,b,c,判断他们是否能构成三角形。若能构成,指出是何种三角形(等腰三角形,直角三角形,一般三角形)。
#include <stdio.h>
#include <stdlib.h> //在vs编译器下面 编译c语言 ,输出后自动关闭窗口。在return前面加上system("pause" ); 可以解决这一问题
#include <math.h>
#define LIMIT 1e-1
int main(int argc, const char * argv[])
{
//设置变量三角形三边
float a, b, c;
int flag = 1;
printf("input the three edge length: \n");
scanf("%f, %f, %f", &a, &b, &c); // 注意输入数据时候按照控制符输入即a,b,c 不可a b c
//判断构成三角形的基本条件
if ((a + b) > c && ((b + c) > a) && ((a + c) > b))
{
printf("输入的三边能够成三角形 \n");
if (fabs(a - b) <= LIMIT || fabs(b - c) <= LIMIT || fabs(a - c) <= LIMIT)
{
//判断等腰三角形的条件
printf("三角形是等腰三角形 \n");
flag = 0;
}
if (fabs(a * a + b * b - c * c) <= LIMIT || fabs(a * a + c * c - b * b) <= LIMIT
|| fabs(b * b + c * c - a * a) <= LIMIT)
{
//判断直角三角形的条件
printf("三角形是直角三角形 \n");
flag = 0;
}
//一般三角形
if (flag)
{
printf("一般三角形 \n");
}
printf("输入的三边可以构成三角形 \n");
}
else
{
printf("无法构成三角形 \n");
}
system("pause");
return 0;
}
补充:
1. #include <stdio.h> --- 系统库
2. #include "abc.ini" --- 自己编写的
编写程序的许多时候需要使用系统库文件,这样便于编写,多多了解常用的系统库文件。
在做条件判断的题目中,使用标记是一种比较好的方法。将符合条件的进行标记,如上面的flag,进行判断的时候进行标记,后面在遍历,可以事半功倍。