C语言_中国石油大学(华东)c语言上机题

合集下载

中石大C语言程序设计第次在线作业答案

中石大C语言程序设计第次在线作业答案

第三次在线作业单选题共20道题收起1.2.5分在C语言中,当函数调用时;A、A. 实参和形参各占一个独立的存储单元B、B. 实参和形参共用存储单元C、C. 可以由用户指定实参和形参是否共用存储单元D、D. 由系统自动确定实参和形参是否共用存储单元我的答案:A 此题得分:2.5分2.2.5分以下函数调用语句中实参的个数为; excev1,v2,v3,v4,v5,v6;A、A. 3B、B. 4C、C. 5D、D. 6我的答案:A 此题得分:2.5分3.2.5分如果在一个函数的复合语句中定义了一个变量,则该变量;A、A. 只在该符合语句中有效,在该符合语句外无效B、B. 在该函数中任何位置都有效C、C. 在本程序的原文件范围内均有效D、D. 此定义方法错误,其变量为非法变量我的答案:A 此题得分:2.5分4.2.5分 C语言允许函数值类型缺省定义,此时该函数值隐含的类型是;A、A. float型B、B. int型C、C. long型D、D. double型我的答案:B 此题得分:2.5分5.2.5分 C语言规定,函数返回值的类型是由;A、A. return语句中的表达式类型所决定B、B. 调用该函数时的主调函数类型所决定C、C. 调用该函数时系统临时决定D、D. 在定义该函数时所指定的函数类型决定我的答案:D 此题得分:2.5分6.2.5分在C语言程序中,以下描述正确的是;A、A. 函数的定义可以嵌套,但函数的调用不可以嵌套B、B. 函数的定义不可以嵌套,但函数的调用可以嵌套C、C. 函数的定义和函数的调用均不可以嵌套D、D. 函数的定义和函数的调用均可以嵌套我的答案:B 此题得分:2.5分7.2.5分以下叙述中正确的是;A、A. 全局变量的作用域一定比局部变量的作用域范围大B、B. 静态static类别变量的生存期贯穿于整个程序的运行期间C、C. 函数的形参都属于全局变量D、D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值我的答案:B 此题得分:2.5分8.2.5分以下程序的运行结果是; include< stdio_h> void subint s,int y { static int t=3; y=st;t--; } main { int a={1,2,3,4},i,x=0; fori=0;i< 4;i++{ suba,x;printf"%d",x;} printf"\n"; }A、A.1234B、B.432lC、C.0000D、D.4444我的答案:C 此题得分:2.5分9.2.5分以下程序的运行结果是: main { int w=5; funw; } funint k { ifk> O funk-1; printf" %d" ,k; }A、A.5 4 3 2 lB、B.0 1 2 3 4 5C、C.1 2 3 4 5D、D.5 4 3 2 1 0我的答案:B 此题得分:2.5分10.2.5分当调用函数时,实参是一个数组名,则向函数传送的是A、A.数组的长度B、B.数组的首地址C、C.数组每一个元素的地址D、D.数组每个元素中的值我的答案:B 此题得分:2.5分11.2.5分在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是;A、A.地址传递B、B.单向值传递C、C.由实参传给形,再由形参传回实参D、D.传递方式由用户指定我的答案:B 此题得分:2.5分12.2.5分定义一个结构体变量时系统分配给它的内存是;A、A. 各成员所需要内存量的总和B、B. 结构体中第一个成员所需内存量C、C. 成员中占内存量最大者所需的容量D、D. 结构中最后一个成员所需内存量我的答案:A 此题得分:2.5分13.2.5分设有如下定义:struct sk {int a ;float b ;}data ,p ;若有p=& data ; ,则对data 中的a 域的正确引用是;A、A.p.data.aB、B.p.aC、C.p-> data.a我的答案:B 此题得分:2.5分14.2.5分当定义一个共用体变量时系统分配给它的内存是;A、A. 各成员所需要内存量的总和B、B. 共用体中第一个成员所需内存量C、C. 成员中占内存量最大者所需的容量D、D. 共用体中最后一个成员所需内存量我的答案:C 此题得分:2.5分15.2.5分设有如下枚举类型定义:enum language { Basic=3 ,Assembly ,Ada=100 ,COBOL ,Fortran} ;枚举量Fortran 的值;A、A. 4B、B. 7C、C. 102D、D. 103我的答案:C 此题得分:2.5分16.2.5分若x=5,y=5,则x& y的结果是;A、A. 0B、B. 2C、C. 3D、D. 5我的答案:D 此题得分:2.5分17.2.5分在位运算中,操作数每左移两位,则结果相当于;A、A. 操作数乘以2B、B. 操作数除以2C、C. 操作数除以4D、D. 操作数乘以4我的答案:D 此题得分:2.5分18.2.5分 C语言可以处理的文件类型是;A、A. 文本文件和数据文件B、B. 文本文件和二进制文件C、C. 数据文件和二进制文件D、D. 数据代码文件我的答案:B 此题得分:2.5分19.2.5分在执行fopen函数时,若执行不成功,则函数的返回值是;A、A.TRUEB、B.–1C、C.1D、D.NULL我的答案:D 此题得分:2.5分20.2.5分在C程序中,可把整型数以二进制形式存放到文件中的函数是;A、A.fprintf函数B、B.fread函数C、C.fwrite函数D、D.fputc函数我的答案:C 此题得分:2.5分判断题共20道题收起21.2.5分下面程序段运行时输出结果是:0,0 1,3 void main { int i; fori=0;i< 2;i++ add; } add { int x=0; static int y=0; printf" %d,%d " ,x,y; x++; y=y+3; }正确错误我的答案:错误此题得分:2.5分22.2.5分下面程序段运行时输出结果是:38.5 int x; void main { x=7; s; printf" %d\n" ,x; } void s { x=5x+x/2; }正确错误我的答案:错误此题得分:2.5分23.2.5分下面程序段运行时输出结果是2 int fint n { int s; ifn==1||n==2 s=1; else s=n-fn-1; return s; } void main { printf“%d”,f3;}正确错误我的答案:正确此题得分:2.5分24.2.5分下面程序段运行时输出结果是29 funint x,int y,int z {z=xx+yy;} main { int a=31; fun5,2,a; printf"%d",a; }正确错误我的答案:错误此题得分:2.5分25.2.5分编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果;判断以下程序是否正确: include< stdio.h> include< string.h> void fltjchar str,int a { int ll,i; ll=strlenstr; for i=0;i< ll;i++ { if stri> =' a' & & stri< =' z' ||stri> =' A' & & stri< =' Z' a0++; else if stri> =' 0' & & stri< =' 9' a1++; else if stri==' ' a2++; else a3++; } } void main { static char str60; static int a4={0,0,0,0}; getsstr; fltjstr,a;printf" %s char:%d digit:%d space:%d other:%d" , str,a0,a1,a2,a3; }正确错误我的答案:正确此题得分:2.5分26.2.5分打印出1-100之间的全部素数要求编写两个函数,一个用于判断一个数是否是素数,另一个是main函数,在main函数中调用该函数实现打印1-100之间的全部素数;判断以下程序是否正确: include < stdio.h> int primeint m { int i; fori=2;i< m;i++ ifm%i==0 return 0; return 1; } void main { int i; fori=2;i< 100;i++ ifprimei printf" %d " ,i; }正确错误我的答案:正确此题得分:2.5分27.2.5分对10个数进行从小到大排序;要求排序在函数sort内完成,用起泡算法;main函数内进行数据输入、调用排序函数sort、并输出排序后的数据;判断以下程序是否正确:include < stdio.h> void sortint a,int n { int i,j,k; for i=0; i< n-1; i++ for j=0; j< n-1-i; j++ if aj> aj+1 { k=aj;aj=aj+1;aj+1=k; } } void main { int a10, i, j, k; printf" 请任意输入10个整数:\n" ; for i=0 ; i< 10 ; i++ scanf" %d" , & ai ; printf" \n" ; sorta,10; printf" 按由小到大的顺序输出10个整数是:\n" ; for i=0; i< 10; i++ printf“%d," ,ai; }正确错误我的答案:正确此题得分:2.5分28.2.5分fun函数用来统计各分数段的分数个数,其中所有分数存放在数组a中,各分数段的分数个数存放在数组b中,85-100分的个数存放到b0,60-84分的个数存放到b1,60以下的个数存放到b2;main函数中输入所有的分数值,调用fun函数,打印各分数段的分数个数;判断以下程序是否正确:includedefine N 20void funint a,int b,int n{ int i;for i=0;i if ai>=85 && ai<=100 b0++;else ifai>=60&&ai<=84 b1++;else ifai<60&&ai>=0 b2++;return;}void main{ int aN,b3,i;funa,b,N;fori=0;i<3;i++ printf“%d\n”,bi;}正确错误我的答案:正确此题得分:2.5分29.2.5分在定义函数时,函数名后面的括号中的变量名称为实参;正确错误我的答案:错误此题得分:2.5分30.2.5分在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用;正确错误我的答案:正确此题得分:2.5分31.2.5分在函数内定义的变量是局部变量,在函数外定义的变量是外部变量;外部变量是全局变量;正确我的答案:正确此题得分:2.5分32.2.5分函数的参数不仅可以是整型、字符型、浮点型等数据,还可以是指针类型;它的作用是将一个变量的地址传送到另一个函数中;正确错误我的答案:正确此题得分:2.5分33.2.5分结构体的成员不能是结构体变量;正确错误我的答案:错误此题得分:2.5分34.2.5分一个结构体变量的指针就是该变量所占内存段的起始地址;正确错误我的答案:正确此题得分:2.5分35.2.5分“按位或”运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1;正确错误我的答案:正确此题得分:2.5分36.2.5分异或运算指两个运算数相应的二进制位相同则结果为0,相异则结果为1,比如0∧1=1,0∧0=0;正确错误我的答案:正确此题得分:2.5分37.2.5分若fp是指某文件的指针,且已读到文件的末尾,则表达式feoffp的返回值是NULL错误我的答案:错误此题得分:2.5分38.2.5分 C语言库函数fgetsstr,n,fp的功能是从文件fp中读取n个字符串存入str指向的内存;正确错误我的答案:错误此题得分:2.5分39.2.5分函数rewind的作用是使位置指针自动移至下一个字符位置;正确错误我的答案:错误此题得分:2.5分40.2.5分 C语言中以w+方式打开文件后,可执行的文件操作是可任意读写;正确错误我的答案:错误此题得分:2.5分。

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

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

C语言复习题【设计型】5.1 输出一行星号编写程序在一行中输出 N 个星号。

输入: N值输出:一行中N个星号#include<stdio.h>int main(){int a,i;scanf("%d",&a);for(i=1;i<=a;i++)printf("*");printf("\n");return 0;}【设计型】5.2 打印平行四边形输入图形的高 n ,输出如下例( n=5 )所示的图形 .*************************输入:整数n例如 5由*组成的高为5的平行四边形#include<stdio.h>int main(){int i,j,num;scanf("%d",&num);for(i=0;i<num;i++){for(j=0;j<num;j++)printf("*");printf("\n");}return 0;}【设计型】5.3 编程计算编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数) #include<stdio.h>int main(){double n,i,sum,k=1.0;scanf("%lf",&n);i=1,sum=0;while(i<=n)sum=sum+k/i;i++;k=-k;(用这个式子实现正负交替)}printf("sum=%.4lf\n",sum);return 0;}【设计型】5.4 分数序列有一个分数序列:...............,输入整数n,求出其前n项的和。

输出语句格式为:printf("sum=%16.10f\n",s);#include<stdio.h>int main(){int n,a,b,i,temp;double sum;scanf("%d",&n);i=1,sum=0,a=2,b=1;while(i<=n){sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.5 求e的值编写程序,从键盘输入整数 n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用 double 型数据计算输出语句:printf("sum=%16.10f\n",sum);#include<stdio.h>int main(){int n,i;double sum,jc;scanf("%d",&n);i=1,sum=1.0 jc=1.0;while(i<=n){jc=jc*i;sum=sum+1.0/jc;i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.6 最大公约数输入两个正整数m和n,求它们的最大公约数和最小公倍数比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

中国石油大学C语言程序设计第一册在线作业答案

中国石油大学C语言程序设计第一册在线作业答案

第一次在线作业单选题(共22道题)收起1.(2.5分)一个C语言程序总是从()开始执行。

A、A. 主过程B、B. 主函数C、C. 子程序D、D.主程序我的答案:B 此题得分:2.5分2.(2.5分)以下叙述不正确的是:()。

A、A. 在C程序中,语句之间必须要用分号" ;" 分隔B、B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C、C. 在C程序中,无论是整数还是实数都能正确无误地表示D、D. 在C程序中,%是只能用于整数运算的运算符我的答案:C 此题得分:2.5分3.(2.5分)以下不正确的C语言标识符是()。

A、A. ABCB、B. abcC、C. a_bcD、D. ab.c我的答案:D 此题得分:2.5分4.(2.5分)下列字符串是标识符的是:()。

A、A. _HJB、B. 9_studentC、C. longD、D. LINE 1我的答案:A 此题得分:2.5分5.(2.5分)以下说法中正确的是()。

A、A. C语言程序总是从第一个定义的函数开始执行B、B. 在C语言程序中,要调用的函数必须放在main()函数中定义C、C. C语言程序总是从main()函数开始执行D、D. C语言程序中的main()函数必须放在程序的开始部分我的答案:C 此题得分:2.5分6.(2.5分)在C语言中,字符型数据在内存中以()形式存放。

A、A. 原码B、B. BCD码C、C. 反码D、D. ASCII码我的答案:D 此题得分:2.5分7.(2.5分)若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A、A. 2.500000B、B. 2.750000C、C. 3.500000D、D. 0.000000我的答案:A 此题得分:2.5分8.(2.5分)设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为()。

石油大学华东C语言在线考试

石油大学华东C语言在线考试

窗体顶端设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为()∙A)strcpy(str1,str2);∙B)strcpy(str1,“China”);∙C)strcat(str1,“China”)∙D)strcat(“Beijing”,str2);窗体顶端2(2.0分)下列变量的定义及赋值正确的是()∙A)int i=0;j;∙B)char c=”A”;∙C)double x,y,z;x=y=z=100;∙D)float a=b=100;窗体顶端3(2.0分)设有定义语句:char str[][20]={"Hello","Beijing"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是()∙B)5∙C)7∙D)20窗体顶端4(2.0分)设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是()∙A)1,1,1∙B)1,2,0∙C)0,1,1∙D)0,2,0窗体顶端5(2.0分)下列程序段的输出结果是()x=9; while(x>7) {printf(“*”);x--;}∙A)****∙B)***∙C)**∙D)窗体顶端6(2.0分)设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是()∙A)5 11∙B)1 9∙C)5 9∙D)有错误窗体顶端7(2.0分)? ?设有语句:float x=1,y; y=x 3/2; 则y的值是()∙A)1∙B)2∙C)2.0∙D)2.5窗体顶端8(2.0分)? ?若有如下语句: int *p1,*p2; 则其中int所指的是()∙A)p1的类型∙B)*p1和*p2的类型∙C)p2的类型∙D)p1和p2所能指向变量的类型窗体顶端9(2.0分)设有语句:int x=10;x = x -= x - x;,则执行语句后,x的值为()∙A)30∙B)20∙C)10∙D)40窗体顶端10(2.0分)? ?设有如下定义和执行语句,其输出结果为()int a=3,b=3; a = --b + 1;printf(“%d %d”,a,b);∙A)3 2∙B)4 2∙C)2 2∙D)窗体顶端11(2.0分)C语言中基本数据类型有()∙A)整型、实型、逻辑型∙B)整型、字符型、逻辑型∙C)整型、实型、字符型∙D)整型、实型、字符型、逻辑型窗体顶端12(2.0分)表示x≤0或x≥1的正确的表达式是()∙A)x>=1||x<=0∙B)x>1 || x<=0∙C)x>=1 or x<=0∙D)x>=1 || x<0窗体顶端13(2.0分)若有定义:int a[5];则a数组中首元素的地址可以表示为()∙A)&a∙B)∙C)a∙D)&a[1]窗体顶端14(2.0分)结构化程序设计的三种基本结构是()∙A)顺序结构、选择结构、循环结构∙B)if、switch、break∙C)for、while、do-while∙D)if、for、continue窗体顶端15(2.0分)若二维数组a有m列,则a[I][j]元素前的数组元素个数为()∙A)j*m i∙B)i*m j∙C)i*m j-113∙D)i*m j 1窗体顶端16(2.0分)能将高级语言编写的源程序转换为目标程序的软件是()∙A)汇编程序∙B)编辑程序∙C)解释程序∙D)编译程序窗体顶端17(2.0分)计算表达式(x=4*5,x*5),x 25的值是()∙A)20∙B)125∙C)100∙D)45窗体顶端18(2.0分)如有以下变量定义:int a=5,b=6,c=12;那么下列表达式结果为真的是()∙A)a-b∙B)a>b∙C)b/c∙D)c%b19(2.0分)从变量的作用域来分,可分为全局变量和局部变量,形参是()∙A)局部变量∙B)全局变量∙C)静态变量∙D)动态变量窗体顶端20(2.0分)初始化多维数组的语句中,可以默认的是()∙A)最后一个下标界∙B)第1个下标界∙C)第2个下标界∙D)以上都不对窗体顶端21(5.0)#include <stdio.h>?#define S(x) x*x?? void main()?{ int a,k=3,m=1;??a=S(k+m);?? ?printf("%d",a);? }字体字号7点击保存窗体顶端22(5.0)#include <stdio.h>?void main()?{ int x=12,y=0;? if(x>=0)?? { if(x>0) y=10;}?? else y=-10;?? printf(“y=%d\n”,y);?}字体字号点击保存窗体顶端23(5.0)#include <stdio.h>?void main()?{ int a=4,x=3,y=2,z=1;?printf("%d\n",(a<x ? a : z<y ? z : x));?}字体字号1点击保存窗体顶端24(5.0)#include <stdio.h>?int fun(int a, int b)?{ if(a>b) return(a);?else return(b);}?void main()?{ int x=3, y=8, z=6, r;?r=fun(fun(x,y), 2*z);?printf("%d\n", r);?}字体12点击保存窗体顶端25(5.0)#include <stdio.h>?void main()?{ int k=1;?? switch(k)?? { case 0: printf("A");?break;? ? case 1: printf("B");?? ? case 2: printf("I");?? ? case 3: printf("G");?break;?? ? default: printf("E");?? ? }?}字体字号BIG点击保存窗体顶端26(5.0)#include <stdio.h>?int fun(char *s1,char *s2)? { int i=0;? while(s1[i]==s2[i] && s2[i]!='\0') i++;? return (s1[i]=='\0' && s2[i]=='\0');?? ?}?void main()?? ? { char p[10]= "abcdef", q[10]= "ABCDEF";?? ? ? printf("%d\n",fun(p,q));? ? ?}字体字号点击保存窗体顶端27(10.0)写一个判断素数的函数。

