XTU C语言程序设计作业2-分支结构
温馨提示
1.新手上路用Dev-c++,就好了。官网或者应用商店都可以下载
2.先去“中国大学慕课”搜索“翁恺”,找浙江大学翁恺老师的“程序设计入门——C语言”课程看。一边看一边跟着敲。看完了,再来刷oj作业吧.
1062 大小写转换
Description
接收一个字母,如果是小写,则将其转换成大写;如果是大写,就将其转换成小写。
Sample Input
b
Sample Output
B
Source
C语言程序设计
Hint
输出最后没有换行
#include <stdio.h>
int main()
{
char a;
scanf("%c",&a);
if(a>90)//a~z的ascii码大于90
printf("%c",a-32);//小写字母的ascii码比大写字母的要大32,故相减
else//大写转小写
printf("%c",a+32);
}
下面的方法跟第一个本质上是差不多的
#include<stdio.h>
int main()
{
char x;
scanf("%c",&x);
if(x>='a'&&x<='z')
{
x=x-32;
printf("%c",x);
}
else if(x>='A'&&x<='Z')
{
x=x+32;
printf("%c",x);
}
return 0;
}
1068 if语句1
Description
输入一个整数,如果整数在90和100之间,那么输出A;否则输出B。
Sample Input
90
Sample Output
A
Source
ericxie
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);//输入
if(n>=90&&n<=100)//如果不懂,乖乖去看中国大学慕课翁恺老师的c语言入门课程
{
printf("A");//输出A
}
else//其他情况输出B
{
printf("B");
}
return 0;
}
1070 if3
Description
输入一个三位的整数,如果它有且仅有两位数码相同,那么就输出Yes,否则输出No
Sample Input
112
Sample Output
Yes
Source
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a,b,c;
a=n/100;//百位数
b=n/10%10;//十位数
c=n%10;//个位数
if((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&b!=a))//判断是否有且仅有两位数码相同
{
printf("Yes");
}
else
{
printf("No");
}
return 0;
}
1071 if4
Description
输入三角形的三条边a,b,c;如果构成三角形那么就计算三角形的面积并输出,保留2位小数,否则输出“Not a triangle.”
Sample Input
3 5 4
Sample Output
6.00
Source
ericxie
Hint
海伦公式: 令d=(a+b+c)/2,面积s为d*(d-a)(d-b)(d-c)的平方根
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);//题目没说整型,那就单精度浮点数
if(a+b>c&&a+c>b&&b+c>a)//判断是否成立三角形
{
float d=(a+b+c)/2;
printf("%.2f",sqrt(d*(d-a)*(d-b)*(d-c)));//保存小数点后两位的写法。sqrt()是math.h的函数,作用为求平方根
}
else
{
printf("Not a triangle.");
}
return 0;
}
1072 switch
Description
计算下面函数的值
y=cos(x+3.0) 当0<=x<10;
y=(cos(x+7.5))^2 当10<=x<20;
y=(cos(x+4.0))^4 当20<=x<30;
表示幂运算,如x2表示x的平方
如果x不在定义域内,输出“Not define”,否则输出y,保留5位小数
Sample Input
40
Sample Output
Not define
Source
ericxie
#include <stdio.h>
#include <math.h>
int main()
{
float x;
scanf("%f",&x);
if(x>=0&&x<10)
{
printf("%.5f",cos(x+3.0));
}
else if(x>=10&&x<20)
{
printf("%.5f",pow(cos(x+7.5),2));//pow()函数,后面的2即是二次方。函数详细用法请百度
}
else if(x>=20&&x<30)
{
printf("%.5f",pow(cos(x+4.0),4));//pow()函数,后面的4即四次方
}
else
{
printf("Not define");
}
return 0;
}
1073 最大最小数
Description
输入3个互不相等的整数a,b,c,请输出最大的和最小的数,中间用一个空格隔开。
Sample Input
1 2 3
Sample Output
3 1
Source
ericxie
法一:
直接一一列举
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>b&&a>c&&b>c)
{
printf("%d %d",a,c);
}
if(a>b&&a>c&&c>b)
{
printf("%d %d",a,b);
}
if(b>a&&b>c&&a>c)
{
printf("%d %d",b,c);
}
if(b>a&&b>c&&c>a)
{
printf("%d %d",b,a);
}
if(c>a&&c>b&&a>b)
{
printf("%d %d",c,b);
}
if(c>a&&c>b&&b>a)
{
printf("%d %d",c,a);
}
return 0;
}
法二:
先排好序,再输出。
三个数的排序,没必要用到算法,直接比较就好了
#include <stdio.h>
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(b<a)//如果b<a,则交换
{
t=b;//t用于存储b的数值
b=a;
a=t;
}
if(c<b)//如果c<b,则交换
{
t=c;
c=b;
b=t;
}
if(b<a)//这个if的代码跟第一个if的代码一摸一样,作用也一样。
{
t=b;
b=a;
a=t;
}
printf("%d %d",c,a);
return 0;
}
多思,多想,多动手敲代码。如果不开心,去散散步,或者运动,或者整理卫生,再回来学习吧。
写于2021年8月3日19:46分。