C语言程序设计精髓第二周编程

正在学习哈工大苏小红老师的c语言程序设计精髓,如果您也有兴趣,可以联系我一起学习哦!

输出逆序数

题目内容:

从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-123,则忽略负号,由123分离出其百位1、十位2、个位3,然后计算3100+210+1 = 321,并输出321。

#include <stdio.h>
#include <math.h>

int main() {
    printf("Input x:\n");
    int x;
    scanf("%d", &x);
    x = fabs(x);
    int a = x / 100; //存储百位数字
    int b = x % 100 / 10; //存储十位数字
    int c = x % 10; //存储个位数字
    printf("y=%d\n", a + b * 10 + c * 100);
    return 0;
}

计算总分和平均分

题目内容:

小明本学期共有5门课程,分别是英语、语文、数学、历史和音乐。5科的期中考试成绩分别是86分、74分、92分、77分、82分,期末考试成绩分别是81分、87分、90分、62分、88分。已知期中和期末考试成绩分别占总成绩的30%和70%。定义相应的变量存放各科成绩,并计算出小明5门课程的总分和平均分。要求平均分输出两种形式:带2位小数的浮点数形式和不带小数的整数形式。要求总分输出带2位小数的浮点数形式。程序中浮点数的数据类型均为float类型。

#include <stdio.h>

int main() {
    float chinese_m = 74, mathematics_m = 92, english_m = 86, history_m = 77, music_m = 82;
    float chinese_f = 87, mathematics_f = 90, english_f = 81, history_f = 62, music_f = 88;
    float total_m = chinese_m + mathematics_m + english_m + history_m + music_m;
    float total_f = chinese_f + mathematics_f + english_f + history_f + music_f;
    float total = total_m * 0.3 + total_f * 0.7;
    float average_f = total / 5;
    int aveage_i = (int) total / 5;
    printf("total=%.2f\n", total);
    printf("average=%.2f\n", average_f);
    printf("average=%d\n", aveage_i);
    return 0;
}

存款利率计算器V1.0

题目内容:

设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit。程序中所有浮点数的数据类型均为double类型。

#include <stdio.h>
#include <math.h>

int main() {
    double rate;
    int n;
    double capital;
    printf("Please enter rate, year, capital:\n");
    scanf("%lf,%d,%lf", &rate, &n, &capital);
    double deposit = capital * pow(1 + rate, n);
    printf("deposit=%.3f\n", deposit);
    return 0;
}

数位拆分v1.0

题目内容:

现有一个4位数的正整数n=4321(即n是一个已知的数,固定为4321),编写程序将其拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的加、减、乘、除和求余的结果。例如n=4321,设拆分后的两个整数为a,b,则a=43,b=21。除法运算结果要求精确到小数点后2位,数据类型为float。

#include <stdio.h>

int main() {
    int n = 4321;
    int a = n / 100;
    int b = n % 100;
    printf("a=%d,b=%d\n", a, b);
    printf("a+b=%d\n", a + b);
    printf("a-b=%d\n", a - b);
    printf("a*b=%d\n", a * b);
    printf("a/b=%.2f\n", (float) a / b);
    printf("a%%b=%d\n", a % b);
    return 0;
}

求正/负余数

题目内容:

在C语言中,如果被除数为负值,则对一个正数求余的时候,求出的余数也是一个负数。在某些场合下,我们需要求出它的正余数,例如:在C语言中有(-11)%5=-1,但是有时我们希望得到的余数不是-1,而是4。请编写程序计算(-11)%5的负余数和正余数。

#include <stdio.h>

int main() {
    int a = -11;
    int b = 5;
    int negative = a % b;
    int positive = negative + b;
    printf("negative: %d\n",negative);
    printf("positive: %d\n",positive);
    return 0;
}

身高预测

题目内容:

已知小明(男孩)爸爸的身高是175厘米,妈妈的身高是162厘米。小红(女孩)爸爸的身高是169厘米,妈妈的身高是153厘米,按照下面公式,预测并输出小明和小红的遗传身高(不考虑后天因素)。

     男性成人时身高=(faHeight + moHeight)×0.54cm

     女性成人时身高=(faHeight×0.923 + moHeight)/2cm
#include <stdio.h>

int main() {
    int m_father = 175, m_mother = 162;
    int h_father = 169, h_mother = 153;
    printf("Height of xiao ming:%d\n", (int)((m_father + m_mother) * 0.54));
    printf("Height of xiao hong:%d\n", (int)((h_father * 0.923 + h_mother) / 2));
    return 0;
}

求一元二次方程的根

题目内容:

根据下面给出的求根公式,计算并输出一元二次方程2xx +3*x+1=0的两个实根,要求精确到小数点后4位。程序中所有浮点数的数据类型均为float.

#include <stdio.h>
#include <math.h>

int main() {
    float a = 2, b = 3, c = 1;
    float x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
    float x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
    printf("x1=%.4f\n", x1);
    printf("x2=%.4f\n", x2);
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值