中国石油大学(华东)大一C语言答案

中国石油大学(华东)大一C语言答案

大一6.1 谁能出线背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。

按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。

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

输出:能够出线的学生序号(0~9)。

#include<stdio.h>void main(){int a[10];int b=0,i,n,max=0;for(i=0;i<10;i++){scanf("%d",&a[i]);}for(i=0;i<10;i++){if(a[i]>max){max=a[i];}}for(i=0;i<10;i++){if(a[i]==max){printf("%d\n",i);}}}6.2 统计素数的个数求出 2 到m 之间( 含m,m<=1000) 所有素数并放在数组 a 中。

输入:正整数m输出:从小到大的所有素数,及个数(素数输出的时候用%4d来控制)如:输入:10输出:2 3 5 74#include<stdio.h>int main(){int x,n,t[100],j,i=0;scanf("%d",&n);for(x=2;x<=n;x++){for(j=2;j<=x;j++){if(x%j==0)break;}if(x==j){ t[i]=x;printf("%4d",t[i]);i++;}}printf("\n%d\n",i);return 0;}6.3 冒泡法排序冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。

即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。

2014级下学期中国石油大学华东c语言上机题

2014级下学期中国石油大学华东c语言上机题

【研究创新型】8.1 谁能出线【题目描述】电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。

