max=n;
printf("max=%d\n",max);
return0;
}
5.2四则运算计算题
问题描述:
编程实现四则运算(+、-、*、/)计算题,要求从键盘输入如下格式的算式:
操作数num1运算符op操作数num2(如5+3),并输出计算结果。
输入:
操作数num1运算符op操作数num2
输出:
操作数num1运算符op操作数num2=计算结果
#include
intmain()
{
intdata1,data2;
charop;
scanf("%d%c%d",&data1,&op,&data2);
switch(op)
{
case'+':
printf("%d+%d=%d\n",data1,data2,data1+data2);break;
case'-':
printf("%d-%d=%d\n",data1,data2,data1-data2);break;
case'*':
printf("%d*%d=%d\n",data1,data2,data1*data2);break;
case'/':
if(0==data2)
printf("Divisionbyzero!
\n");
else
printf("%d/%d=%d\n",data1,data2,data1/data2);
}
return0;
}
5.3百分制转化为五分制
问题描述:
从键盘输入一个百分制成绩(0~100)n,编程计算并输出其对应的五分制成绩('A'~'E')。
输入:
整数n输出:
n及其对应的五分制成绩
#include
intmain()
{
inta,t;
scanf("%d",&a);
if(a<0||a>100)
printf("Inputerror!
\n");
else
{
if(a>=90)
t=1;
elseif(a>=80&&a<90)
t=2;
elseif(a>=70&&a<80)
t=3;
elseif(a>=60&&a<70)
t=4;
else
t=5;
switch(t)
{
case1:
printf("%d--A\n",a);break;
case2:
printf("%d--B\n",a);break;
case3:
printf("%d--C\n",a);break;
case4:
printf("%d--D\n",a);break;
case5:
printf("%d--E\n",a);break;
}
}
return0;
}
5.4绝对值
问题描述:
输入一个实数,不使用绝对值函数计算并输出该实数的绝对值。
输入:
一个实数输出:
该实数的绝对值
#include
intmain()
{
floatx;
scanf("%f",&x);
if(x>=0)
printf("%f\n",x);
elseprintf("%f\n",x*(-1));
return0;
}
5.5奇偶数
输入:
整数n输出:
n是奇数或n是偶数
输入样例:
3输出样例:
3是奇数
#include
intmain()
{
inti;
scanf("%d",&i);
if(i%2==0)
printf("%d是偶数\n",i);
else
printf("%d是奇数\n",i);
return0;
}
5.6三角形
输入:
a,b,c
输出:
输出三角形的面积或提示不能构成三角形
#include
#include
intmain()
{
inta,b,c;
floatd,p;
scanf("%d,%d,%d",&a,&b,&c);
p=(a+b+c)/2.0;
if(a+b>c&&a+c>b&&b+c>a)
{d=sqrt(p*(p-a)*(p-b)*(p-c));
printf("area=%.1f\n",d);}
else
printf("Itisnotatriangle.\n");
return0;
}
5.7一元二次方程
问题描述:
输入一元二次方程的系数a、b、c,计算并输出该方程的根。
注意:
a=0时提示不是一元二次方程。
输入:
a,b,c
输出:
a=0时,输出不是一元二次方程;否则,输出该方程的根
输入样例:
0,10,2输出样例:
Itisnotaquadraticequation!
x1=-0.75+0.66i,x2=-0.75-0.66i
#include
#include
intmain()
{
doublea,b,c,delta,p,q,x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(c==0)
{printf("Itisnotaquadraticequation!
\n");}
else
{printf("Itisnotaquadraticequation!
\n");
return;}
}
else
{p=(-c)/b;
printf("Itisnotaquadraticequation!
\n");}
}
else
{
p=(-b)/(2*a);
delta=(b*b-4*a*c);
if(delta==0)
{printf("x1=x2=%.2f\n",p);
return;}
elseif(delta>0)
{q=sqrt(delta)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%.2f,x2=%.2f\n",x1,x2);return;}
else
{q=sqrt(-delta)/(2*a);
printf("x1=%.2f+%.2fi,x2=%.2f-%.2fi\n",p,q,p,q);
return;}
}
return0;
}
5.8闰年
输入:
整数year输出:
year是闰年或year不是闰年
输入样例:
2004输出样例:
2004是闰年(2009不是闰年)
#include
intmain()
{
intyear;
scanf("%d",&year);
if(year%4==0&&year%100!
=0||year%400==0)
printf("%d是闰年\n",year);
else
printf("%d不是闰年\n",year);
return0;
}
5.9大小写字母转换
问题描述:
输入一个字母ch,如果是小写字母,则转换为大写字母;如果是大写字母,则转换为小写字母。
然后输出该字母及其ASCII值。
如果不是英文字母,则直接输出。
输入:
字母ch输出:
输出字母ch及其ascii值或直接输出输入的字符
输入样例:
A输出样例:
a,97
#include
intmain()
{
charch,c;
scanf("%c",&c);
if(c>=65&&c<=90)
{
ch=c+32;
printf("%c,%d\n",ch,ch);
}
if(c>=97&&c<=122)
{
ch=c-32;
printf("%c,%d\n",ch,ch);
}
if(c<65||c>90&&c<97||c>122)
printf("%c\n",c);
return0;
}
【设计型】5.10温度转换
背景:
经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:
有些使用华氏温度标准(F),有些使用摄氏温度(C)。
现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。
如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。
温度转换的公式为:
F=(C×9/5)+32;C=(F-32)×5/9;式中F--华氏温度,C--摄氏温度。
输入:
第一个数据(1或2)确定转换的类型:
华氏转摄氏
(1);摄氏转华氏
(2);
第二个数据是相应需要转换的温度值。
输出:
相应的转换后的温度值(保留小数点后2位)。
#include
intmain()
{
inta;
doublef,c;
scanf("%d",&a);
if(a==1)
{
scanf("%lf",&f);
c=(f-32)*5/9;
printf("TheCentigradeis%.2f\n",c);
}
else
{
scanf("%lf",&c);
f=(c*9/5)+32;
printf("TheFahrenheitis%.2f\n",f);
}
return0;
}
【设计型】5.11分段函数
有一分段函数,y=f(x)。
当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9.从键盘上输入一个整数x,输出对应的y值。
#include
intmain()
{
inty,x;
scanf("%d",&x);
if(x<6)
y=x-12;
if(x>=6&&x<15)
y=3*x-1;
if(x>=15)
y=5*x+9;
printf("%d\n",y);
return0;}
【设计型】5.12整数位数判断
输入一个不多于5位的正整数,要求:
(1)求它是几位数;
(2)逆序打印出各位数字。
#include
intmain()
{
inta,b,c,d,e,f,g,h,i;
scanf("%d",&a);
if(a<0||a>=100000)
printf("Invalidinput\n");
if(a>=0&&a<=9)
printf("1\n%d\n",a);
if(a>=10&&a<=99)
{b=a/10;c=a%10;
printf("2\n%d%d\n",c,b);}
if(a>=100&&a<1000)
{b=a/100;c=a%100;d=c/10;e=c%10;
printf("3\n%d%d%d\n",e,d,b);}
if(a>=1000&&a<10000)
{b=a/1000;c=a%1000;d=c/100;e=c%100;f=e/10;g=e%10;
printf("4\n%d%d%d%d\n",g,f,d,b);}
if(a>=10000&&a<=100000)
{b=a/10000;c=a%10000;d=c/1000;e=c%1000;f=e/100;g=e%100;h=g/10;i=g%10;
printf("5\n%d%d%d%d%d\n",i,h,f,d,b);}
return0;}
【设计型】5.13四位数拆分
输入一个四位数,判断千位、百位、十位和个位数字之和是否为偶数,如果是,输出Yes,如果不是,输出No;如果不是四位数,输出Invaliddata。
#include
intmain()
{
intx,a,b,c,d,e;
scanf("%d",&x);
if(x/1000<1||x/10000>=1)
printf("Invaliddata\n");
else
{
a=x/1000;
b=x%1000/100;
c=x%1000%100/10;
d=x%1000%100%10;
e=(a+b+c+d)%2;
if(e==0)
printf("Yes\n");
else
printf("No\n");
}
return0;
}
【设计型】5.14磨磨你的砍柴刀:
判断三角形的形状
要求:
输入三角型的三条边,判断三角形的形状。
假设输入的三边边长均>0。
输入:
三角型的3条边的长度(int型)。
输出:
等边三角形:
equilateraltriangle.
等腰三角形:
isocelestriangle.
不构成三角形:
non-triangle.
一般三角形:
triangle.
#include
intmain()
{
floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a+bprintf("non-triangle.\n");
elseif(a==b&&b==c)
printf("equilateraltriangle.\n");
elseif(a==b||b==c||a==c)
printf("isocelestriangle.\n");
else
printf("triangle.\n");
return0;
}
【设计型】5.15判断某年某月的天数
一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。
现在要求从键盘上输入一个年份和月份,输出其对应的天数。
#include
intmain()
{
intyear,month,days;
scanf("%d%d",&year,&month);
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
printf("31\n");break;
case4:
case6:
case9:
case11:
printf("30\n");
break;
case2:
if(year%4==0&&year%100!
=0||year%400==0)
printf("29\n");
else
printf("28\n");
break;
default:
printf("error!
\n");
}
return0;
}
【设计型】5.16到邮局去寄包裹
你去邮局给朋友寄礼物。
发现邮局对邮寄包裹的费用是这样规定的:
如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,不同重量的邮资按下表计算:
编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出"Error”.
#include
intmain()
{
doublea,b,c,s,k;
intw;
scanf("%lf,%lf,%lf,%d",&a,&b,&c,&w);
if(a>1.0||b>1.0||c>1.0||w>30)
printf("Error\n");
elseif(w<10)
{k=0.8*w;
s=k+0.2;
printf("%.2f\n",s);}
elseif(w>=10&&w<20)
{k=0.75*w;
s=k+0.2;
printf("%.2f\n",s);}
elseif(w>=20&&w<=30)
{k=0.70*w;
s=k+0.2;
printf("%.2f\n",s);}
return0;
}
【设计型】5.17花多少钱买衣服
某品牌服装既可以买套装,也可以买单件。
若买的不少于50套,每套80元;不足50套的每套90元,只买上衣每件60元,只买裤子每条45元。
编写程序,输入计划购买的上衣数量a和裤子的数量b,计算并输出应该付的款m。
#include
intmain()
{
inta,b,y;
scanf("%d%d",&a,&b);
if(b<=a&&b<50)
y=90*b+(a-b)*60;
if(b<=a&&b>=50)
y=80*b+(a-b)*60;
if(a
y=90*a+(b-a)*45;
if(a=50)
y=80*a+(b-a)*45;
printf("%d\n",y);
return0;
}
【设计型】5.18输出星期几的英文表示
输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词"Error(回车)"。
提醒:
周一到周日必须都判断,单词拼法Sunday Saturday Friday Thursday Wednesday TuesdayMonday,另外还要对不合法的数据进行判断。
#include
intmain()
{
inta;
scanf("%d",&a);
switch(a)
{case7:
printf("Sunday\n");break;
case6:
printf("Saturday\n");break;
case5:
printf("Friday\n");break;
case4:
printf("Thursday\n");break;
case3:
printf("Wednesday\n");break;
case2:
printf("Tuesday\n");break;
case1:
printf("Monday\n");break;
default:
printf("Error\n");
}
return0;
}
【设计型】5.19判断输入的字符的类型
我们将字符分为五类:
大写字母、小写字母、数字、控制字符、其他字符。
编写程序,从键盘输入一个字符,输出字符所属的类型:
大写字母时输出capitalletters,小写字母时输出smallletters,数字是输出figures,其他字符时输出others。
#include
intmain()
{
charch;
ch=getchar();
if(ch>=97&&ch<=122)
printf("smallletters\n");
elseif(ch>=65&&ch<=90)
printf("capitalletters\n");
elseif(ch>=48&&ch<=57)
printf("figures\n");
elseif(ch>=0&&ch<48||ch>57&&ch<65||ch>90&&ch<97||ch>122)
printf("others\n");
return0;
}
【设计型】5.20出租车计费(2012秋季期末)
题目描述
根据某城市普通出租车收费标准编写程序对车费进行计算。
具体标准如下:
起步里程为3km,起步费10元;10km以内超过起步里程部分,每千米2元,超过10km以上的部分,每千米3元。
输入 行驶里程数(单位千米)。
输出 乘客应支付的车费(单位元),结果四舍五入,保留到元。
样例输入 12.5样例输出
32
#include
intmain()
{
doubles,m;
scanf("%lf",&s);
if(s<3)
printf("10\n");
if(s>3&&s<=10)
{m=10+(s-3)*2.0;
printf("%.0f\n",m);}
if(s>10)
{m=24+(s-10)*3;
printf("%.0f\n",m);}
return0;}
【设计型】6.1输出一行星号
输入星号个数值N
输出一行中N个星号
#include
intmain()
{
intN,a;
scanf("%d",&N);
for(a=0;aprintf("*");
printf("\n");
return0;
}
【设计型】6.2打印平行四边形
问题描述
输入图形的高n,输出如下例(n=5 )所示的图形.
*****
*****
*****
*****
*****
输入整数n例如5
输出由*组成的高为5的平行四边形
#include
intmain()
{
inti,j,N;
scanf("%d",&N);
for(i=0;i{
for(j=0;jif(j
printf("");
elseprintf("*");
printf("\n");
}
return0;
}
【设计型】6.3编程计算
问题描述编写程序,输入n的值,求:
1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n(保留四位小数)
输入n的值
输出上述算式的求和结果(结果保留四位小数)
#include
intmain()
{
doublesum=0,a=1;
inti=1,n;
scanf("%d",&n);
while(i<=n)
{sum=sum+a/i;
i++;
a=a*(-1);}
printf("sum=%.4f\n",sum);
return0;
}
【设计型】6.4分数序列
问题描述
有一个分数序列:
,输入整数n,求出其前n项的和。
输入整数n
输出
上述分数序列的前n项之和
提示:
输出语句格式为printf("s