西安交通大学 C语言作业

您所在的位置:网站首页 涤纶与尼龙哪个好 西安交通大学 C语言作业

西安交通大学 C语言作业

2024-01-10 15:53| 来源: 网络整理| 查看: 265

以下是大计基编程题目or题目,直接来源于吴宁教授(2020年11月30日)。

B站专栏的程序块一个Bug是#include丢部分,用""可以,但因为基本上是,不改。还有不知为何有时遇到

5、C042-平均数计算(无)

从键盘输入任意3个整数,然后输出这3个数的平均值。

输入:3个整数,用空格分隔。

6、C043-3个小数求和

编写程序,用户输入任意的3个小数;将这3个小数相加并显示结果;将结果按四舍五入方法转换成整数并显示。

输入:3个小数,空格分隔;

输出:和,四舍五入后的整数,1行显示,空格分隔

7、C044-和差积商

输入2个整数,求:和,差,积,商

输入:2个整数(第二个数是非零整数)

输出:4个整数,依次为和、差、积和商,数据间用空格分隔。

8、C046-时、分、秒转换

输入总秒数,转换为相应的时、分、秒。提示:在输出时,请使用下面的格式(变量名不要求一样)printf("%d:%.2d:%.2d\n", h, m, s)

输入:整数

输出:时分秒,整数,西文冒号分隔

Case: 3610    1:00:10;   3670  1:01:10;  456  0:07:36;  8421  2:20:21

9、C048-计算银行存款本息

计算银行存款本息。输入存款金额money(单位:元),存期years,年利率rate,计算到期存款本息(保留2位小数)。计算公式如下:sum=money(1+rate)years

提示:求x的y次幂可以使用数学函数pow(x,y),其中x,y均为double型,在程序开始加上:#include

输入:存款金额,存期,年利率。均为浮点数,且用逗号分隔

输出:存款本息(保留2位小数)

10、C049-输出相邻的字母串

输入一个大写英文字母, 输出与其相邻的字母串(将字母A-Z看作是收尾相接的环状排列)。

输入: 大写英文字母

输出:该字母前面的字母,该字母,该字母后面的字母。(三字母间无间隔)

11、C053-输出字母的ASCII码和后继字符

输入由4个字母构成的英文单词,按如下格式输出字母,该字母的ASCII码以及该字母的后继字符。每行输出数据之间用一个空格分隔。

输入: 单词

输出:共4行,每行输出字母,该字母的ASCII码,该字母后继字符(空格分隔,每行的最后没有空格)

12、编写程序,计算x=(1+r)^n

二、(7)

1、C001-输出平方根

从键盘输入一个小于等于1000的正整数x,输出其平方根(为整数)。若输入数大于1000,则输出0,并继续接受下一个输入直至小于等于1000。(提示:使用求平方根函数sqrt需要包含头文件)。

2、C003-输出对应的英文星号

读取3个数(1~10)的整数值,每读取一个值,程序打印出该值个数的英文星号(""""*"""")。

输入:3个整数,3行。

输出:3行星号。

3、C004-编写程序完成数据的加密

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

1)每位数字都用自身加上5后的和除以10的余数代替,如1用6代替,8用3代替;如3768就转换为8213;

2)再将第一步生成的数字的第一位和第四位交换,第二位和第三位交换。 如8213转换为3128,即为最终的加密密码。

编写程序完成数据的加密,输入:一个整数。

输出:一个整数。

4、C060-统计整数个数

输入若干个整数,其值在0至4的范围内,用-1作为输入结束的标志,统计每个整数的个数。

    输入:[0,4]内的整数组成的序列,最后是-1,用空格隔开。

    输出:0,1,2,3,4的统计个数,用一个空格隔开。

样例:3 3 3 2 2 1 0 3 4 4 -1

1 1 2 4 2

