中国石油大学(华东)C语言习题答案_中国石油大学作业答案

2020-02-29 其他范文 下载本文

中国石油大学(华东)C语言习题答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“中国石油大学作业答案”。

付子文

C语言习题集

C语言复习题

【设计型】5.1 输出一行星号

编写程序在一行中输出 N 个星号。输入: N值

输出: 一行中N个星号 #include int main(){ int a,i;scanf(“%d”,&a);for(i=1;i

输入图形的高 n,输出如下例(n=5)所示的图形.***** ***** ***** ***** ***** 输入:

付子文

C语言习题集

整数n例如 5 输出:

由*组成的高为5的平行四边形 #include int main(){ int i,j,num;scanf(“%d”,&num);for(i=0;i

编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n(保留四位小数)#include int main(){ double n,i,sum,k=1.0;scanf(“%lf”,&n);

付子文

C语言习题集

i=1,sum=0;while(i

有一个分数序列:求出其前n项的和。

...............,输入整数n,输出语句格式为:printf(“sum=%16.10fn”,s);#include int main(){ int n,a,b,i,temp;double sum;scanf(“%d”,&n);i=1,sum=0,a=2,b=1;while(i

付子文

C语言习题集

{ sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)

i++;} printf(“sum=%16.10fn”,sum);return 0;} 【设计型】5.5 求e的值

编写程序,从键盘输入整数 n , 求 e 的值.e=1+1/1!+1/2!+1/3!+..+1/n!注意:用 double 型数据计算输出语句:printf(“sum=%16.10fn”,sum);#include int main(){ int n,i;double sum,jc;scanf(“%d”,&n);i=1,sum=1.0 jc=1.0;while(i

付子文

C语言习题集

输入两个正整数m和n,求它们的最大公约数和最小公倍数

比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。#include int main(){ int yu,m,n,temp,bei,ji;scanf(“%d%d”,&m,&n);if(m

bei=ji/n;(最小公倍数求法)

printf(“the greatest common divisor is %dn”,n);printf(“the least common multiple is %dn”,bei);return 0;} 【设计型】5.7 水仙花数

付子文

C语言习题集

输出所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33 输出语句:printf(“%dn”,n);

#include int main(){ int a,b,i,j,k;for(i=1;i

一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1,2,3,且6=1+2+3,因此6是完数,从键盘上输入一个正整数,判断其是否为完数。如果是,则按照如下格式输出。比如,输入6,则输出Yes,its factors are 1 2 3;如果输入8,则输出No #include int main()6

付子文

C语言习题集

{ int yinzi,num,i,sum=0;scanf(“%d”,&num);for(yinzi=1;yinzi

输入两个正整数m和n,求出[m,n]区间的所有素数

付子文

C语言习题集

#include int main(){ int m,n,i,j,tag=1;scanf(“%d%d”,&m,&n);for(i=m;i

if(i%j==0){ tag=0;break;} else tag=1;}

if(tag)printf(“ %d”,i);} printf(“n”);return 0;

付子文

C语言习题集

} 【设计型】5.10 回文数

输入一个数,判断是否为回文数,如果是,输出Yes,否则输出No #include int main(){ double num;scanf(“%lf”,&num);int min=0, max=num;while(max>0){ min=min*10+(int)max%10;(将数字反过来)max=max/10;}

if(num==min)printf(“Yesn”);else printf(“Non”);return 0;} 【设计型】5.11 贪吃的猴子

有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃

付子文

C语言习题集

了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一半加5个)。到第n天早上再想吃的时候,就只剩下一个桃子了。输入: 天数n 输出:

第一天的桃子个数,输出语句为printf(“The monkey got %d peachs in first day.n”,sum);Smaple: Input: 5 Output The monkey got 114 peachs in first day.提示:

问题分析: 总共 t0 日 吃掉 剩余t0/2+1 t0-(t0/2+1)=t0/2-1 t1=t0/2-1 =>t0=(t1+1)*2 2 t1/2+2 t1-(t1/2+2)=t1/2-2 t2=t1/2-2 =>t1=(t2+2)*2....n-1 tn-2/2+(n-1)tn-2-(tn-2/2+(n-1))=tn-2/2-(n-1)tn-1=tn-2/2-(n-1)=> tn-2=(tn-1+n-1)*2 n 1 0 tn-1=1 #include int main(){

