C语言 期末合集 pta

您所在的位置:网站首页 选中至最后一行 C语言 期末合集 pta

C语言 期末合集 pta

2022-12-29 05:13| 来源: 网络整理| 查看: 265

6-1 求最大的偶数和最小的奇数的差

分数 10

全屏浏览题目

切换布局

作者 王跃萍

单位 东北石油大学

求10个数中的最大的偶数和最小的奇数的差。

函数接口定义:

int fun(int a[],int n);

函数fun中a、n是用户传入的参数,函数fun的功能是求a数组中的n个数中的最大的偶数和最小的奇数的差,并返回此差值。

裁判测试程序样例:

#include int fun(int a[],int n); int main() {int b[10],i,max,k=0; for(i=0;i{1919,10,29} char* Date2string(struct DateG x);//{1919,9,9}-->"1919-09-09" //以上为测试程序提供的测试用函数,略去不表, //以下两函数是必须自己完成的函数 struct DateG days2Date(int x);{//from:{1,1,1} + 100-->{1,4,11} int Days(struct DateG x);// {2,,4,11} return 465 from{1,1,1} int main(){ char st[12];scanf("%s",st); struct DateG d1=_DateG(st), d2=Add(d1,60*365); printf("%s\n",Date2string(d2)); d2=Add(d2,-1000); printf("%s\n",Date2string(d2)); d2=_DateG("2020-1-23"); printf("%.2f\n",(Days(d2)-Days(d1))/365.0); return 0; } /* 请在这里填写答案 */

输入样例:

输入用-号分隔的出生年月日,系统确保测试数据的合法性

2001-1-1 输出样例:

共三行输出。分别是:60年(按365天计一年精确计算的)后的退休日期;退休前倒计时1000天的日期;武汉抗疫封城时(2020-1-23)的年龄(按每365天为一岁,保留2位小数)。

