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语言复习题【设计型】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语言程序设计第一册在线作业答案

第一次在线作业单选题(共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语言在线考试

窗体顶端设有两字符串“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语言答案

大一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语言上机题

【研究创新型】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语言上机题

【研究创新型】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语言上机题及答案大全

#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>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);}分离整数任意从键盘上输入一个三位正整数,要求正确地分离出它的个位、十位和百位,并分别在屏幕上输出。