C语言基础
输入3个学生的身高,并用空格分隔开来,求这3个学生的平均身高。
#include<stdio.h>
void main()
{
float a1=0,a2=0,a3=0; /*定义存储学生身高变量并赋值*/
float avg=0; /*定义存储平均身高的变量并赋值*/
printf("输入3个学生的身高:(单位:CM)\n"); /*输出提示信息,提示用户输入3个学生身高*/
scanf("%f%f%f",&a1,&a2,&a3); /*将用户输入的*/
avg=(a1+a2+a3)/3;
printf("平均身高为:%f\n",avg);
}
求圆的周长
求给定半径的圆的周长,计算公式为:girt=2×π×r。
#include <stdio.h>
#define PI 3.14
void main()
{
float r,girt; /*定义浮点型变量*/
r=2; /*给变量赋值*/
girt=2*PI*r; /*计算圆周长*/
printf("%f\n",girt); /*输出圆周长*/
}
本例中定义一个单精度变量和一个双精度变量,分别为其赋值,最后通过输出语句将其显示在控制台。#include<stdio.h>
int main()
{
float a; /*定义一个单精度类型变量*/
double b; /*定义一个双精度类型变量*/
a=55555.55555; /*为变量赋值*/
b=55555.5555555555555;
printf("%f\n%f\n",a,b); /*显示变量值*/
return 0; /*程序结束*/
}
从本例可以看出,a是单精度类型的,其有效位数为7位,整数占5位,小数点两位后均为无效数字,所以显示的a的值并不准确;b是双精度类型的,其有效位数为16位,但系统规定,小数后最多可以保留6位,其余部分进行四舍五入
#include<stdio.h>
main()
{
char ch1,ch2;
ch1='a'; ch2='B'; /*给ch1、ch2赋值*/
printf("ch1=%c,ch2=%c\n",ch1-32,ch2+32); /*用字符形式输出一个大于256的数值*/
printf("ch1+10=%d\n", ch1+10);
printf("ch1+10=%c\n", ch1+10);
printf("ch2+10=%d\n", ch2+10);
printf("ch2+10=%c\n", ch2+10);
}
从键盘上输入一个表示年份的整数,判断该年份是否是闰年,判断后的结果显示在屏幕上。
#include <stdio.h>
#include <math.h>
void main()
{
int year; /*定义基本整型变量year*/
printf("请输入年份:\n");
scanf("%d", &year); /*从键盘输入表示年份的整数*/
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) /*判断闰年条件*/
printf("%d 是闰年\n", year); /*满足条件的输出是闰年*/
else
printf("%d 不是闰年\n", year); /*否则输出不是闰年*/
}
要求使用条件表达式判断一个数是否是5和7的整倍数。
#include<stdio.h>
main()
{
int x; /*定义变量*/
printf("please input a number:\n"); /*输出提示信息*/
scanf("%d",&x); /*从键盘输入要判断的整数*/
(x%5==0&&x%7==0)?printf("yes"):printf("no"); /*为真输出yes为假输出no*/
}
将int型变量与char型变量还有float型变量进行相加,将其结果存放在double类型的变量result中,最后使用printf函数将其进行输出。
#include<stdio.h>
int main()
{
int i=1; /*定义整型变量*/
char c='A'; /*ASCII码为65*/
float f=2.2f; /*定义单精度型变量整型变量*/
double result=i+c+f; /*得到相加的结果*/
printf("%f\n",result); /*显示变量值*/
return 0; /*程序结束*/
}
要求用户输入一个字符,通过对ASCII值范围的判断,输出判断的结果。
#include<stdio.h>
int main()
{
char c; /*定义变量*/
printf("请输入一个字符:\n"); /*显示提示信息*/
scanf("%c",&c); /*要求输入一个字符*/
if(c>=65&&c<=90) /*大写字母的取值范围*/
{
printf("输入的字符是大写字母\n");
}
else if(c>=97&&c<=122) /*小写字母的取值范围*/
{
printf("输入的字符是小写字母\n");
}
else if(c>=48&&c<=57) /*数字的取值范围*/
{
printf("输入的是数字\n");
}
else /*输入其他范围*/
{
printf("输入的是特殊符号\n");
}
return 0;
}
根据输入的三角形的三边判断三角形的类型,并输出它的面积和它的类型。
提示:首先判断所给的三条边是否能组成三角形,若可以构成三角形则进行判断该三角形是什么类型的,并求得三角形的面积。
#include<stdio.h>
#include <math.h>
void main()
{
float a, b, c;
float s, area;
scanf("%f,%f,%f", &a, &b, &c); /*输入三条边*/
if (a + b > c && b + c > a && a + c > b) /*判断两边之和是否大于第三边*/
{
s = (a + b + c) / 2;
area = (float)sqrt(s *(s - a)*(s - b)*(s - c)); /*计算三角形的面积*/
printf("面积是:%f\n", area); /*输出三角形的面积*/
if (a == b && a == c) /*判断三条边是否相等*/
printf("等边三角形\n"); /*输出等边三角形*/
else if (a == b || a == c || b == c) /*判断三角形中是否有两边相等*/
printf("等腰三角形\n"); /*输出等腰三角形*/
else if ((a *a + b * b == c *c) || (a *a + c * c == b *b) || (b *b + c
* c == a *a)) /*判断是否有两边的平方和大于第三边的平方*/
printf("直角三角形\n"); /*输出直角三角形*/
else
printf("普通三角形"); /*普通三角形*/
}
else
printf("不能构成三角形"); /*如果两边之和小于第三边不能组成三角形*/
}