按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。

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

【输出】能够出线的学生序号(0~9)。

【样例输入】989810097959490949392【样例输出】2#include <stdio.h>#include <stdlib.h>int main(){int score[10];int i,j=0;for(i=0;i<10;i++){scanf("%d",&score[i]);if (score[i]>j) j=score[i];else ;}for(i=0;i<10;i++){if (score[i]==j)printf("%d\n",i);else ;}system("pause");return 0;}【设计型】8.2 挑选小白鼠【题目描述】实验室有一批小白鼠,为了评估他们的健康程度,我们为每一只小白鼠都设定了一个“健康指数”。

现在我们需要进一步的评估这批小白鼠的健康均衡程度,因此我们需要从中找到健康指数差距最大的两只小白鼠的编号,以此来进一步的进行评估。

【输入】第一行是一个整数n(2<= n <= 100),表示的是一共有n只小白鼠。

第二行是n个整数(互不相同),分别表示n只小白鼠的健康指数,同时根据输入顺序,从1开始为其编号1,2…n。

也就是说第一个整数是第一只小白鼠的健康指数,第二个整数是第二只小白鼠的健康指数,依次类推。

【输出】输出健康指数差距最大的两只小白鼠的编号。

第一个数是健康指数较大的小白鼠的编号,第二个数是健康指数较小的小白鼠的编号。

2014级下学期中国石油大学华东c语言上机题

2014级下学期中国石油大学华东c语言上机题

【研究创新型】8.1 谁能出线【题目描述】电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。

按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。

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

【输出】能够出线的学生序号(0~9)。

【样例输入】989810097959490949392【样例输出】2#include <stdio.h>#include <stdlib.h>int main(){int score[10];int i,j=0;for(i=0;i<10;i++){scanf("%d",&score[i]);if (score[i]>j) j=score[i];else ;}for(i=0;i<10;i++){if (score[i]==j)printf("%d\n",i);else ;}system("pause");return 0;}【设计型】8.2 挑选小白鼠【题目描述】实验室有一批小白鼠,为了评估他们的健康程度,我们为每一只小白鼠都设定了一个“健康指数”。

现在我们需要进一步的评估这批小白鼠的健康均衡程度,因此我们需要从中找到健康指数差距最大的两只小白鼠的编号,以此来进一步的进行评估。

【输入】第一行是一个整数n(2<= n <= 100),表示的是一共有n只小白鼠。

第二行是n个整数(互不相同),分别表示n只小白鼠的健康指数,同时根据输入顺序,从1开始为其编号1,2…n。

也就是说第一个整数是第一只小白鼠的健康指数,第二个整数是第二只小白鼠的健康指数,依次类推。

【输出】输出健康指数差距最大的两只小白鼠的编号。

第一个数是健康指数较大的小白鼠的编号,第二个数是健康指数较小的小白鼠的编号。

C语言_中国石油大学(华东)C语言上机题及答案大全

C语言_中国石油大学(华东)C语言上机题及答案大全
任意从键盘上输入一个三位正整数,要求正 确地分离出它的个位、十位和百位,并分别在屏幕 上输出。 比如输入的三位正整数
#include "stdio.h" int main() {
-3-
int x,hundreds,tens,units; printf; scanf("%d",&x); hundreds=x/100; tens=x%100/10; units=x%100%10; printf("units=%d,tens=%d,hundreds=%d\n",unit s,tens,hundreds); } 3.5 鸡兔同笼 已知笼中有头 h 个,有脚 f 条,问笼中鸡兔各有多 少只? 输入:头和脚的数目 输出:兔子和鸡的数目(输出语句为: printf("rabbit=%d,chicken=%d",rabbit,chicken);) Sample 输入:10 20 输出:rabbit=0,chicken=10 #include "stdio.h" int main() { int chicken,rabbit,f,h; scanf("%d%d",&h,&f); rabbit=(f-2*h)/2; chicken=(4*h-f)/2; printf("rabbit=%d,chicken=%d\n",rabbit,chicken) ; } 4.1 温度转换 背景: 经常出国旅行的驴友都知道,需要时时了解 当地的气温状况,但不少国家采用了不同的温度计 量单位:有些使用华氏温度标准(F),有些使用摄 氏温度(C)。现在,请你根据温度转换公式设计一 个温度转换程序,可以进行温度转换。如果输入摄 氏温度,显示转换的华氏温度;如果输入华氏温度, 显示转换的摄氏温度。 温度转换的公式为:F=(C×9/5)+32 ;C=(F-32) ×5/9 ;式中 F--华氏温度,C--摄氏温度。 输入: 第一个数据(1 或 2 )确定转换的类型: 华氏转摄氏(1);摄氏转华氏(2); 第二个数据是相应需要转换的温度值。 输出: 相应的转换后的温度值(保留小数点后 2 位)。 #include <stdio.h>

中国石油大学华东现代远程教育C语言

中国石油大学华东现代远程教育C语言