[2060-12-17] [2058-03-23] 19.07 struct DateG days2Date(int x) { struct DateG QWQ; QWQ.yy = 1; QWQ.mm = 1; QWQ.dd = 1; while (x--) { QWQ.dd++; if ((QWQ.yy % 4 == 0 && QWQ.yy % 100 != 0) || QWQ.yy % 400 == 0) {//是闰年 if ((QWQ.mm == 1 || QWQ.mm == 3 || QWQ.mm == 5 || QWQ.mm == 7 || QWQ.mm == 8 || QWQ.mm == 10 || QWQ.mm == 12) && QWQ.dd > 31) { QWQ.dd = 1; QWQ.mm++; if (QWQ.mm > 12) { QWQ.mm = 1; QWQ.yy++; } } else if (QWQ.mm == 2 && QWQ.dd > 29) {//闰年二月单独讨论 QWQ.dd = 1; QWQ.mm++; } else if ((QWQ.mm == 4 || QWQ.mm == 6 || QWQ.mm == 9 || QWQ.mm == 11) && QWQ.dd > 30) { QWQ.dd = 1; QWQ.mm++; } } else {//非闰年 if ((QWQ.mm == 1 || QWQ.mm == 3 || QWQ.mm == 5 || QWQ.mm == 7 || QWQ.mm == 8 || QWQ.mm == 10 || QWQ.mm == 12) && QWQ.dd > 31) { QWQ.dd = 1; QWQ.mm++; if (QWQ.mm > 12) { QWQ.mm = 1; QWQ.yy++; } } else if (QWQ.mm == 2 && QWQ.dd > 28) {//二月单独讨论 QWQ.dd = 1; QWQ.mm++; } else if ((QWQ.mm == 2 || QWQ.mm == 4 || QWQ.mm == 6 || QWQ.mm == 9 || QWQ.mm == 11) && QWQ.dd > 30) { QWQ.dd = 1; QWQ.mm++; } } } return QWQ; } int Days(struct DateG x) { int res = 0, flag = 1; while (flag == 1) { res++; x.dd--; if ((x.yy % 4 == 0 && x.yy % 100 != 0) || x.yy % 400 == 0) {//闰年 if ((x.mm == 1 || x.mm == 3 || x.mm == 5 || x.mm == 7 || x.mm == 8 || x.mm == 10 || x.mm == 12) && x.dd == 0) { if (x.mm == 8 || x.mm == 1) x.dd = 31; else if (x.mm == 3) x.dd = 29; else x.dd = 30; x.mm--; if (x.mm == 0) { x.mm = 12; x.yy--; } } else if ((x.mm == 2 || x.mm == 4 || x.mm == 6 || x.mm == 9 || x.mm == 11) && x.dd == 0) { x.dd = 31; x.mm--; } } else {//非闰年 if ((x.mm == 1 || x.mm == 3 || x.mm == 5 || x.mm == 7 || x.mm == 8 || x.mm == 10 || x.mm == 12) && x.dd == 0) { if (x.mm == 8 || x.mm == 1) x.dd = 31; else if (x.mm == 3) x.dd = 28; else x.dd = 30; x.mm--; if (x.mm == 0) { x.mm = 12; x.yy--; } } else if ((x.mm == 2 || x.mm == 4 || x.mm == 6 || x.mm == 9 || x.mm == 11) && x.dd == 0) { x.dd = 31; x.mm--; } } if (x.yy == 1 && x.mm == 1 && x.dd == 1) flag = 0; } return res; }

 

6-4 在被调函数中计算任意日期的星期值

分数 10

全屏浏览题目

切换布局

作者 巨同升

单位 山东理工大学

以下程序的功能是:首先在main函数中输入任意一个日期的年、月、日的值,然后在被调函数weekday中求出该日期是星期几。要求写出函数weekday。 假定从公元第一天开始,就实施格里高利历法。格里高利历法的置闰规则是400年97闰,也可以概括为:四闰百不闰,四百闰。

函数接口定义:

void weekday(int y,int m,int d);

其中y、m、d是由主调函数传入的参数。

裁判测试程序样例:

#include void weekday(int y,int m,int d); int main(void) {int y,m,d; scanf("%d%d%d",&y,&m,&d); weekday(y,m,d); return 0; } /* 请在这里填写答案 */

输入样例: 2012 3 25 输出样例: 星期日

 

6-5 月纳税额计算

分数 15

全屏浏览题目

切换布局

作者 唐艳琴

单位 中国人民解放军陆军工程大学

本题目要求读入每月工资,计算按月需要累计缴纳的税额(税率见下图),此处只需显示应缴纳的税额,无需减去已缴纳部分。结果保留两位小数。 注意:每月有5000元免税额。

上图为按年累计应纳税所得额

函数接口定义:

double m_tax(double salary,int month);

其中salary和 month 是用户传入的参数,函数返回每月累计应纳税额。

裁判测试程序样例:

#include double m_tax(double salary,int month); int main() { double money,tax; int i; for(i=1;i=0&&A[j]>A[j+d];j-=d){ temp = A[j]; A[j] = A[j+d]; A[j+d] = temp; } } } return A[N/2]; } 6-7 计算A[n]=1/(1 + A[n-1]) 

分数 10

全屏浏览题目

切换布局

作者 王跃萍

单位 东北石油大学

函数 fun 的功能是:根据整型形参 n,计算某一数据项的值。 A[1]=1, A[2]=1/(1 + A[1]), A[3]=1/(1 + A[2]), …,A[n]=1/(1 + A[n-1]) 例如,若 n=10,则应输出:A10=0.617977。

函数接口定义:

float fun(int n);

其中n是用户传入的参数,函数须返回第n项的值。

裁判测试程序样例:

#include float fun(int n); int main( ) { int n ; scanf("%d", &n ) ; printf("A%d=%f\n", n, fun(n) ) ; return 0; } /* 请在这里填写答案 */

输入样例: 10 输出样例: A10=0.6180 float fun(int n){ if(n==1) return 1; else return 1/(1+fun(n-1)); }

 

6-8 π/2≈1+1/3+1/3*2/5+...

分数 10

全屏浏览题目

切换布局

作者 王跃萍

单位 东北石油大学

函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。

函数接口定义:

double fun(double eps);

其中eps是用户传入的精度,函数须返回π值。

裁判测试程序样例:

#include double fun(double eps); int main() { double x; scanf("%lf",&x); printf("Pi=%lf\n",fun(x)); return 0; } /* 请在这里填写答案 */

输入样例: 0.0005 输出样例: Pi=3.140578

 

double fun(double eps){ float pi=1,t=1,k=3; int i; for(i=1;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3