欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > SCAU高程期末课后习题复习(只放了易错自用)

SCAU高程期末课后习题复习(只放了易错自用)

2025/9/18 16:02:07 来源:https://blog.csdn.net/Caitlin_lee_/article/details/144810566  浏览:    关键词:SCAU高程期末课后习题复习(只放了易错自用)

18041 分期还款(加强版)


Description
从银行贷款金额为 d dd,准备每月还款额为 p pp,月利率为 r rr 。请编写程序输入这三个数值,计算并输出多少个月能够还清贷款,输出时保留 1 11 位小数。
如果无法还清,请输出 “God”
计算公式如下:

输入格式
三个数,分别为货款金额、每月还款和月利率,以空格分隔,均为非负数,其中 d , p , r > = 0 d,p,r>=0d,p,r>=0

输出格式
需要还款的月份

输入样例

50 50 0.01

输出样例

1.0

贷款为0时和(p-d*r)<=0

#include <stdio.h>
#include <stdlib.h>
#include <math.h>int main()
{double d,p,r;scanf("%lf%lf%lf",&d,&p,&r);if(d==0)printf("0.0\n");else if((p-d*r)<=0)printf("God\n");else{   printf("%.1f", log(p/(p-d*r))/log(1+r));}return 0;
}

18037 20秒后的时间


Description
编写程序,输入三个整数变量 h o u r hourhour(小时)、m i n u t e minuteminute(分钟)、s e c o n d secondsecond(秒)代表一个时间,
输出该时间 20 2020 秒以后的时间。

输入格式
一行三个整数,分别代表小时、分钟、秒,中间使用冒号分隔

输出格式
输出一个时间,数字间用冒号分隔
小时、分钟、秒均占两个数字位,不足位用0补足

输入样例
15:30:41
输出样例
15:31:01

#include <stdio.h>int main()
{int h,m,s;scanf("%d:%d:%d", &h,&m,&s);s += 20;if(s >= 60) {s %= 60;m++;}if(m >= 60) {m %= 60;h++;}if(h >= 24) {h %= 24;}printf("%02d:%02d:%02d\n", h, m, s);return 0;
}

1037 计算数列和


Description
有数列:

编程实现,由键盘输入 n ,计算输出数列前 n  项和。(结果保留四位小数,提示:要使用 double ,否则精度不够)

输出格式
请按格式输出

输入样例
20
1
输出样例
32.6603

#include<stdio.h>int main() {   double a = 2;double b = 1;double ans = 0;int n;scanf("%d",&n);for(int i = 1 ; i <= n ; i ++) {ans += a / b;up = a + b;down = a - b;}printf("%.4f\n",ans);
}

18049 迭代法求平方根


Description
使用迭代法求 a  的平方根。求平方根的迭代公式如下,要求计算到相邻两次求出的 x 的差的绝对值小于10 -5时停止,结果显示 4位小数
 

输入格式
输入一个非负实数 a

输出格式
计算并输出平方根

输入样例
16
输出样例
4.0000

注意0÷0 无意义,单独判断

#include <stdio.h>
#include <math.h>int main()
{double a;scanf("%lf", &a);if(a == 0) {printf("%.4f",0);return 0;}double x0 = a;double x1 = (x0 + a/x0) / 2.0;while(fabs(x0 - x1) >= 1e-5) {x0 = (x1 + a/x1) / 2;double temp = x0;x0 = x1;x1 = temp;}printf("%.4f\n", x1);return 0;
}

18057 ASCII码值之和的差


Description
输入两个字符串 s1 和 s2 (每个串占一行,以换行回车符结束),计算两个字符串的所有字符的 ASCII 码值之和的差。

输入格式
两行字符,每行字符不超过 80个字符

输出格式
ASCII 码值之和的差

注意这个题差就是差,不用求绝对值!!!(懒得喷)

输入样例

234

123

输出样例

3

#include <stdio.h>
#include <string.h>int main() {	char a[100],b[100];gets(a);gets(b);int l1 = strlen(a);int l2 = strlen(b);int ans1 = 0;int ans2 = 0;for(int i = 0 ; i < l1 ; i ++) {ans1 += a[i];}for(int i = 0 ; i < l2 ; i ++) {ans2 += b[i];}printf("%d",ans1 - ans2);return 0;
}

18068 选择排序

Description

输入10个整数,编写一个实现对数组进行选择排序的函数

#include <stdio.h>int sort(int a[], int n)
{int i,j,k,tmp;for(i=0;i<n-1; i++){k=i;for(_______________________)if(_______________________) k=j;tmp=a[k];a[k]=a[i];a[i]=tmp;}
}int main()
{int a[10];int i;for(i=0; i<10; i++) scanf("%d", &a[i]);sort(a,10);for(i=0; i<10; i++) printf("%d\n", a[i]);return 0;
}

输入格式
10 1010 个整数,以空格分隔

输出格式
排序后的 10 1010 个整数,一行一个数字

#include <stdio.h>int sort(int a[], int n)
{int i,j,k,tmp;for(i=0;i<n-1; i++){k=i;for(j = i ; j < n ; j ++/*方框1*/)if(a[k] > a[j]/*方框2*/) k=j;tmp=a[k];a[k]=a[i];a[i]=tmp;}
}int main()
{int a[10];int i;for(i=0; i<10; i++) scanf("%d", &a[i]);sort(a,10);for(i=0; i<10; i++) printf("%d\n", a[i]);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词