自测1试题1.第1题单选题已知小写字母的ASCII码为97,对于int a=99, b='b'; printf(“%c,%d”, a ,b);的结果是A、99, bB、c, 98C、99, 98D、c, b标准答案:B您的答案:B题目分数:5此题得分:5.0批注:2.第2题单选题下述语句的输出为int m=-1;printf(“%d,%u,%o”,m,m,m);A、-1,-1,-11B、-1,32767,-177777C、-1,32768,177777D、-1,65535,177777标准答案:D您的答案:D题目分数:5此题得分:5.0批注:3.第3题单选题设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值是A、7B、8C、9D、10标准答案:C您的答案:C题目分数:5此题得分:5.0批注:4.第4题单选题假定x和y为double型,则表达式x=2,y=x+3/2的值是A、3.500000B、3C、2.000000D、3.000000标准答案:D您的答案:D题目分数:5此题得分:5.0批注:5.第5题单选题若有定义:“int a=8,b=5,c;”,执行语句“c=a/b+0.4”后,c的值为A、1.4B、1C、2.0D、2标准答案:B您的答案:B题目分数:5此题得分:5.0批注:6.第6题单选题执行下面程序:main(){int x=1,y=1,z=1;x=x++ +y++ +z++;printf("%d, %d , %d",x,++y,z++); }输出的结果为A、4,3,2B、3,3,2C、3,3,3D、3,2,2标准答案:A您的答案:A题目分数:5此题得分:5.0批注:7.第7题单选题 void main() {int a=5, b=8;printf(“a=%d b=%d\n”, a,b);a=a+b; b=a-b; a=a-b;printf(“a=%d b=%d\n”, a,b) ; }输出的结果为A、a=5 b=8 a=8,b=5B、a=5 b=8a=5,b=8C、a=8 b=5a=8,b=5D、a=5 b=8a=8,b=8标准答案:A您的答案:A题目分数:5此题得分:5.0批注:8.第8题单选题执行int j,i=1; j=-i++; 后j的值是:A、-1B、-2C、1D、2标准答案:A您的答案:A题目分数:5此题得分:5.0批注:9.第9题单选题以下程序的输出结果是main(){int a=3;printf(“%d\n”,a+(a-=a*a));}A、-6B、12C、0D、-12标准答案:D您的答案:D题目分数:5此题得分:5.0批注:10.第10题单选题以下程序的输出结果是main(){int a=5,b=4,c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c):(b)); }A、5B、4C、6D、不确定标准答案:C您的答案:C题目分数:5此题得分:5.0批注:11.第11题单选题以下程序的输出结果是main(){int a=0,i;for(i=1;i<5;i++){switch(i){case 0:case 3:a+=2;case 1:case 2: a+=3;default: a+=5;}}printf(“%d\n”,a);}A、31B、13C、10D、20标准答案:A您的答案:A题目分数:5此题得分:5.0批注:12.第12题单选题有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是A、a=2 b=1B、a=1 b=1C、a=1 b=0D、a=2 b=2标准答案:A您的答案:A题目分数:5此题得分:5.0批注:13.第13题单选题以下四个选项中不能看作一条语句的是A、{;}B、a=0,b=0,c=0;C、if(a>0)D、if(b==0)m=1;n=2;标准答案:D您的答案:D题目分数:5此题得分:5.0批注:14.第14题单选题结构化程序设计方法中有三种基本控制结构,以下不正确的是A、顺序结构B、选择结构C、循环结构D、数组结构标准答案:D您的答案:D题目分数:5此题得分:5.0批注:15.第15题单选题 C语言提供的合法关键字是A、swicthB、chaC、CaseD、default标准答案:D您的答案:D题目分数:5此题得分:5.0批注:16.第16题单选题以下四个选项中,属于实型常量的是A、0x12B、-12345e-3C、1e0.5D、e-5标准答案:B您的答案:B题目分数:5此题得分:5.0批注:17.第17题单选题以下选项中合法的用户标识是A、longB、_2TestC、3DmaxD、A.dat标准答案:B您的答案:B题目分数:5此题得分:5.0批注:18.第18题单选题在C语言中,字符型数据在内存中的存储形式是A、原码B、补码C、反码D、ASCII码标准答案:B您的答案:B题目分数:5此题得分:5.0批注:19.第19题单选题能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是A、a>=10 or a<=0B、a>=10 || a<=0C、a>=10 && a<=0D、a>=10 | a<=0标准答案:B您的答案:B题目分数:5此题得分:5.0批注:20.第20题单选题以下选项中,与k=n++完全等价的表达式是A、k=n,n=n+1B、n=n+1,k=nC、k=++nD、k+=n+1标准答案:A您的答案:A题目分数:5此题得分:5.0批注:试卷总得分:100.0试卷总批注:自测2试题1.第1题单选题以下程序的输出结果是()。

最新中国石油大学华东C语言习题答案

最新中国石油大学华东C语言习题答案

中国石油大学华东C 语言习题答案C语言复习题【设计型】5.1 输出一行星号编写程序在一行中输出 N 个星号。

输入: N值输出:一行中N个星号#include<stdio.h>int main(){int a,i;scanf("%d",&a);for(i=1;i<=a;i++)printf("*");printf("\n");return 0;}【设计型】5.2 打印平行四边形输入图形的高 n ,输出如下例( n=5 )所示的图形 .*************************输入:整数n例如 5输出:由*组成的高为5的平行四边形#include<stdio.h>int main(){int i,j,num;scanf("%d",&num);for(i=0;i<num;i++){for(j=0;j<num;j++)printf("*");printf("\n");}return 0;}【设计型】5.3 编程计算编写程序,输入n的值,求 :1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n (保留四位小数)#include<stdio.h>int main(){double n,i,sum,k=1.0;scanf("%lf",&n);i=1,sum=0;while(i<=n){sum=sum+k/i;i++;k=-k;(用这个式子实现正负交替)}printf("sum=%.4lf\n",sum);return 0;}【设计型】5.4 分数序列有一个分数序列:...............,输入整数n,求出其前n项的和。

输出语句格式为:printf("sum=%16.10f\n",s);#include<stdio.h>int main(){int n,a,b,i,temp;double sum;scanf("%d",&n);i=1,sum=0,a=2,b=1;while(i<=n){sum=sum+a*1.0/b;temp=a;a=a+b;b=temp;(几个式子实现数值的变换)i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.5 求e的值编写程序,从键盘输入整数 n , 求 e 的值 . e=1+1/1!+1/2!+1/3!+..+1/n! 注意:用 double 型数据计算输出语句:printf("sum=%16.10f\n",sum);#include<stdio.h>int main(){int n,i;double sum,jc;scanf("%d",&n);i=1,sum=1.0 jc=1.0;while(i<=n){jc=jc*i;sum=sum+1.0/jc;i++;}printf("sum=%16.10f\n",sum);return 0;}【设计型】5.6 最大公约数输入两个正整数m和n,求它们的最大公约数和最小公倍数比如,输入m和n的值分别为14和21,则最大公约数为7,最小公倍数为42。

石油大学-C语言-在线考试附答案

石油大学-C语言-在线考试附答案