5、C007-找出m到n之间的所有同构数(m

6、C009-求小球第n次落地的距离和反弹高度

一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求其在第n次落地时,共经过了多少米?第n次反弹高度是多少?

输入:第n次的值,整数

输出:小球经过的路程长度和小球反弹的高度,分2行输出。

7、C069-将数字替换为字母

将数字替换为字母。输入一个整数,将它除以2;再将除以2后所得数字的整数部分的各位用相应序号的字母替代。替换原则:0换为a,1换为b,2换为c,...,以此类推,9换为j。

例如,1234,除以2等于617,替换结果为gbh

输入:一个正整数

输出:除2后的整数整数部分和字符串,中间以一个空格隔开。

样例:1234

617 gbh

8、C011-判断任意一个正整数各位数字之和是奇数还是偶数

编程判断任意一个正整数各位数字之和是奇数还是偶数。如果是奇数输出1,偶数输出0

9、C012-求级数前n项的和

编程求以下级数前n项之和:s=1-1/3+1/5-1/7+...

10、C031-求a+aa+aaa+aaaa+…+aa...a

求a+aa+aaa+aaaa+…+aa...a(n个),其中a为1~9之间的整数。

例如:当a = 1, n = 3时,求1+11+111之和为123;

输入:组成序列的数字a和求和项的数量n

输出:算式和结果。

11、C014-找出给定范围内是7的倍数或带7的全部正整数

编程,找出[m,n]范围内是7的倍数或带7的全部正整数,m和n为正整数。

12、C032-水仙花数

“水仙花数”是指一个三位正整数,其各位数字的立方和确好等于该数本身,如:153=1^3+5^3+3^3 (其中^表示乘方,5^3表示5的3次方),则153是一个“水仙花数”。

    输入n, m,100

三、(8)

1、C061-最大公约数

求n个数的最大公约数。2

10、C041-小明的计算(无)

11、C102-求一组数中的最大值并统计出现次数

求一组数中的最大值,然后统计该最大值在这组数中出现的次数。

  输入:元素个数n和n个整数。n1),然后将该整数分解为1和各个质因子的相乘,如果输入的整数本身就是质数,则应分解为1和该数本身相乘。

14、C054-输出分数序列前n项之和

有一分数序列如下: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13, … 即后一项的分母为前一项的分子,后项的分子为前一项分子与分母之和,求其前n项之和。

输入:项数n(整数)

输出:前n项之和(实数,注:保留4位小数)

15、C056-月份天数计算

输入公元年份和月份,输出该月份的天数。

输入:年,月(逗号分隔)

输出:天数

四、(9)

1、C059-数组循环移动

"一个数组A中存有n(n>0)个整数,在不允许使用另外数组的前提下,将每个整数,循环向右移m(m>=0)个位置,即将A中的数据由(A0A1……An-1)变换为(An-m…… An-1A0A1……An-m-1)(最后m个数循环移至A的最前面的m个数)。输入n ( 1='a'&&s[i]='A'&&s[i]n){ i=0; while(i《n){t++;i++;} *(t+1)='\0'; } } int main() { int k1,n; char s[200]; scanf("%s%d",s,&n); fun(s,n); printf("%s\n",s); return 0; }">

15、C066-打点滴时间计算

