2021-02-24

16.选出三个数中最小数的算法流程图如下图所示:在这里插入图片描述
#include"stdio.h"
void main()
{
int a,b,c,min;
printf(“please input the a,b and c:\n”);
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
if(a<c)
min=a;
else
min=c;
}
else
{
if(b<c)
min=b;
else
min=c;
}
printf(“the min is %d\n”,min);
}
17.计算个人所得税,假设个人所得税为:税率*(工资-1600)。请编写程序计算应缴的所得税,其中税率定义为:
(1)当工资不超过1600时,税率为0;
(2)当工资在区间(1600,2500]时,税率为5%;
(3)当工资在区间(2500,3500]时,税率为10%;
(4)当工资在区间(3500,4500]时,税率为15%;
(5)当工资超过4500时,税率为20%。
#include"stdio.h"
void main()
{
float tax,salary;
printf(“please input the salary:\n”);
scanf("%f",&salary);
if(salary>=4500)
tax=0.2*(salary-1600);
else if(salary>3500)
tax=0.15*(salary-1600);
else if(salary>2500)
tax=0.10*(salary-1600);
else if(salary>1600)
tax=0.05*(salary-1600);
else
tax=0;
printf(“the tax is :%.2f\n”,tax);
}
18.企业发放的奖金根据利润提成。
利润(I)低于或等于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%提成,

从键盘输入当月利润I,求应发放奖金总数?
#include<stdio.h>
int main()
{
float I=0,money01, money02, money03, money04, money05;
float bonus=0; //奖金
money01 = 100000 * 0.1; //十万元奖金
money02 = money01 + 100000 * 0.075;//二十万元奖金
money03 = money02 + 200000 * 0.05;//四十万元奖金
money04 = money03 + 200000 * 0.03;//六十万元奖金
money05 = money04 + 400000 * 0.01;//一百万元奖金
printf(“请输入本月利润I:”);
scanf("%f", &I);
if (I<=100000)
bonus = I0.1;
else if (I <= 200000)
bonus = money01 + (I - 100000)0.075;
else if (I <= 400000)
bonus = money02 + (I - 200000)0.05;
else if (I <= 600000)
bonus = money03 + (I - 400000)0.03;
else if (I <= 1000000)
bonus = money04 + (I - 600000)0.015;
else
bonus = money05+(I-1000000)0.01;
printf(“本月的奖金为%.2f”,bonus);
}
输入三角形的3条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“These sides do not correspond to a valid triangle”。在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:其中,P =(a+b+c)/2)
在这里插入图片描述
(#include"stdio.h"
#include"math.h"
void main()
{
int a,b,c;
float p,s,l;
printf(“please input a,b,c:\n”);
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
l=a+b+c;
p=l/2.0;
s=sqrt(p
(p-a)
(p-b)
(p-c));
printf(“l=%.2f\ns=%.2f\n”,l,s);
}
else
printf(“These sides do not correspond to a valid triangle!!\n”);
}
20.输出如下杨辉三角形的前七行。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
#include “stdio.h”
void main()
{
int arr[7][7];
int i,j;
//初始化
for(i=0;i<7;i++)
arr[i][0]=1;
for(i=0;i<7;i++)
arr[i][i]=1;
for(i=2;i<7;i++)
for(j=1;j<=i;j++)
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
//输出:
printf(“the result is :\n”);
for(i=0;i<7;i++)
{
for(j=0;j<=i;j++)
printf("%5d",arr[i][j]);
printf("\n");
}
}
21.求5
5的二维数组的每行元素的平均值。
#include"stdio.h"
void main()
{
int arr[5][6];
int i,j;
//初始化
printf(“please input the arr:\n”);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&arr[i][j]);
for(i=0;i<5;i++)
arr[i][5]=0;
//输出初始化后的数组:
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%5d",arr[i][j]);
printf("\n");
}
//运算:
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
arr[i][5]+=arr[i][j];
arr[i][5]=arr[i][5]/5;
}
//输出:
printf(“the result is :\n”);
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
printf("%5d",arr[i][j]);
printf("\n");
}
}
22.韩信点兵:在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点名的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1到5报数,记下最末一个士兵报的数为1;
按从1到6报数,记下最末一个士兵报的数为5;
按从1到7报数,记下最末一个士兵报的数为4;
按1从11报数,最末一个士兵报的数是10;
你知道韩信至少有多少兵吗?试编写相应程序。
#include"stdio.h"
void main()
{
int i;
for(i=10;;i++)
{
if(i%51&&i%64&&i%74&&i%1110)
{
printf(“总人数为:%d\n”,i);
break;
}
}
}
23.求序列前n项的和:输入一个正整数n,输出2/1+3/2+5/3+8/5+…的前n项之和(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子),保留2位小数。试编写相应程序。
#include"stdio.h"
void main()
{
double a=2,t;
double b=1;
double sum=0;
int n=0,num=1;
printf(“请输入N:”);
scanf("%d",&n);
while(num<=n)
{
sum=sum+a/b;
t=b;
b=a;
a=t+b;
num++;
}
printf(“前%d项之和是:%.2f\n”,n,sum);
}
24.求序列和。输入两个正整数a和n,求a+aa+aaa+aa…a(n个a)之和。比如输入2和3,输出246(2+22+222)。试编写相应程序。
#include<stdio.h>
void main()
{
int a,n,s=0;
printf(“Input a: “);
scanf(”%d”,&a);
printf(“Input n:”);
scanf("%d",&n);
while(n>=0)
{
s=a
n+s;
a=a
10;
n–;
}
printf(“s= %d\n”,s);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值