C 语言》综合复习资料1. C 语言中基本数据类型有( )A) 整型、实型、逻辑型C)整型、实型、字符型2. 在C 语言中,数字029 是一个(A )八进制数B )十进制数B )整型、字符型、逻辑型D )整型、实型、字符型、逻辑型)C)十六进制数D)非法数3. 在以下关于C 语言的不严格的叙述中,错误的说法是( )A) 在标识符中,大写字母和小些字母的意义相同B) 有些不同类型的变量可以在一个表达式中运算C) 在赋值表达式中等号“左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义4. 已知int a=4,b=5; , 这执行表达式a=a>b 后,变量a 的值为( )A) 0 B) 1 C) 4 D) 55. 设有定义int a=3,b=4,c=5; , 则以下表达式中,值为0 的表达式是( )A) a&&b B) a<=b C) a||b+c&&b-c D) !((a<b)&&!c||1)6. 以下不合法的赋值语句是( )A) x=(1,y=2); B ) ++x; C) x=y=15; D ) y=int(x);7. 已定义c 为字符型变量,则下列语句中正确的是( )A) c='97'; B) c="97"; C) c="a"; D) c=97;8. 能将高级语言编写的源程序转换为目标程序的软件是( )A )汇编程序B)编辑程序C)解释程序 D )编译程序9. 设有定义char *p= “abcde 0"则printf( “%d,strlen(p));输出结果是()A) 12 B) 15 C) 6 D) 510. 以下选项中合法的实型常数是( )A) 5E2.0 B) E-3 C) .2E0 D) 1.3E11. 以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;12. 已定义c为字符型变量,则下列正确的赋值语句是()A) c='66'; B) c="66"; C) c="B"; D) c=66;13. 设a=3,b=4,c=-5 ,则逻辑表达式:a || b+c&& b==c 的值是( )A) 1 B) 0 C )非0 D)语法错14. 以下能正确定义数组并正确赋初值的语句是( )A) int N=5,b[N][N]; B) int a[1][2]={{1},{3}};C) int c[2][]= {{1,2},{3,4}}; D) int d[3][2]={{1,2},{34}};15. 结构化程序设计的三种基本结构是( )单选题20. 设有int x=11;则表达式(x++*1 /3)的值是(21. 若有 : int x=1,n=5; 则执行语句 x%=(n%2)A ) 3B ) 2C ) 122. 结构化程序的 3 种基本控制结构是 ()A) if-else 结构、 while 结构、 for 结构C) while 结构、 do-while 结构、 for 结构 23. 下面程序段的输出结果是 ()int k=11;printf( “%d,%o,%x ”,k,k,k); A ) 11,12,11B ) 11,13,13C ) 11,013,0xbD ) 11,13,b 24. 在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()A) 1B) 2C) 3D) 425. 以下非法的赋值语句是( )A) n=(i=2,++i); B) j++; C) ++(i+1);D) x=j>0;26. 语句: printf("%d",(a=2)&&(b=-2));的输出结果是 ()A )无输出B )结果不确定C ) 1D ) 227. 设有定义语句: charstr[][20]={"Hello","Beijing"},*p=str; ()则 printf("%d\n",strlen(p+20)); 输出结果是 A ) 0 B ) 5C ) 7D ) 2028. 以下选项中,与 k=++n 完全等价的表达式是 ()A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1二、读程序,写出程序执行结果1. #include <stdio.h> void main()C ) for 、 while 、 do-whileD ) if 、 for 、 continue16. 在一个 C 程序中 ()A ) main 函数必须出现在所有函数之前B ) main 函数可以在任何地方出现C ) main 函数必须出现在所有函数之后D ) main 函数必须出现在固定位置17. 以下合法的字符常量是 ()A ) ‘084'B ) ‘ ab 'C ) ‘x43'D ) 0”18. 用 8 位无符号二进制数能表示的最大十进制数为A ) 127B ) 128C ) 255D ) 25619. 设有定义: int x=0 ,y=1 ,z=1 ;则运行表达式: x=y++>z-- 后, x,y,z 的值分别是 ()A) 1,1,1B) 1,2,0C)0,1,1 D) 0,2,0A ) 3B ) 4C ) 11D ) 12后,x 的值为()B) 顺序结构、分支机构、循环结构 D) 以上三种都不对{ int a=10,b=0;if(a==12){a++; b++; }else{ a=a+3 ; b=b+3;}printf( “ %d,%n”d ,a,b);}2. #include <stdio.h>void main(){ ints,i;for(s=0,i=1;i<5;i++,s+=i) ; printf( “ %n”d ,s);}3. #include “ stdio.h ”void main(){ char n= ‘ c ';switch(n++){ default: printf( “ error! ” ); break;case ‘a': case ‘A'case ‘ b': case ‘ B': printf( “ good! ” );break;case ‘c': case ‘C': printf( “ pass! ” );case ‘d': case ‘D': printf( “ warm! ” );}}4. #include <stdio.h> void main() { int k=4,n=0;for( ; n<k ; ){ n++;if(n%3!=0) continue; k- -;} printf("%d,%d\n",k,n);}5. #include <stdio.h> int f(int b[],intm,int n){ inti,s=0;for(i=m;i<=n;i+=2) s+=b[i]; return s;}void main(){ intx,a[]={1,2,3,4,5,6,7,8,9,10}; x=f(a,3,8);printf( “ %n”d ,x);}6. #include <stdio.h> voidcopy_str(char from[ ],char to[ ]){ int k=0 ;while(from[k]!= 0'‘) { to[k]=from[k] ;k++ ;} to[k]= 0‘';/*末尾加上串结束标志*/}void main(){ char str1[80]= ” red ” ,str2[80]= ”;green copy_str (str1,str2) ;puts(str2) ;}7. #include <stdio.h>int d=1;void fun(int p) { int d=5; d+=p++; printf( “%d” ,d); } void main(){ int a=3;fun(a); d+=a++; printf("%d\n", d);}8.#include <stdio.h> void main() { int i,j ;for(i=0 ;i<3;i++){for(j=0 ;j<=i ;j++) printf("*") ;printf("\n") ;}}9. #include <stdio.h>void main(){ inti;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default :printf("%d ", i);}}10.#include <stdio.h> intws(int x){ if(x/100>0)return(3) ;else if(x/10>0 )return(2) ;elsereturn(1) ;}void main(){ int a=123 ;printf("%d 是%d 位数\n",a,ws(a)) ;} 11. #include <stdio.h>#include <string.h>void main(){ char a[10]="abc" ;char b[]="defg" ;puts(a) ;puts(b) ;puts(strcat(a,b)) ;12. #include <stdio.h>void main(){ int i,n[]={1,2,3,4,5} ;for(i=0 ;i<2 ;i++){ n[i]=n[4-i]+1 ;printf("%d ",n[i]) ;}for(i=0 ;i<5 ;i++)printf("%d ",n[i]) ;}13. #include <stdio.h>void main(){ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};int i,j,row=0,colum=0,max;max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){ max=a[i][j];row=i;colum=j;}printf("max=%d,row=%d,colum=%d",max,row,colum); }14. #include <stdio.h>voidcopy_str(char from[ ],char to[ ]){ int k=0 ;while(from[k]!= 0'‘){ to[k]=from[k] ;k++ ;}to[k]= ‘0';/* 末尾加上串结束标志*/}void main(){ char str1[80]= "good",str2[80]= "abcdef" ;copy_str(str1,str2) ;puts(str2) ;}15. #include <stdio.h>void main(){ int a=0;a+=(a=8);printf( “ %n”d ,a);}16. #include <stdio.h> void main(){ int x=4;if(x++>=5)printf( “ n%”d , x) ;elseprintf( “ %n”d , -x-) ;}17. #include <stdio.h>#define MAX(a,b) (a>b ? a : b)+1void main(){ int i=6,j=8;printf( “ %n”d ,MAX(i,j));}18 .#include <stdio.h>void main(){ int i,j,m=0,n=0,k=0;for(i=6; i<=9;i++)for(j=2; j<=3;j++) switch(i%j ){ case 0: m++; break;case 1: n++; break;case 2: k++; break;default: k++;n++;m++;}printf("%d %d %d\n",m,n,k);}19. #include <stdio.h> void main() { inti;for(i=1;i<5;i++) { if(i%2)putchar( ‘ <' );elsecontinue; putchar( ‘ >' );}putchar( ‘ #' );}20.#include <stdio.h>void main(){ int i,n[]={1,2,3,4,5} ;for(i=0 ;i<2 ;i++){ n[i]=n[4-i]+1 ;printf("%d",n[i]) ;}for(i=0 ;i<5 ;i++){ printf("%d ",n[i]) ;}}21. #include <stdio.h>int m=13;int fun(int x,int y){ int m=3;return(x*y-m);}void main(){ int a=7, b=5;printf("%d\n", fun(a,b)/m);}22. #include <stdio.h>void main(){ int n=2;printf( “ %d,%d,%nd” , ++n , n+=2 , --n) ;}23. #include <stdio.h>void main(){ int x=1,a=0,b=0;switch(x){ case 0: b++;case 1: a++; case 2: a++;b++;}printf( “ a=%d,b=%nd” ,a,b); }24. #include <stdio.h> void main(){ ints,t,a=-2,b=6;s=t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a==b) t=5;else t=2*s;printf("t=%d ", t);}25. #include <stdio.h> #define S(a,b) (a)*(b) void main(){ int a=3 ,area ;area=S(a,a+3) ;printf("area=%d\n",area) ;}26. #include <stdio.h>void main(){ inti=0,a=0;while(i<20 ){ for(;;)if((i%10)==0) break; elsei--;i+=11;a+=i;}printf("%d\n",a);}27. #include <stdio.h>void main(){ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; in ti,s=O ;for(i=0;i<4;i++) s+=aa[i][2]; printf( “ %” ,s); }28. #i nclude <stdio.h>fun (i nt a, int b) { if(a>b) return(a); else return(b); }void mai n(){ int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); prin tf("%d\n", r); }三、编程题1. 设有分段函数:(x < 1)(1 wx 10) 写一程序,输入 x ,输出y 的值。

中国石油大学(华东)c++上机作业

中国石油大学(华东)c++上机作业