在医院打点滴(吊针)的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有v毫升,每一滴是d毫升,每一滴的速度是一秒(假设最后一滴不到d毫升,则花费的时间也算一秒),停一下的时间也是一秒,这瓶水什么时候能滴完呢?(0 < d < v

8、C079-字符串反转函数(无)

编写字符串反转函数,该函数将指定字符串中的字符左右顺序颠倒排列。该函数的原型为: 

char * mystrrev(char string[]);

其中参数string是待反转的字符串,该函数的返回值为左右顺序颠倒后的字符串指针。

编写主函数,对上述函数进行测试。

样例:

abcdefghijklmn

nmlkjihgfedcba

9、C100-将字符串中的空格改为逗号

编写程序,输入字符串到字符数组s中,将字符串中的空格均改为逗号(每1个空格对应1个英文逗号)。 输入一行:字符串。 输出一行:改变后的字符串; 若没有空格,则输出字符串“NotFound”。

10、C134-最大最小和平均值(无)

编写函数,寻找具有n个元素的一维数组中的最大值和最小值,并返回数组元素的平均值,函数原形如下:

double fun(int a[],int n,int *max,int *min);

输入输出格式:

输入:用户输入的n+1个数,用空格分隔。第一个数为数组元素个数n。

输出:3个数字:第一个数字为数组中的最大元素值,第二个数字为数组中的最小元素值,第三个数字为数组元素的平均值(保留小数点后6位有效数字)。3个数用空格分开。

11、C080-查字典

设5个单词的单词表,""reserve"", ""replace"",  ""core"", ""nature,"" ""literature"",编写程序在单词表中查找单词,若找到,则显示YES,若找不到则显示NO。查找不区分大小写。

输入:一个表示单词的字符串。

输出:YES或NO。

样例1:literature     YES

12、C106-新兵报数问题(无)

某部队进行新兵队列训练,将新兵从1开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始1至2报数,凡报到2的出列,剩下的向小序号方向靠拢,再从头开始进行1至3报数,凡报到3的出列,剩下的向小序号方向靠拢,继续从头开始进行1至2报数,以后从头开始轮流进行1至2报数、1至3报数直到剩下的人数不超过三人为止。编写程序,输入数N为最开始的新兵人数(20 < N < 6000),输出剩下的新兵最初的编号。

第七周

14、C018-计算一个正整数各位数字的平方和

输入任意一个正整数,计算各位数字的平方和。如:1234 则:计算1*1+2*2+3*3+4*4=30

(先拆分每个数,再求平方和)

八、(13)

7、C121-将一个字符串str中指定的字符ch删去

编写函数,将一个字符串str中指定的字符ch删去(包括重复出现的字符),并编写主函数进行调用测试。函数原型:  void delchar(char *str,char ch);。

输入:占二行。

第1行,输入任意字符串(注:输入的字符串长度不会超过80)

第2行,输入一个字符

输出:占一行

8、C122-计算函数ack(m,n)的值

编程计算函数ack(m,n)的值,其中m,n定义域是非负整数(m=2),判断n是否为素数。是素数输出 "YES", 否则输出 "NO"。

样例:7 YES;  12  NO; 711  NO

第十一周

10、C134-最大最小和平均值

编写函数,寻找具有n个元素的一维数组中的最大值和最小值,并返回数组元素的平均值,函数原形如下:

double fun(int a[],int n,int *max,int *min);

输入输出格式:

输入:用户输入的n+1个数,用空格分隔。第一个数为数组元素个数n。

输出:3个数字:第一个数字为数组中的最大元素值,第二个数字为数组中的最小元素值,第三个数字为数组元素的平均值(保留小数点后6位有效数字)。3个数用空格分开。

样例:2 1 2; 2  1  1.66667

      1  0;  0  0  0.50000

(题2)13、C-082 回文字符串判断

一个字符串,如果第1个字符和最后一个字符相同,第2个字符和倒数第2个相同,...,则称为回文字符串,简称回文串。如deed。

输入一个字符串,判断是否回文字符串。若是则显示YES,否则显示NO。输入的字符串长度不超过200.

样例:d,  YES;  db,  NO;  aba,  YES;   1234567887654321,  YES

第十二周

10、C141-冒泡排序和选择排序

编写冒泡排序函数,函数原型:void BubbleSort(int a[],int n);对n个整数升序排序。 

编写选择排序函数,函数原型:void SelectionSort(int a[],int n);对n个整数降序排序。 编写main函数,输入10个整数,利用函数将其按升序和降序分别输出排序结果。(输入输出数据间用一个空格分隔) 

输入: 5 2 8 9 10 1 3 4 7 6 ; 输出:1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1

输入: -1 -2 9 7 0 78 -90 -90;  

输出: -90 -90 -90 -2 -1 0 0 7 9 78 78 9 7 0 0 -1 -2 -90 -90 -9

Reference:

1、快排

2、求素数

求质数:

判断一个整数m是否为素数(质数)的方法:

1)将m被 2~m-1 之间的每一个整数去除,如果都不能被整除,则:m就是一个素数;

2)如果m 能被 2~m-1 之间任意一个整数整除,则其两个因子中,必定有一个小于或等于根号m,另一个大于或等于根号m。因此,如果m不能被 2~根号m间任一整数整除,m 必定是素数。

3、质因子



【本文地址】


今日新闻


推荐新闻


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