C语言新答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章习题编程:
(1)有一函数:
编写一程序,输入X,输出Y值。
#include
int main()
{
double x,y;
scanf("%lf",&x);
if(x<1)
y=x;
else if(x>=1.0&&x<10)
y=2*x-11;
else
y=3*x-11;
printf("%lf\n",y);
return 0;
( 2).从键盘上输入3个整数,求最小的数。
#include
int main()
{
double x,y,z,min;
scanf("%lf%lf%lf",&x,&y,&z);
if(x>y)
min=y;
else
min=x;
if(min>z)
min=z;
printf("min=%lf\n",min);
return 0;
}
( 3).输入某人的出生日期,计算并显示其出生的当天是星期几。#include
int main()
{
int y,m,d,flag,s=0,w,i;
scanf("%d%d%d",&y,&m,&d);
flag=(y%4==0&&y%100!=0||y%400==0);
w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;
for(i=1;i<=m;i++)
{
switch(i)
{
case 1:s=d;break;
case 2:s=31+d;break;
case 3:s=59+d;break;
case 4:s=90+d;break;
case 5:s=120+d;break;
case 6:s=151+d;break;
case 7:s=181+d;break;
case 8:s=212+d;break;
case 9:s=243+d;break;
case 10:s=273+d;break;
case 11:s=304+d;break;
case 12:s=334+d;break;
}
}
if(flag==1&&m>2)
s=s+1;
s=(w+s)%7;
if(s==0)
printf("星期日\n");
else
printf("星期%d\n",s);
return 0;
( 4).企业发放的奖金根据利润提成:利润低于或等于10万元时,奖金可提成10%;利润高于10万元低于20万元时,低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;20万到40万之间时,高于20万元的部分可提成5%;40万到60万之间时,高于40万元的部分可提成3%;60万到100万之间时,高于60万元的部分可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数。
#include
int main()
{
float p,r;
scanf("%f",&p);
if(p<=10)
r=p*0.1;
else if(p>10&&p<=20)
r=10*0.1+(p-10)*0.075;
else if(p>20&&p<=40)
r=10*0.1+10*0.075+(p-20)*0.05;
else if(p>40&&p<=60)
r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;
else if(p>60&&p<=100)
r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015;
else if(p>100)
r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;
printf("%f\n",r);
return 0;
}
( 5).输入字符,并以回车结束。将其中的小写字母转换成大写字母,而其他字符不变。#include
int main()
{
char c;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z')
c=c-32;
putchar(c);
}
return 0;
( 6).输入一个正整数,求它的所有素数因子。
#include
int main()
{
int m,k=2;
printf("输入一个正整数:\n");
scanf("%d",&m);
while(k if(m%k==0) { printf("%4d",k); m=m/k; } else k++; printf("%4d\n",m); return 0; } ( 7).从键盘输入正整数a,求s=a+aa+aaa+……+a……a #include int main() { int a,n,s=0,p=0,i; scanf("%d %d",&n,&a); for(i=1;i<=n;i++) { p=p*10+a; s=s+p;