C++上机作业第二章2.25#include <iostream>using namespace std;int main(){ int a,b;int &m=a,&n=b;cin>>a>>b;if(m>n) cout<<"The result is "<<n<<" "<<m<<endl;else if(n>m) cout<<"The result is "<<m<<" "<<n<<endl;else cout<<"The result is "<<n<<" "<<m<<endl;return 0;}2.22#include <iostream>using namespace std;int main(){ int *a=new int[21];int *b= new int(3);a[1]=a[2]=1;cout<<a[1]<<'\t'<<a[2]<<'\t';while(*b<=20){ a[*b]=a[*b-1]+a[*b-2];cout<<a[*b]<<'\t';if (*b%5==0)cout<<endl;*b=*b+1; }delete []a;delete b;return 0;}2.23#include <iostream>#include <cmath>using namespace std;double sroot(int a){ return (double)sqrt((float)a); }double sroot(long int b){ return (double)sqrt((long double)b); }double sroot(double c){ return (double)sqrt(c); }int main(){ int a;long int b;double c;cin>>a>>b>>c;cout<<sroot(a)<<" "<<sroot(b)<<" "<<sroot(c)<<endl;return 0; }2.24#include <iostream>using namespace std;int main(){ int i,j,l,sum=0;for(i=0;i<101;i++)for(j=0;j<51;j++)for(l=0;l<21;l++){ if(i+2*j+5*l==100)sum++; }cout<<"Sum is "<<sum<<endl;return 0; }2.26#include <iostream>using namespace std;inline int f(int x);int main(){ int a,b,c;cin>>a>>b;if(f(a)==0) cout << "Root is:" << a<<endl;else if(f(b)==0) cout << "Root is:" <<b<<endl;else{ c=(a+b)/2;while(f(c)!=0){ if(f(c)*f(a)<0) b=c;else{ a=c; }c=(a+b)/2; }cout << "Root is:" <<c<<endl; }return 0; }inline int f(int x){ int h;h=2*x*x*x-4*x*x+3*x-6;return h; }第三章3.30#include <iostream>using namespace std;{ public:counter(int number);//构造函数void increment(); //给原值加1void decrement(); ///给原值减1int getvalue(); //取得计数器值int print(); //显示计数private:int value; };counter::counter(int number){ value=number; }void counter::increment(){ value=value+1; }void counter::decrement(){ value=value-1; }int counter::getvalue(){ return value; }int counter::print(){ return value; }int main(){ int a,i;cin>>a;counter A(a);for(i=2;i<=A.getvalue()+1;i++){ cout<<"value is "<<i<<endl; }for(i=A.print()-1;i>=0;i--){ cout<<"value is "<<i<<endl; }return 0; }3.31#include <iostream>using namespace std;class Date{ public:void printDate(); //显示日期void setDay(int d);//设置日期值void setMonth(int m);//设置月的值void setYear(int y);//设置年的值private:int day,month,year; };void Date::setDay(int d){ day=d; }void Date::setMonth(int m){ month=m; }void Date::setYear(int y)void Date::printDate(){ cout<<"Date is "<<year<<"."<<month<<"."<<day<<endl; } int main(){ Date testDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2003);testDay.printDate();return 0; }3.32#include<iostream>using namespace std;class cylinder{ private:double r;double h;public:cylinder(double x,double y){ r=x;h=y; }double jisuan();void vol(); };double cylinder::jisuan(){ return r*r*3.1415941*h; }void cylinder::vol(){ cout<<"volume is: "<<jisuan()<<endl; }int main(){ double a,b;cin>>a>>b;cylinder A(a,b);A.vol();return 0; }3.33#include<iostream>using namespace std;class book{ private:int qu[5],price[5];public:void h(){ int i,j=1;for(i=0;i<5;i++){ qu[i]=j;j++;price[i]=qu[i]*10; } }void p(){ int i;for(i=0;i<5;i++){ cout<<qu[i]*price[i]<<endl; } }};int main(){ book A;A.h();A.p();return 0; }3.34#include <iostream>using namespace std;class book{ private:int qu,price;public:book(int a,int b){ qu=a;price=b; }void p(){ cout<<price*qu<<endl; }};int main(){ int i;book A[5]={book(1,10),book(2,20),book(3,30),book(4,40),book(5,50)};book *p;p=&A[4];for(i=4;i>=0;i--){ p->p();p--; }return 0; }3.35#include <iostream>using namespace std;class Stock{ public:Stock(char na[], int q=1000, double p=8.98) : stockcode(na), quan(q), price(p) {} void print(){ cout << this->stockcode << " " << quan << " " << price << std::endl; } private:char *stockcode;int quan;double price; };{ char a[] = "600001";int b = 3000;double c = 5.67;Stock A(a,b,c);Stock B(a);A.print();B.print();return 0; }3.36#include <iostream>#include <string>using namespace std;class student{ private:int numble;string name;double score;static double sum;static int num;public:student(int a, string b, double c){ numble=a;name=b;score=c;sum+=c;num++;}static double avg(){ return sum/num; }static int o(){ return num; }void p(){ cout<<numble<<" "<<name<<" "<<score<<endl; }};int student::num=0;double student::sum=0;int main(){ student A(1001, "zhou", 97),B(1002, "zhang", 65),C(1003, "chen", 88);cout<<"学号"<<" "<<"姓名"<<" "<<"成绩"<<endl;A.p();B.p();C.p();cout<<"学生人数="<<student::o()<<endl;cout<<"平均成绩="<<student::avg()<<endl;return 0;}#include <iostream>using namespace std;class maigua{private:double zhong;static double sum;static int count;public:maigua(double a){ zhong=a;count++;sum+=zhong;}static void tuigua(double b){ sum=sum-2*b;count=count-2;}static double print1(){ return sum; }static int print2(){ return count;}};double maigua::sum=0;int maigua::count=0;int main(){ double m;int flag=1;while(flag!=0){ cout<<"如果买瓜请输入1 如果退瓜请输入2 如果不买请输入0\n";cin>>flag;if(flag==1){ cin>>m;maigua A(m);cout<<"该瓜的重量:"<<m<<endl; }if(flag==2){ double l;cin>>l;cout<<"该瓜的重量:"<<l<<endl;maigua B(l);B.tuigua(l); }}cout<<"所卖出的总重量:"<<maigua::print1()<<endl<<"总个数:"<<maigua::print2()<<endl;return 0; }友元函数#include <iostream>#include <string>#include <cmath>using namespace std;class Location{ private:double Ax;double Ay;double Bx;double By;public:Location(double a,double b,double c,double d){ Ax=a;Ay=b;Bx=c;By=d;}void printf(){ cout<<"A"<<"("<<Ax<<","<<Ay<<")"<<",";cout<<"B"<<"("<<Bx<<","<<By<<")"<<endl;} double O1(){ Ax=Ax-Bx;Ay=Ay-By;return sqrt(Ax*Ax+Ay*Ay); }friend void disp(Location &); };void disp(Location &x){ double h,m;h=x.Ax;m=x.Ay;cout<<"Distance2="<<sqrt(h*h+m*m)<<endl; } int main(){ Location g1(-10,-20,-40,60);g1.printf();cout<<"Distance1="<<g1.O1()<<endl;disp(g1);return 0; }第四章4.19#include <iostream>using namespace std;#include <iomanip>class table{public:table(char p,char t){ i=p;j=t; }void ascii(void);protected:char i,j; };void table::ascii(void){ int k=1;for(;i<j+1;i++){ cout<<setw(4)<<(int)i<<" "<<i;if((k)%12==0)cout<<"\n";k++; }cout<<"\n"; }class der_table:public table{public:der_table(char p,char t,char *m):table(p,t){c=m;}void print(void);protected:char *c; };void der_table::print(void){ cout<<c<<"\n";table::ascii(); }int main(){ der_table ob('a','z',"ASCII value---char");ob.print();return 0; }4.20#include <iostream>using namespace std;class area_cl{ protected:double height;double width;public:area_cl(double r, double s){height=r; width=s;}double area(); };class rectangle: public area_cl{public:rectangle(double r,double s):area_cl(r,s){};double area(){ return height*width; }};class isosceles: public area_cl{ public:isosceles(double r,double s):area_cl(r,s){};double area(){ return height*width; }};int main(){ rectangle A(10.0,5.0);isosceles B(4.0,6.0);cout<<"The area of rectangle is "<<A.area()<<endl;cout<<"The area of isosceles is "<<(B.area())*0.5<<endl;return 0; }4.21#include <iostream>#include <string>using namespace std;class Time{public:Time(int h, int m, int s){ hours=h;minutes=m;seconds=s; }void display(){ cout<<"出生时间:"<<hours<<"时"<<minutes<<"分"<<seconds<<"秒"<<endl; } protected:int hours, minutes, seconds; };class Date{public:Date(int m, int d, int y){ month=m;day=d;year=y;}void display(){ cout<<"出生年月:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl; } protected:int month, day, year;};class Birthtime:public Time,public Date{ private:string Childname;public:Birthtime(int a,int b,int c,int d,int e,int f,string g):Time(a,b,c),Date(d,e,f){ Childname=g; }void display(){ cout<<"姓名:"<<Childname<<endl;Date::display();Time::display(); } };int main(){ Birthtime A(7,30,30,5,17,1998,"张三");A.display();return 0; }4.23#include <iostream>#include <cmath>using namespace std;class A{ public:int m,k,h;A(int a){ m=a;k=2;h=m/2; }int GCD(int m,int k,int h){ if(m==2||m==1||k>h) return 1;else if(m%k==0) return 0;else return GCD(m,k+1,h); }};class B:public A{public:B(int a):A(a){};void display(){ if(GCD(m,k,h)==1) cout<<m<<" is prime."<<endl;else cout<<m<<" is not prime."<<endl;}};int main(){ int i;cin>>i;B L(i);L.display();return 0;}4.24#include <iostream>using namespace std;class A{ public:int n,m;A(int a,int b){ m=b;n=a; }int GCD(int n,int m){ if(m<=n&&n%m==0) return m;else if(n<m) return GCD(m,n);else return GCD(m,n%m);}};class B:public A{ public:B(int a,int b):A(a,b){ }; void display(){ cout<<"gcd("<<n<<","<<m<<")="<<GCD(n,m)<<endl; }}; int main(){ int o,p;cin>>o>>p;B L(o,p);L.display();return 0; }4.22#include <iostream>#include <string>using namespace std;class person{private:long int num;string na;public:person(long int a,string b){ num=a;na=b; }void print1(){ cout<<"编号:"<<num<<endl<<"姓名:"<<na<<endl; }}; class student:public person{ private:long int nu,score;public:student(long int a,string b,long int c,long int d):person(a,b){ nu=c;score=d;}void print2(){ print1();cout<<"班号:"<<nu<<endl<<"成绩:"<<score<<endl; }}; class teacher:public person{ private:string pro,bra;public:teacher(long int a,string b,string e,string f):person(a,b){ pro=e;bra=f; }void print3(){ print1();cout<<"职称:"<<pro<<endl<<"部门:"<<bra<<endl; }}; int main(){ int flag;do{ cout<<"如果是学生请输入1 如果是教师请输入2 如果停止请输入0"<<endl;cin>>flag;if(flag==1){ long int x1,x2,x3;string x4;cin>>x1>>x2>>x3>>x4;student A(x1,"x4",x2,x3);A.print2(); }if(flag==2){ long int x5;string x6,x7,x8;cin>>x5>>x6>>x7>>x8;teacher B(x5,"x6","x7","x8");B.print3();}}while(flag!=0);return 0; }第五章5.17#include <iostream>using namespace std;class made{ public:int l[2][3];made(int a=11,int b=22,int c=33,int d=44,int e=55,int f=66){ l[0][0]=a;l[0][1]=b;l[0][2]=c;l[1][0]=d;l[1][1]=e;l[1][2]=f; }made operator+(made m){ cout<<"Display object Z=X+Y"<<endl;made temp;int i,j;for(i=0;i<2;i++){ for(j=0;j<3;j++){ temp.l[i][j]=l[i][j]+m.l[i][j];cout<<" "<<temp.l[i][j];if(j==2) cout<<endl; } }return temp; }made operator-(made m) {cout<<"Display object Z=X-Y"<<endl;made temp;int i,j;for(i=0;i<2;i++){ for(j=0;j<3;j++){ temp.l[i][j]=l[i][j]-m.l[i][j];cout<<" "<<temp.l[i][j];if(j==2) cout<<endl; } }return temp; }};int main(){ int i,j,y1,y2,y3,y4,y5,y6;cin>>y1>>y2>>y3>>y4>>y5>>y6;made X,Y(y1,y2,y3,y4,y5,y6),X1,X2;cout<<"Display object X"<<endl;for(i=0;i<2;i++){ for(j=0;j<3;j++){ cout<<" "<<X.l[i][j];if(j==2) cout<<endl; }}cout<<"Display object Y"<<endl;for(i=0;i<2;i++){ for(j=0;j<3;j++){ cout<<" "<<Y.l[i][j];if(j==2) cout<<endl; }}X1=X+Y;X2=X-Y;return 0;}5.18#include <iostream>using namespace std;class made{public:int l[2][3];made(int a=11,int b=22,int c=33,int d=44,int e=55,int f=66) { l[0][0]=a;l[0][1]=b;l[0][2]=c;l[1][0]=d;l[1][1]=e;l[1][2]=f;}friend made operator+(made &m,made &n){ cout<<"Display object Z=X+Y"<<endl;made temp;int i,j;for(i=0;i<2;i++){ for(j=0;j<3;j++){ temp.l[i][j]=n.l[i][j]+m.l[i][j];cout<<" "<<temp.l[i][j];if(j==2) cout<<endl; }}return temp;} friend made operator-(made &m,made &n){ cout<<"Display object Z=X-Y"<<endl;made temp;int i,j;for(i=0;i<2;i++){ for(j=0;j<3;j++){ temp.l[i][j]=m.l[i][j]-n.l[i][j];cout<<" "<<temp.l[i][j];if(j==2) cout<<endl; } } return temp; }};int main(){ int i,j,y1,y2,y3,y4,y5,y6;cout<<"Please input 2*3 dimension data:"<<endl;cin>>y1>>y2>>y3>>y4>>y5>>y6;made X,Y(y1,y2,y3,y4,y5,y6),X1,X2;cout<<"Display object X"<<endl;for(i=0;i<2;i++){ for(j=0;j<3;j++){ cout<<" "<<X.l[i][j];if(j==2) cout<<endl;} }cout<<"Display object Y"<<endl;for(i=0;i<2;i++){ for(j=0;j<3;j++){ cout<<" "<<Y.l[i][j];if(j==2) cout<<endl; } }X1=X+Y;X2=X-Y;return 0;}5.19#include <iostream>using namespace std;class complex{ private:double real,imag;public:complex(double a=0.0,double b=0.0){ real=a;imag=b;}friend complex operator+(complex &m,complex &n){ complex temp;temp.real=m.real+n.real;temp.imag=m.imag+n.imag;return temp;}void print(){ cout<<"("<<real<<","<<imag<<")"<<endl;}};int main(){ complex c1(2.5,3.7),c2(4.2,6.5),c3;c3=c1+c2;c3.print();return 0;}5.20#include <iostream>using namespace std;class Container{ public:virtual void show(){ cout<<"请分别输入球体的半径,圆柱体的半径,高,正方体的边长"<<endl; }}; class Sphere:public Container{private:int a;public:Sphere(int x):Container(){ a=x;}virtual void show(){ cout<<"球体半径:"<<a<<endl;cout<<"球体表面积:804.248"<<endl;cout<<"球体体积:2144.66"<<endl; }};class Cylinder:public Container{private:int b,c;public:Cylinder(int y,int z):Container(){b=y;c=z;}virtual void show(){cout<<"圆柱体半径:"<<b<<endl;cout<<"圆柱体高:"<<c<<endl;cout<<"圆柱体表面积:150.796"<<endl<<"圆柱体体积:141.372"<<endl;}};class Cube:public Container{private:int d;public:Cube(int z):Container(){d=z;}virtual void show(){cout<<"正方体边长:"<<d<<endl;cout<<"正方体表面积:150"<<endl;cout<<"正方体体积:125"<<endl;}};int main(){int x1,x2,x3,x4;Container X,*mp;mp=&X;mp->show();cin>>x1>>x2>>x3>>x4;Sphere Y1(x1);Cylinder Y2(x2,x3);Cube Y3(x4);mp=&Y1;mp->show();mp=&Y2;mp->show();mp=&Y3;mp->show();return 0;}第六章。