付子文

C语言习题集

int i,t,sum;scanf(“%d”,&t);sum=1;for(i=t;i>1;i--){ sum=(sum+i-1)*2;?

} printf(“The monkey got %d peachs in first day.n”,sum);return 0;} 【创新型】5.12 马戏团观众人数

一个马戏团表演,n 个座位全满,全部门票收入是 120 元,现在知道,男人每人 5 元,女人每人 2 元,小孩每人 1 角。编程,输入总人数 n,输出满足要求的男人、女人和小孩人数的全部方案。若 n 人无法满足条件,则输出“No outputn”。输入: 人数 n 输出: 男人、女人和小孩人数 #include int main(){ int man,woman,child,total,sum,tag=0;scanf(“%d”,&total);for(man=0;man

付子文

C语言习题集

for(woman=0;woman

用迭代法求

.求平方根的迭代公式为:

要求前后两次求出的x的差的绝对值小于10-5。

#include #include 12

付子文

C语言习题集

int main(){ double x,a,b;double i;scanf(“%lf”,&x);b=x;for(i=1;;){ a=i;i=(i+x/i)/2;if(fabs(i-a)

(1)取X1初值为0.0;

(2)X0=X1,把X1的值赋给X0;

(3)X1=cos(X0),求出一个新的X1;

(4)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

付子文

C语言习题集

(5)所求X1就是方程cos(X)-X=0的一个实根,输出X1,输出语句为printf(“x=%lf”,x)。

提示:本题x0和x1定义为double类型

#include #include #include int main(){ double x0,x1;for(x1=0;;){ x0=x1;x1=cos(x0);if(fabs(x0-x1)

付子文

C语言习题集

编写程序,求某三位数,该数值的大小正好是组成这个数的三个位上的数字阶乘之和。

输出格式:printf(“%dn”,num);#include int main(){ int i,j,k,l,ge,shi,bai,s1,s2,s3;for(i=100;i

付子文

C语言习题集

printf(“%dn”,i);break;} } } 【研究创新型】6.1 谁能出线

背景:

电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。

输入:

按顺序给出一个小组10个人的最后得分(int)。

输出:

能够出线的学生序号(0~9)。#include int main(){

int i,a[10],max;for(i=0;i

付子文

C语言习题集

}

} if(max

求出 2 到 m 之间(含 m,m int main(){ int i,j,k=0,a[1001],m,yu,tag,num=0;scanf(“%d”,&m);for(i=2;i

付子文

C语言习题集

for(j=2;j

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直

付子文

C语言习题集

至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。编写程序,对输入的十个数按照从小到大排序

#include int main(){ int i,j,a[10],z;for(i=0;ia[i+1]){ z=a[i+1];a[i+1]=a[i];a[i]=z;} 19

付子文

C语言习题集

} } for(j=0;j

如果一个数组中保存的元素是有序的(由小到大),向这个数组中插入一个数,使得插入后的数组元素依然保持有序。

定义一个数组,长度为11,初始元素为10个,按照从小到大的方式输入,然后输入一个要插入的元素,使得插入后仍然有序。#include int main(){ int a[11],i,j,t;for(i=0;ia[10])

付子文

C语言习题集

{ t=a[10];for(j=10;j>i;j--){ a[j]=a[j-1];} a[i]=t;break;} } for(i=0;i

任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593,则输出为 9531。输入: 自然数 n 输出: 各位数字组成的最大数

#include int main()21

付子文

C语言习题集

{ int a[12],num,i,j,k,m,t;scanf(“%d”,&num);for(i=0;;i++){ k=num%10;num=num/10;(分离各个位数)a[i]=k;if(num==0)break;} for(m=0;ma[j+1]){ t=a[j+1];a[j+1]=a[j];a[j]=t;} } } for(j=i;j>=0;j--)

付子文

C语言习题集

printf(“%d”,a[j]);printf(“n”);return 0;} 【设计型】6.6 数组逆序输出

问题描述

从键盘上输入一个数组(10个元素),将原数组逆序重新排列后输出。要求输出每个元素时以一个空格隔开。提示:

用第一个与最后一个交换。

#include int main(){ int a[10],i,t;for(i=0;i

付子文

C语言习题集

printf(“%d ”,a[i]);printf(“n”);return 0;} 【设计型】6.7 求最大值

问题描述

要求从键盘输入10个整型数据,找出其中的最大值并显示出来。输入范例0 54-710 27 32767 10 1 500 2 输出范例 32767 提示

先假定第一个元素时最大值,然后和其他的元素一个一个的进行比较,直到找到最大值。

#include #define n 10 int main(){ int a[n],i,max;for(i=0;i

付子文

C语言习题集

{ if(a[i]>max)max=a[i];} printf(“%d”,max);printf(“n”);return 0;} 【设计型】6.8 二维数组

