习题5
5.1
#include <stdio.h>
int main(void){
float a;
printf("Input a number:");
scanf("%f",&a);
if(a>=0)
printf("%f",a);
else
printf("%f",-a);
}
5.2
#include <stdio.h>
int main(void){
int a;
printf("Input a number:");
scanf("%d",&a);
if(a%2==0)
printf("%d is an even number",a);
else
printf("%d is an odd number",a);
}
5.3
#include <stdio.h>
#include <math.h>
int main(void){
float a,b,c,s,area;
printf("Input the length of three sides of a triangle:");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a) {
s = (a + b + c) / 2;
area = (float) sqrt(s * (s - a) * (s - b) * (s - c));
printf("可以构成三角形,面积为%f", area);
} else
printf("不能构成三角形");
}
5.4
#include <stdio.h>
#include <math.h>
int main(void){
int year;
double capital,rate,interest,deposit;
printf("Please enter year and capital:");
scanf("%d,%lf",&year,&capital);
switch (year) {
case 1:
rate = 0.0225;
break;
case 2:
rate = 0.0243;
break;
case 3:
rate = 0.0270;
break;
case 5:
rate = 0.0288;
break;
case 8:
rate = 0.0300;
break;
}
interest = capital * rate *year;
deposit = capital + interest;
printf("interest=%lf,deposit=%lf\n",interest,deposit);
}
5.5
#include <stdio.h>
int main(void){
int year,flag;
printf("Enter year:");
scanf("%d",&year);
if((year%4 == 0&&year%100!=0)||(year%400 ==0))
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);
return 0;
}
5.6
#include <stdio.h>
int main(void)
{
int year,flag;
printf("Enter year:");
scanf("%d",&year);
flag=year%400==0||year%4==0&&year%100!=0?1:0;
if(flag==1&&flag!=0)
printf("%d is a leap year !\n",year);
else
printf("%d is not a leap year !\n",year);
return 0;
}
5.7
#include <stdio.h>
int main(void){
//小写字母:97-122
//大写字母:65-90
char a;
printf("输入一个英文字母:");
a = getchar();
if(a>='a'&&a<='z')
{
a = a-32;
printf("%c,%d",a,a);
}
else if(a>='A'&&a<='Z'){
a = a+32;
printf("%c,%d",a,a);
}
else{
printf("%c,%d",a,a);
}
return 0;
}
5.8
#include <stdio.h>
int main(void){
char a;
int c ;
printf("请输入一个字符:");
a = getchar();
switch (a) {
case 'a'...'z':
printf("%c是小写字母",a);
break;
case 'A'...'Z':
printf("%c是大写字母",a);
break;
case '0'...'9':
printf("%c是数字",a);
break;
case ' ':
printf("%c是空格",a);
break;
}
return 0;
}
5.9
#include <stdio.h>
int main(void){
int a;
printf("请输入你的成绩:");
scanf("%d",&a);
if(a>=0&&a<=60)
printf("grade is E");
else if(a>=60&&a<=70)
printf("grade is D");
else if(a>=70&&a<=80)
printf("grade is C");
else if(a>=80&&a<=90)
printf("grade is B");
else
printf("grade is A");
return 0;
}
5.10
#include<stdio.h>
int main(void)
{
int year,month;
printf("Input year,month:");
scanf("%d,%d",&year,&month);
if(month>12||month<=0)
{
printf("error month\n");
}
else
{
switch(year,month)
{
case 12:
case 10:
case 8:
case 7:
case 5:
case 3:
case 1:
printf("31 天\n");
break;
case 11:
case 9:
case 6:
case 4:
printf("30 天\n");
break;
case 2:
if(year%4==0&&year!=0||year%400==0)
{
printf("29 天\n");
}
else
{
printf("28 天\n");
}
break;
default:
printf("Input error\n");
}
}
}