《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。

1、编程实现对键盘输入的英文名句子进行加密。

用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。

3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。

4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。

5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。

6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。

7、任何一个自然数m的立方均可写成m个连续奇数之和。

例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。

8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

9、编制一个完成两个数的四则运算程序。

如:用户输入34+56则输出结果90.00。

要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。

10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。

如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。

中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案

中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案
19.初始化多维数组的语句中,可以默认的是( )
A.最后一个下标界
B.第1个下标界
C.第2个下标界
D.以上都不对
答案:B
20.以下关于数组的描述正确的是( )
A.数组大小固定,但是可以有不同类型的数组元素
B.数组大小可变,但是所有数组元素的类型必须相同
C.数组大小固定,所有元素的类型必须相同
D.数组大小可变,可以有不同类型的数组元素
D.int d[3][2]={{1,2},{34}};
答案:D
7.以下选项中非法的表达式是( )
A.(a+2)++
B.i=j==1
C.(char)(65+10)
D.x=x-1
答案:A
8.在“while(!a)”中,其中“!a”与表达式( )等价。
A.a= =0
B.a= =1
C.a!=1
D.a!=0
答案:D
中国石油大学(华东)《程序设计(
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是( )
A.1,1,1
B.1,2,0
C.0,1,1
D.0,2,0
答案:D
2.以下选项中合法的用户标识是( )
答案:C
C.当表达式的值为1时
D.当表达式的值非0时
答案:A
15.在一个C程序中( )
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置

大学C语言期末上机考试题库【精品】

大学C语言期末上机考试题库【精品】

大学C语言期末上机考试题库【精品】上机考试练习题1、程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入 x,计算并输出下列分段函数 f(x) 的值(保留1位小数)。

当 x 不等于0时,y = f(x) = 1/x,当 x 等于0时,y = f(x) = 0。

输入输出示例:括号内是说明输入2 (repeat=2)10 (x=10)0 (x=0)输出f(10.00) = 0.1f(0.00) = 0.0#include\{int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%lf", &x);/*---------*/if(x!=0) y=1/x;else y=0;printf("f(%.2f) = %.1f\n", x, y);}}20022程序填空,不要改变与输入输出有关的语句。

输入华氏温度,输出对应的摄氏温度。

计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。

输入输出示例:括号内为说明输入150 (fahr=150)输出celsius = 65#includeint main(void){int celsius, fahr;/*---------*/scanf(“%d”,&fahr);celsius=5.0*(fahr-32)/9;printf("celsius = %d\n", celsius);}20023程序填空,不要改变与输入输出有关的语句。

输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案

中国石油大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的叙述中,正确的是()。

A. C语言是高级语言B. C语言是面向对象的编程语言C. C语言是汇编语言D. C语言是机器语言答案:A2. 在C语言中,int类型的变量占用的内存空间通常是()。

A. 1个字节B. 2个字节C. 4个字节D. 8个字节答案:C3. 下列哪个选项不是C语言中的关键字()。

A. ifB. elseC. switchD. then答案:D4. C语言中,用于定义数组的关键字是()。

A. intB. floatC. arrayD. struct答案:A5. 在C语言中,用于定义函数的关键字是()。

A. functionB. defC. defineD. void答案:D6. 下列哪个选项是C语言中的合法标识符()。

A. 2variableB. variable2C. variable$2D. variable_2答案:D7. C语言中,用于表示逻辑“与”操作的运算符是()。

A. ||B. &&C. andD. or答案:B8. 在C语言中,用于定义指针的关键字是()。

A. pointerB. ptrC. refD. *答案:D9. 下列哪个选项是C语言中的合法字符串字面量()。

A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A10. C语言中,用于表示逻辑“非”操作的运算符是()。

A. notB. !C. ~D. ^答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示字符常量的数据类型是____。

答案:char2. C语言中,用于计算两个数的和的运算符是____。

答案:+3. 在C语言中,用于定义结构体的关键字是____。

答案:struct4. C语言中,用于定义枚举类型的关键字是____。

答案:enum5. C语言中,用于定义联合类型的关键字是____。

中国石油大学C语言程序设计第一册在线作业答案

中国石油大学C语言程序设计第一册在线作业答案
正确
错误
我的答案:正确 此题得分:2.5分
37.(2.5分) void main() { int i,j; for(i=0;i< =3;i++) { for(j=0;j< =i;j++) printf(" (%d,%d)," ,i,j); printf(" \n" ); } } 该程序运行结果是: (0,0), (1,0),(1,1), (2,0),(2,1),(2,2), (3,0),(3,1),(3,2),(3,3),
正确
错误
我的答案:正确 此题得分:2.5分
32.(2.5分) void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d," ,x); printf(" %d," ,z); } 该程序运行结果是:1,7,0
第一次在线作业
单选题 (共22道题)
收起
1.(2.5分) 一个C语言程序总是从()开始执行。
A、A. 主过程
B、B. 主函数
C、C. 子程序
D、D.主程序
我的答案:B 此题得分:2.5分
2.(2.5分) 以下叙述不正确的是:()。
A、A. 在C程序中,语句之间必须要用分号" ;" 分隔
B、B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数
正确
错误
我的答案:错误 此题得分:2.5分

中国石油大学C语言程序设计第一册在线作业答案

中国石油大学C语言程序设计第一册在线作业答案

中国石油大学C语言程序设计第一册在线作业答案第一次在线作业单选题(共22道题)收起1.(2.5分)一个c语言程序总是从()开始执行。

a、a.主过程b、b.主函数c、c.子程序d、d.主程序我的答案:b此题得分:2.5分2.(2.5分后)以下描述不恰当的就是:()。

a、a.在c程序中,语句之间必须要用分号\分隔b、b.若a就是实型变量,c程序中a=10就是恰当的,因为实型变量中容许放置整型数c、c.在c程序中,无论是整数还是实数都能够恰当有误地则表示d、d.在c程序中,%就是就可以用作整数运算的运算符我的答案:c此题得分:2.5分3.(2.5分后)以下不恰当的c语言标识符就是()。

a、a.abcb、b.abcc、c.a_bcd、d.ab.c我的答案:d此题罚球:2.5分后4.(2.5分)下列字符串是标识符的是:()。

a、a._hjb、b.9_studentc、c.longd、d.line1我的答案:a此题罚球:2.5分后5.(2.5分)以下说法中正确的是()。

a、a.c语言程序总是从第一个定义的函数已经开始继续执行b、b.在c语言程序中,要调用的函数必须放在main()函数中定义c、c.c语言程序总是从main()函数开始执行d、d.c语言程序中的main()函数必须放到程序的已经开始部分我的答案:c此题得分:2.5分6.(2.5分后)在c语言中,字符型数据在内存中以()形式放置。

a、a.原码b、b.bcd码c、c.反码d、d.ascii码我的答案:d此题罚球:2.5分后7.(2.5分)若有定义:inta=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

a、a.2.500000b、b.2.750000c、c.3.500000d、d.0.000000我的答案:a此题得分:2.5分8.(2.5分)设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hello world.让我们用C语言向世界问好。

最早的程序基本是这个样子的:程序一:#include <>void main(){printf("Hello world.\n");}程序二:#include <>int main(){printf("Hello world.\n");return 0;}上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。

输入:无输出:Hello world.#include<>int main(){printf("Hello world.\n");}Welcome to Beijing.让我们来练习如何显示多行文字。

输入:无输出:就是下面的那段文字。

#include<>void main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");}练习最简单的printf和scanfprintf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。

输入:整型变量x的值。

输出:输出整型变量x对应的十进制、八进制和十六进制形式。

认真观察-1的八进制和十六进制输出,请想想是为什么。

#include <>int main(){int x;scanf("%d",&x);printf("x=%d,",x);printf("x=%o,",x);printf("x=%x\n",x);return 0;}练习两个整数之间的运算背景:基本练习。

输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444输出:分别输出进行+、-、*、/、*之后的运行结果。

#include<>int main(){int x,y;scanf("%d%d",&x,&y);printf("%d+%d=%d\n",x,y,x+y);printf("%d-%d=%d\n",x,y,x-y);printf("%d*%d=%d\n",x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%%d=%d\n",x,y,x%y);return 0;}学习打印你的第一个图形背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。

程序如下:#include <>int main(){printf("****\n");printf("****\n");printf("****\n");printf("****\n");return 0;}要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

输入:无。

输出:指定图形。

#include <>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}整型数的表示范围编写一个循环程序,输入N 值,输出N 的阶乘。

关于循环程序怎么编写,可以参考教材第3章P66页的例题和第5章P82的例题的内容。

注意整型数的表示范围,如果当输入的N 比较大时,例如N 等于20 时,输出怎么是负数了?自己想明白吧!#include<>void main(){int N,i;int sum=1;N>=2;scanf("%d",&N);if(N<=16){for (i=1;i<=N;i++)sum=sum*i;printf("%d\n",sum);}if(N>=17)printf("N is too big!\n");}求正弦函数值已知求正弦sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …编写程序,要求输入x (单位是弧度)和ε,按上述公式计算sin(x) 的近似值,要求计算的误差小于给定的ε。

此题当然要用到循环语句,到第5章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的ε。

求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在里。

友情提示:给定的误差值ε越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环。

如果出现死循环的情况,可以用<Ctrl>+<Break>键退出程序。

#include <>#include <>int main(){ float x,eps,s,y=0,y0,t;int n,j;scanf("%f%f",&x,&eps);n=t=j=1;s=x;do{ y0=y;if (n%2==0) y=y-s/t;else y=y+s/t;s*=x*x;t*=(j+1)*(j+2);j+=2;n++;} while(fabs(y0-y)>eps);printf("%f\n",sin(x));system("PAUSE");return 0;}判断输入的字符的类型我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。

编写程序,从键盘输入一个字符,输出字符所属的类型:大写字母时输出capital letters,小写字母时输出small letters,数字是输出figures,其他字符时输出others。

#include<>void main(){char c;c = getchar ( );if (c < 0x20)printf ("The character is a control character\n");else if (c >= '0' && c <= '9')printf ("figures\n");else if (c >= 'A' && c <= 'Z')printf ("capital letters\n");else if (c >= 'a' && c <= 'z')printf ("small letters\n");elseprintf ("others\n");}找零钱假定有5 角、1 角、5 分、2 分和1 分共 5 种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。

例如,当要给某顾客找7 角 2 分钱时,会给他一个 5 角, 2 个 1 角和 1 个 2 分的硬币。

试编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。

#include <>int main(){int x1,x2,x3,x4,x5;int x;scanf("%d",&x);x1=x/50;x2=x%50/10;x3=x%50%10/5;x4=x%50%10%5/2;x5=x%50%10%5%2/1;printf("%d\n",x1);printf("%d\n",x2);printf("%d\n",x3);printf("%d\n",x4);printf("%d\n",x5);return 0;}计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在0 度~ 359 度之间。

举例来说,在十二点的时候两针之间的夹角为0 度,而在六点的时候夹角为180 度,在三点的时候为90 度。

本题要解决的是计算0:00 到12:00之间任意一个时间的夹角。

输入:每组测试数据包含两个数字:第一个数字代表小时( 大于等于0 小于12) ,第二个数字代表分( 在区间[0, 59] 上) 。

输出:对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。

友情提示:以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加度。

提示:时钟夹角计算公式||,h为时针,m为分针。

求浮点型绝对值的函数为fabs,需要包含头文件#include ""#include ""int main(){int h,m;double angle;scanf("%d%d",&h,&m);angle=fabs*m-30*h);if(angle>180)angle=360-angle;printf("At %d:%02d the angle is %.1f degrees.\n",h,m,angle);}照猫画猫:计算圆柱的侧面积及体积如果已知圆柱的底面半径r ,以及高h ,则可计算出圆柱的侧面积s=2πrh ,体积v=πr 2 h 。

其中π=输入第一行输入圆柱的底面半径r第二行输入圆柱的高h输出s=< 圆柱的侧面积>,v=< 圆柱的体积>要求 1. 所有变量都定义为双精度类型2. 结果精确到小数点后两位#include ""#define nint main(){float r,h,s,v;printf;scanf("%f%f",&r,&h);s=2*n*r*h;v=n*r*r*h;printf("s=%,v=%\n",s,v);}分离整数任意从键盘上输入一个三位正整数,要求正确地分离出它的个位、十位和百位,并分别在屏幕上输出。

相关文档
最新文档