程序定义了 4× 4 的二维数组,请编写程序,给二维数组赋值,并使数组下半三角元素中的值乘以n。例如: 数组中的值为

假设n为10,则输出结果如下:(输出的数按照4位宽度来输出,即%4d)

#include int main(){ 25

付子文

C语言习题集

int a[4][4],i,j,n,count=0;for(i=0;i

for(i=0;i

付子文

C语言习题集

} return 0;} 【设计型】6.9 在屏幕上显示杨辉三角形

杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。

其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而贾宪三角的发现就是十分精彩的一页。

杨辉三角有如下性质:

1、每行数字左右对称,由1开始逐渐变大,然后变小,回到1。

2、第n行的数字个数为n个。

3、每个数字等于上一行的左右两个数字之和。

编写程序,输入正数n,将所有数据存储到二维数组中,并在屏幕上显示对应的杨辉三角形(注意数据之间的空格)。例如:n=5 图形如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 #include int main(){

付子文

C语言习题集

int i,j,n;int a[10][10];scanf(“%d”,&n);n=n+1;for(i=0;i

付子文

C语言习题集

return 0;} 【设计型】6.10 求二维数组周边元素之和

编写一个程序,求出4×5的二维数组周边元素之和。输入:二维数组元素 输出:周边元素之和 如: 输入: 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 输出:61 #include int main(){ int a[4][5],i,j,sum1=0,sum2=0,sum;for(i=0;i

付子文

C语言习题集

sum1=sum1+a[0][j]+a[3][j];for(i=0;i

编程,输入 n,存储并输出如下例(n=5)所示的 图形。1 2 3 4 5 1 1 2 3 4 1 1 1 2 3 1 1 1 1 2 1 1 1 1 1 #include int main(){ int a[5][5],i,j,n,count=0;scanf(“%d”,&n);for(i=0;i

付子文

C语言习题集

a[i][j]=1;

} } for(i=0;i

付子文

C语言习题集

【设计型】6.12 给数组中的元素按顺序编号

对数组 a[10] 中的十个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组 a 中元素的顺序,且相同的整数要具有相同的编号。例如数组是: A=(5,3,4,7,3,5,6,8,9,10)则输出为:(4,1,3,7,1,4,6,8,9,10)#include int main(){ int a[11],c[11];int i,j,t,m;for(i=1;i=a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t;} for(m=1;m

付子文

C语言习题集

for(i=1;i

描述

提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。输入

一个以回车符为结束标志的字符串(少于80个字符)。输出

把字符串中的所有数字字符(‘0’...‘9’)转换为一个整数并输出。

#include #include int main(){ char word[20];int i,n;scanf(“%s”,word);

付子文

C语言习题集

n=strlen(word);for(i=0;i='0'&&word[i]

输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。

输入:

两个已经排好顺序(升序)的字符串

输出:

一个合并在一起的有序(升序)的字符串

要求:

设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。如果采用先进行串连接,然后再进行排序的算法,则效率太低了。

#include #include

付子文

C语言习题集

int main(){ char a[100],b[100];char n[200],t;int i,j,k,m;gets(a);gets(b);for(i=0;a[i]!=0;i++)n[i]=a[i];for(j=0;b[j]!=0;j++,i++)n[i]=b[j];n[i]='';for(k=0;kn[m]){ t=n[k];n[k]=n[m];n[m]=t;} } printf(“%sn”,n);return 0;

付子文

C语言习题集

} 【设计型】8.3 删除重复字符

背景:

输入一个长度不超过 100 的字符串,删除串中的重复字符。

输入:

输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcd。

输出:

删除重复字符后的字符串。例如:abced。

#include #include int main(){ char str1[100],str2[100];int i,j,n,k=0,tag=0;scanf(“%s”,str1);str2[0]=str1[0];printf(“%c”,str2[0]);n=strlen(str1);for(i=0;i

付子文

C语言习题集

{ if(str1[i]==str2[j]){ tag=0;break;} tag=1;} if(tag==1){ str2[k+1]=str1[i];printf(“%c”,str2[k+1]);k++;} } printf(“n”);return 0;} 【设计型】8.4 删除字符串中指定字符

