C++练习

#include <stdio.h> 

double result_real, result_imag;
void complex_add(double real1, double imag1, double real2, double imag2);
void complex_prod(double x1, double y1, double x2, double y2);

int main(void) 
{ 
    double imag1, imag2, real1, real2;    

    scanf("%lf %lf", &real1, &imag1);             
    scanf("%lf %lf", &real2, &imag2); 
    complex_add(real1, imag1, real2, imag2);
    printf("addition of complex is (%f)+(%f)i\n", result_real, result_imag);
    complex_prod(real1, imag1, real2, imag2); 
    printf("product of complex is (%f)+(%f)i\n", result_real, result_imag);
    
    return 0;
}

void complex_add(double real1, double imag1, double real2, double imag2) {
    result_real = real1 + real2;
    result_imag = imag1 + imag2;
}

void complex_prod(double real1, double imag1, double real2, double imag2) {
    result_real = real1 * real2 - imag1 * imag2;
    result_imag = real1 * imag2 + real2 * imag1;
}
#include <stdio.h>
double fac();
int main(void)
{
    int i, n;
    double Sum = 0;
    scanf("%d", &n);
    for (i=1; i<=n; i++)
    {
        Sum += 1 / fac();
    }

    printf("S=1/1!+1/2!+...+1/%d!=%.15f", n, Sum);
    return 0;
}

double fac() {
    static double f = 1;
    static int i = 0;
    i++;
    f *= i;
    return f;
}
#include<stdio.h>

double m_tax(double salary,int month);

int main()
{
    double money,tax;
    int i;
    for(i=1;i<=12;i++)
    {
        scanf("%lf",&money);
        tax=m_tax(money,i);
        printf("the sum of %d months tax is %.2f\n",i,tax);
    }
    return 0;
}
double m_tax(double salary, int month) {
    static double total_salary = 0;  // 累计工资
    static double last_tax = 0;      // 上个月累计已缴税额
    total_salary += salary;
    double exempt = 5000 * month;    // 累计免征额
    double taxable_income = total_salary - exempt; // 累计应纳税所得额
    if (taxable_income <= 0) 
        return 0;
    
    double tax;
    if (taxable_income <= 36000)
        tax = taxable_income * 0.03;
    else if (taxable_income <= 144000)
        tax = taxable_income * 0.10 - 2520;
    else if (taxable_income <= 300000)
        tax = taxable_income * 0.20 - 16920;
    else if (taxable_income <= 420000)
        tax = taxable_income * 0.25 - 31920;
    else if (taxable_income <= 660000)
        tax = taxable_income * 0.30 - 52920;
    else if (taxable_income <= 960000)
        tax = taxable_income * 0.35 - 85920;
    else
        tax = taxable_income * 0.45 - 181920;
    
    return tax;
}
#include <stdio.h>
float Max=0;
int J=0;
float fun(float array[],int n);
int main()
{
float  a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%.2f\n",ave);
printf("max=%.02f\n",Max);
printf("Total:%d\n",J);
return 0;
 }

float fun(float array[], int n) {
    float sum = 0;
    int i;
    // 计算总分并找出最高分
    Max = array[0];
    for (i = 0; i < n; i++) {
        sum += array[i];
        if (array[i] > Max) {
            Max = array[i];
        }
    } 
    // 统计得最高分的人数
    J = 0;
    for (i = 0; i < n; i++) {
        if (array[i] == Max) {
            J++;
        }
    }
    return sum / n; 
}
/* 用函数实现财务现金记账。先输入操作类型choice(1收入,2支出,0结束),再输入操作金额cash,计算现金剩余额balance,可多次操作直到输入操作类型为0时结束。要求定义并调用函数,其中现金收入与现金支出分别用不同函数实现。*/

#include<stdio.h> 

double balance;                /* 定义全局变量,保存现金余额 */
void income(double cash);    
void expend(double cash);    

int main(void) 
{ 
    int choice;
    double cash;

    cash = 0;            
    scanf("%d", &choice);   
    while (choice != 0){  
        if (choice == 1 || choice == 2) {
            scanf("%lf", &cash);
            if (choice == 1){
                income(cash); 
            }else{
                expend(cash);
            }
            printf("balance:%.2f\n", balance);
        }
        scanf("%d", &choice);
     }

     return 0;
}

void income(double cash) {
    balance += cash;
}

void expend(double cash) {
    balance -= cash;
}

05和07有格式错误,未修改正确

posted @ 2025-11-05 23:29  bluepoet  阅读(6)  评论(0)    收藏  举报