SCAU程序设计在线实训平台_考试_ 2020级计算机***第(3)次堂测

1、计算个人所得税:

描述:
在我国, 个人所得是要交税的,但各地可以根据自身情况,确定征税标准。在某城市有如下标准:
1600元以下不征税,超过部分按不同阶段不同税率征税
超出1600元的需要交税,1600~3000元,这部分按10%征税
3000元~4200元,这部分按15%征税
4200元~10000元,这部分按20%征税
10000元以上,超出部分按30%征税
请编程实现,由键盘输入个人所得,计算后输出应交税(保留两位小数)
输入格式:
个人所得
输出格式:
输入样例:
4000.01
输出样例:
290.00
代码实现(参考):
#include <stdio.h>
double F(double m){
    if(m<=1600){
        return 0;
    }
    else if(m>1600&&m<=3000){
        return (m-1600)*0.1;
    }
    else if(m>3000&&m<=4200){
        return 140+((m-3000)*0.15);
    }
    else if(m>4200&&m<=10000){
        return 320+((m-4200)*0.20);
    }
    else if(m>10000){
        return 1480+((m-10000)*0.30);
    }
}
int main()
{
    double a;
    scanf("%lf", &a);
    printf("%.2lf",F(a));
	return 0;
}

2、求最大数字字符:

描述:
从键盘输入一个int类型的正整数,输出构成该数的最大数字字符。
输入格式:
一个正整数
输出格式:
最大数字字符
输入样例:
4574323
输出样例:
7
提示:
(注:因为4574323由2、3、4、5、7这五种数字字符构成,最大的为字符7)
代码实现(参考):
#include <stdio.h>
#include <string.h>
int main()
{
    int i=0,m=0;
    char a[80];
    scanf("%s",a);
    while(a[i]!='\0'){
        if(a[i]-'0'>m){
            m=a[i]-'0';
        }
        i++;
    }
    printf("%d",m);
	return 0;
}

3、 [填空题]打印杨辉三角:

描述:
下列程序,实现由键盘输入正数n(n<30),要求输出具有n行的杨辉三角。
请填空:
#include "stdio.h" 
#include "math.h" 

main() 
{ 
    int i,t,p,n, a[40]={1}; 
    scanf("%d", &n); 

    printf("1\n"); 
    for (i=1; i<n; i++)  
    { 
        for (t=i; t>0; t--) 
            _______________________; 
        printf("1"); 
        for (t=1; t<=i; t++) 
            printf(_______________________); 
        printf("\n"); 
    } 
} 
输入样例:

5

输出样例:

1
1,1
1,2,1
1,3,3,1
1,4,6,4,1

代码实现(参考):
#include "stdio.h"

main()
{
    int i,t,n, a[40]={1};
    scanf("%d", &n);

    printf("1\n");
    for (i=1; i<n; i++)
    {
        for (t=i; t>0; t--)
            a[t]=a[t]+a[t-1];

        printf("1");
        for (t=1; t<=i; t++)
            printf(",%d",a[t]);
        printf("\n");
    }
}

4、最近对问题:

描述:
由键盘输入n(n<50)个点的坐标x,y(x,y<1000,浮点数),计算出最近两个点的距离。(保留三位小数)
输入格式:
输入第一个整数为有n个点,此后分别为n个的坐标x  y
输入样例:
3
0  0
1  2
2  2

输出样例:

1.000
代码实现(参考):
#include "stdio.h"
#include "math.h"

main()
{
    int n;
    double d=999;
    scanf("%d",&n);
    double x[n-1],y[n-1];

    for(int i=0;i<n;i++){
        scanf("%lf %lf",&x[i],&y[i]);
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(j==i){
                continue;
            }
            if(sqrt(((x[i]-x[j])*(x[i]-x[j]))+((y[i]-y[j])*(y[i]-y[j])))<d){
                d=sqrt(((x[i]-x[j])*(x[i]-x[j]))+((y[i]-y[j])*(y[i]-y[j])));
            }
        }
    }
    printf("%.3lf",d);
}
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值