输入两个字符串 s1 和 s2,在 s1 中删除任何 s2 中有的字符。例如,s1 :“ abc123ad ”,s2 :“ a1 ”,则输出“bc23d ”。输入: 两个字符串 s1 和 s2 37

付子文

C语言习题集

输出: 删除后的字符串 s1 #include #include int main(){ char str1[100],str2[100];int i,j,n1,n2,tag=0;scanf(“%s%s”,str1,str2);n1=strlen(str1);n2=strlen(str2);for(i=0;i

付子文

C语言习题集

} printf(“n”);return 0;} 【设计型】8.5 单词有多少

用空格或换行分开的字符串称为单词。输入多行字符串,直到遇到了单词 “stop” 时才停止。最后输出单词的数量。用于分割单词的空格或换行可能多于1个。输入: 多个字符串 输出: 单词的数量

#include #include int main(){ char str[10][20],str2[]={'s','t','o','p',''};int i,num=0;for(i=0;;i++){ scanf(“%s”,str[i]);if(strcmp(str[i],str2)==0)break;num++;} printf(“%dn”,num);39

付子文

C语言习题集

return 0;} 【设计型】8.6 在指定位置插入字符串

输入两个字符串 s1、s2 和 s1 中任意字符 k,在 s1 中的指定字符 k 第一次出现的位置处插入字符串 s2 并输出。

输入: 两个字符串 s1、s2 和 s1 中任意字符 k 输出: 插入后的字符串 s1 #include #include int main(){ char str1[15],str2[15],t;int i,n,num=0;gets(str1);gets(str2);t=getchar();n=strlen(str1);for(i=0;i

付子文

C语言习题集

for(i=0;i

付子文

C语言习题集

the product of all the letters in the name, where “A” is 1 and “Z” is 26.For instance, the group “USACO” would be 21 * 19 * 1 * 3 * 15 = 17955.If the group's number mod 47 is the same as the comet's number mod 47, then you need to tell the group to get ready!(Remember that “a mod b” is the remainder left over after dividing a by b;34 mod 10 is 4.)Write a program which reads in the name of the comet and the name of the group and figures out whether according to the above scheme the names are a match, printing “GO” if they match and “STAY” if not.The names of the groups and the comets will be a string of capital letters with no spaces or punctuation, up to 6 characters long.#include #include int main(){ char comet[10],group[10];int i,n1,n2,sum1=1,sum2=1;int yu1,yu2;scanf(“%s%s”,comet,group);n1=strlen(comet);n2=strlen(group);

付子文

C语言习题集

for(i=0;i

问题描述:

编写C程序,它能以字符串形式读入两个无符号正整数m和n,计算并输出这两个整数之和 输入格式:

输入由两行组成,第一行为无符号整数m,第二行为无符号整数n,且m和n的值最长25位 输出格式:

输出为一行,即两个无符号整数m和n之和 输入样例: 9999888888 355729288 输出样例: 10355618176 #include #include #define N 200 int main()

付子文

C语言习题集

{ char s1[N],s2[N];int a[N]= {0},b[N]= {0},L1,L2,c,k,i;scanf(“%s%s”,s1,s2);L1=strlen(s1);L2=strlen(s2);if(L1=0;i--){ a[i]+=b[i];if(a[i]>=10){ a[i]-=10;a[i-1]++;} } if(a[0]!=0){

付子文

C语言习题集

for(i=0;i

请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a的十位和个位依次存放在c数的十位和千位上,b的十位和个位依次存放在c数的个位和百位上。例如:当a=45,b=12,调用该函数后,c=5241。#include #include int fun(int a,int b){ int shi,qian,ge,bai,fun;shi=a/10;qian=a%10;ge=b/10;

付子文

C语言习题集

bai=b%10;fun=qian*1000+bai*100+shi*10+ge;return(fun);} int main(){ int a,b,c;scanf(“%d%d”,&a,&b);c=fun(a,b);printf(“c=%dn”,c);} 【设计型】9.2 素数的判断

请编写函数fun,其功能是判断一个整数n是否为素数,如果是素数,则返回1,否则返回0。#include int fun(int n){ int i,flag=1,fun=1;for(i=2;i

付子文

C语言习题集

break;} } if(flag==0)fun=0;else fun=1;return fun;} int main(){ int a;scanf(“%d”,&a);if(fun(a))printf(“Primen”);else printf(“Non Primen”);return 0;} 【设计型】9.3 求级数

请编写函数fun,它的功能是计算下列级数和,值由函数值返回。

例如,当n=10,x=0.3时,函数值为1.349859。

请勿改动主函数main,仅在函数fun的花括号中填入所编写的若干语句。

付子文

C语言习题集

#include double fun(double x,int n){ int i,jc=1;double sum=1.0,m=1.0;for(i=1;i

付子文

C语言习题集

请编写一个函数,其功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。

例如,若输入17 5,则应输出19 23 29 31 37 请勿改动主函数main,仅在函数fun的花括号中填入所编写的若干语句。#include void fun(int m,int k,int xx[]){ int num,i,j;num=0;for(i=m+1;;i++){ for(j=2;j=i){ xx[num]=i;num++;} if(num>=k)break;} } int main(){ int m,n,zz[1000];

付子文

C语言习题集

scanf(“%d%d”,&m,&n);fun(m,n,zz);for(m=0;m

请编写函数fun,其功能是:从字符串中删除指定的字符。同一字母的大、小写按照不同的字符处理。#include void fun(char str[] ,char ch){ int i,j;for(i=0;str[i]!=0;i++){ if(str[i]==ch){ for(j=i;str[j]!=0;j++)

str[j]=str[j+1];

i--;50

中国石油大学(华东)C语言学习心得

C语言学习心得开课之前信息的收集:在高中的时候就听过程序员这个职业,当时也只知道这些人是写程序的,然而程序是什么具体我也不知道。终于上大学了,我看到自己的课表上有C程序设......

中国石油大学C语言答案

中国石油大学c语言答案1.1 Hello world.让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一:#include void main() {printf("Hello world.\n"); } 程序二:#inc......

中国石油大学(华东)

自 荐 信尊敬的中国石油大学(华东)学自主招生领导:您好!学生李昌民,今年17岁,是山东省莱芜市第一中学(省级示范性高中)的高三学生,您在百忙之中审阅我的自荐申请材料,我感到荣幸万分,深......

中国石油大学(华东)自荐信

尊敬的中国石油大学(华东)老师:您好。我是来自XX省XX市XX中学(省级规范化学校)的XXX。我希望通过贵校的自主招生来实现我在中国石油大学(华东)学习的梦想,感谢您在百忙中抽出时间审......

中国石油大学(华东)简介

中国石油大学是教育部直属全国重点大学,是国家“211工程”重点建设和985工程“优势学科创新平台”建设并建有研究生院的高校之一。中国石油大学(华东)是教育部和四大石油石化企......

《中国石油大学(华东)C语言习题答案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
中国石油大学(华东)C语言习题答案
点击下载文档
相关专题 中国石油大学作业答案 习题 中国 石油大学 中国石油大学作业答案 习题 中国 石油大学
[其他范文]相关推荐
[其他范文]热门文章
下载全文