中国石油大学(华东)C语言习题答案
中石大C语言程序设计第次在线作业答案
![中石大C语言程序设计第次在线作业答案](https://img.taocdn.com/s3/m/9e69e8cd9a89680203d8ce2f0066f5335b81674b.png)
第三次在线作业单选题共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语言习题答案](https://img.taocdn.com/s3/m/29774f2cf705cc175427097c.png)
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语言-在线考试附答案](https://img.taocdn.com/s3/m/07e4cb1c974bcf84b9d528ea81c758f5f61f29fc.png)
《C语言》综合复习资料一、单选题1. C语言中基本数据类型有< >A〕整型、实型、逻辑型B〕整型、字符型、逻辑型C〕整型、实型、字符型D〕整型、实型、字符型、逻辑型2. 在C语言中,数字029是一个< >A〕八进制数B〕十进制数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\0fghjik\0〞; 则printf<"%d\n〞,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.结构化程序设计的三种基本结构是< >A〕顺序结构、选择结构、循环结构B〕if、switch、breakC〕for、while、do-while D〕if、for、continue16.在一个C程序中< >A〕main函数必须出现在所有函数之前B〕main函数可以在任何地方出现C〕main函数必须出现在所有函数之后D〕main函数必须出现在固定位置17.以下合法的字符常量是< >A〕‘\084’B〕‘ab’C〕‘\x43’D〕"\0〞18.用8位无符号二进制数能表示的最大十进制数为< >A〕127 B〕128 C〕255 D〕25619.设有定义: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,020.设有int x=11;则表达式<x++*1/3>的值是< >A〕3 B〕4 C〕11 D〕1221.若有: int x=1,n=5; 则执行语句x%=<n%2>后,x的值为< >A〕3 B〕2 C〕1 D〕022.结构化程序的3种基本控制结构是< >A> if-else结构、while结构、for结构B> 顺序结构、分支机构、循环结构C> while结构、do-while结构、for结构D> 以上三种都不对23.下面程序段的输出结果是< >int k=11;printf<"%d,%o,%x〞,k,k,k>;A〕11,12,11 B〕11,13,13 C〕11,013,0xb D〕11,13,b24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是< >A> 1 B> 2 C> 3 D> 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〕1 D〕227.设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str; < >则printf<"%d\n",strlen<p+20>>; 输出结果是A〕0 B〕5 C〕7 D〕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<>{ int a=10,b=0;if<a==12>{a++; b++; }else{ a=a+3 ; b=b+3;}printf<"%d,%d\n〞,a,b>;}2. #include <stdio.h>void main<>{ ints,i;for<s=0,i=1;i<5;i++,s+=i> ;printf<"%d\n〞,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<"%d\n〞,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<"%d\n〞,a>;}16. #include <stdio.h>void main<>{ int x=4;if<x++>=5>printf<"%d\n〞, x> ;elseprintf<"%d\n〞, x--> ;}17. #include <stdio.h>#define MAX<a,b> <a>b ? a : b>+1void main<>{ int i=6,j=8;printf<"%d\n〞,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,%d\n〞, ++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=%d\n〞,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}};inti,s=0 ;for<i=0;i<4;i++> s+=aa[i][2];printf<"%d\n 〞,s>;}28. #include <stdio.h>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>;}三、编程题1. 设有分段函数:x <x <1>Y= 2x-1 <1≤x <10> 写一程序,输入 x,输出 y 的值.3x-11 <x≥10>2.编程任意输入两个实数a 和b,计算下面函数的值,并输出y 值.a-b a>by= ba a<b a*b a=b3.编程序求如下分段函数的值4.写一个判断素数的函数.要求在主函数中输入一个整数并输出相应的判断信息.5.编程序计算 s=1!-2!+3!-4!+ …… -10!,并输出结果.6.编写一个函数,将一个字符串〔最多80个字符〕中的大写字母变为小写字母,小写字母变为大写字母.要求字符串的输入与输出在主函数中完成.7.编程计算:s=1+12+123+1234+12345+123456 〔必须用循环控制语句实现〕8.编写函数change 使输入的字符串按反序存放,在主函数中输入和输出字符串.例如输入是:12345abcde,则输出为:edcba543219.编程,在N×N 矩阵中〔即N 行N 列的数组〕,求主对角线和次对角线上的各元素之和. 10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分<平均分>《C语言》综合复习资料参考答案一、单选题二、读程序写出程序执行结果题1、13,32、143、pass!warm!4、3,35、186、red7、848、***9、01112210、123是3位数11、abcdefgabcdefg12、656534513、max=10,row=1,colum=214、good15、1616、517、918、4 3 119、<><>#20、656534521、222、4,3,123、a=2,b=124、t=225、area=1826、3227、2928、12三、编程题1. 设有分段函数:x <x<1>Y= 2x-1 <1≤x<10> 写一程序,输入x,输出y 的值.3x-11 <x≥10>#include <stdio.h>void main<>{intx,y;printf<"输入x:〞>;scanf<"%d\n〞,&x>;if<x<1>{y=x;printf<"x=%3d,y=x=%d\n〞,x,y>;}else if<x<10>{y=2*x-1;printf<"x=%3d,y=2*x-1=%d\n〞,x,y>;}else{y=3*x-11;printf<"x=%3d,y=3*x-11=%d\n〞,x,y>;}}2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值.a-b a>b y=baa<b a*b a=b#include <stdio.h> void main<> { floata,b,y;scanf<"%f,%f 〞,&a,&b>; if<a<b> y=a/b; elseif<a==b>y=a*b; else y=a-b; printf<"y=%f\n 〞,y>; }3.编程序求如下分段函数的值 #include<stdio.h> #include<math.h> void main<> { floatx,y;scanf<"%d 〞,&x>; if<x<=0> y=fabs<x>+3; else if<x<1&&x>=0> {y=1+x*x;} else{y=2*x+sqrt<x>; printf<"x=%f,y=%f\n 〞,x,y>; }4.写一个判断素数的函数.要求在主函数中输入一个整数并输出相应的判断信息. #include <stdio.h> void main<> {intn,i;printf<"please enter a integer number,n=?〞>;scanf<"%d〞,&n>;for<i=2;i<=n-1;i++>if<n%i==0>break;if<i<n> printf<"%d is not a prime number.\n〞,n>;elseprintf<"%d is a prime number.\n〞,n>;}求素数的问题方法有很多,同学们可以到教材或网络上进行查找学习.5.编程序计算s=1!-2!+3!-4!+ …… -10!,并输出结果.#include <stdio.h>void main<>{inti,k=1,njie=1;float sum=0;for<i=1;i<=10;i++>{njie=njie*i;sum=sum+njie*k;k=-1*k;}printf<"%f\n",sum>;}6.编写一个函数,将一个字符串〔最多80个字符〕中的大写字母变为小写字母,小写字母变为大写字母.要求字符串的输入与输出在主函数中完成.#include <stdio.h>void main<>{inti;char a[80];gets<a>;puts<a>;for<i=0;i<80;i++>if<a[i]>=65&&a[i]<=90>a[i]=a[i]+32;puts<a>;}7.编程计算:s=1+12+123+1234+12345+123456 〔必须用循环控制语句实现〕#include <stdio.h>void main<>{longint t=0,s=0,i;for<i=1;i<=6;i++>{t=i+t*10;s=s+t;}printf<〞s=%ld\n〞,s>;}本题请注意s数据类型的定义.8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串.例如输入是:12345abcde,则输出为:edcba54321void main<>{char a[100];gets<a>;change<a>;puts<a>;}#include<stdio.h>#include<string.h>void change<char a[]>{inti,j,k;char temp;k=strlen<a>;for<i=0;i<k;i++>for<j=i+1;j<k;j++>{temp=a[i];a[i]=a[j];a[j]=temp;}}9.编程,在N×N矩阵中〔即N行N列的数组〕,求主对角线和次对角线上的各元素之和. #define N 10;main<>{inti,j;int a[N][N];int sum=0;for<i=0;i<N;i++>for<j=0;j<N;j++>scanf<"%d",&a[i][j]>;for<i=0;i<N;i++>for<j=0;j<N;j++>if<i==j||<i+j==N>>//i==j是判断是否主对角线的元素i+j==N 是判断是否是次对角线的元素sum+=a[i][j];printf<"%d",sum>;}10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分<平均分>#include <stdio.h>int main<>{int a[10],i,max,min;float sum;for<i=0;i<10;i++ >{scanf<"%d",&a[i]>;}max=a[0];min=a[0];for<i=1;i<=9;i++>{if<max<a[i]>max=a[i];else if<min>a[i]>min=a[i];}for<i=0;i<=9;i++>{sum=sum+a[i];}sum=<sum-max-min>/8;printf<"%f\n",sum>;}}。
中国石油大学(华东)大一C语言答案
![中国石油大学(华东)大一C语言答案](https://img.taocdn.com/s3/m/34a31a8584868762caaed5e2.png)
大一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个数,将小数放前,大数放后。
中国石油大学华东c语言期末考试题及答案
![中国石油大学华东c语言期末考试题及答案](https://img.taocdn.com/s3/m/154dc3edd1d233d4b14e852458fb770bf68a3b6f.png)
中国石油大学华东c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是()。
A. 变量必须先定义后使用B. 变量的类型必须明确C. 变量名可以是任意字符D. 变量的类型决定了变量的存储空间答案:C2. 在C语言中,下列哪个关键字用于定义函数?()A. intB. voidC. returnD. main答案:B3. 下列哪个选项是正确的C语言注释方式?()A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B4. C语言中,下列哪个运算符用于比较两个值是否相等?()A. ==B. !=C. >D. <答案:A5. 在C语言中,下列哪个选项是正确的字符串定义方式?()A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {"Hello"};D. char str = {"Hello"};答案:A6. 下列哪个选项是C语言中的合法整型常量?()A. 123B. 0x1AC. 0123D. All of the above答案:D7. C语言中,下列哪个选项用于定义一个指向整型的指针?()A. int *p;B. int p;C. *int p;D. int *p = 0;答案:A8. 下列哪个选项是正确的C语言数组定义方式?()A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. All of the above答案:D9. 在C语言中,下列哪个选项是正确的文件包含指令?()A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:D10. 下列哪个选项是C语言中正确的条件语句?()A. if (x > 0)B. if x > 0C. if (x > 0) {D. if (x > 0) then答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并初始化为10的语句是:________。
中国石油大学C语言在线作业参考
![中国石油大学C语言在线作业参考](https://img.taocdn.com/s3/m/b373c99802d276a200292e5c.png)
中国石油大学C语言在线作业参考一、单项选择题答题要求:每题只有一个正确的选项。
1(5.0分)在下面几组数据类型中, 全为最常用的基本数据类型的是()•A)整型实型字符型••B)整型数组指针••C)数组结构体共用体••D)指针逻辑型空类型•参考答案: A收起解析解析:无2(5.0分)在C语言中,十进制数47可等价地表示为()•A)••B)02f••C)57••D)057•参考答案: D收起解析解析:无3(5.0分)执行下面程序:main(){int x=1,y=1,z=1;x=x++ +y++ +z++;printf("%d, %d , %d",x,++y,z++);输出的结果为()•A)4,3,2••B)3,3,2••C)3,3,3••D)3,2,2•参考答案: A收起解析解析:无4(5.0分)在下列描述中,正确的一条是()•A)if(表达式)语句中,表达式的类型只限于逻辑表达式••B)语句“goto 12;”是合法的••C)for(;;)语句相当于while(1)语句••D)break语句可用于程序的任何地方,以终止程序的执行•参考答案: C收起解析解析:无5(5.0分)语句:printf("%d",(a=2)&&(b=-2));的输出结果是()•A)无输出••B)结果不确定••C)1••D)2•参考答案: C收起解析解析:无6(5.0分)有如下定义:long m;char c;float x;double y;则表达式c m*x/y的值的类型是()•A)long••B)char••C)float••D)double•参考答案: D收起解析解析:无7(5.0分)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()•A)地址传递••B)由实参传给形参,再由形参返回实参••C)值传递••D)传递方式由用户指定•参考答案: C收起解析解析:无8(5.0分)有以下函数定义:void fun( int n ,double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()•A)fun( int y ,double m );••B)k=fun( 10 ,12.5 );••C)fun(x ,n);••D)void fun( 10 ,12.5 );•参考答案: C收起解析解析:无9(5.0分)在计算机中,C语言是属于()•A)机器语言••B)高级语言••C)汇编语言••D)自然语言•参考答案: B收起解析解析:无10(5.0分)在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()•A)1••B)2••C)3••D)4•参考答案: B收起解析解析:无11(5.0分)执行int j,i=1; j=-i ; 后j的值是()•A)-1••B)-2••C)1••D)2•参考答案: A收起解析解析:无12(5.0分)在“while(!a)”中,其中“!a”与表达式()等价。
中国石油大学(华东)C语言在线测评答案第7章(20XX级亲测正确)
![中国石油大学(华东)C语言在线测评答案第7章(20XX级亲测正确)](https://img.taocdn.com/s3/m/3ca79fcea8114431b80dd87a.png)
中国石油大学(华东)C语言在线测评答案第7章(20XX级亲测正确)[基础题]7.01 求最大值问题描述:用函数编程技术求两整数的最大值,在主函数中调用该函数计算并输出从键盘任意输入的两个整数的最大值输入:整数x和y 输出:两个整数的最大值输入样例:10 20 输出样例: MAX=20 #include int max(int x,int y){ return x>y?x:y; } int main() { } int x,y;scanf(\printf(\return 0; 【基础题】7.02 求组合数问题描述:用函数编程计算组合数输入: m和k的值(m>=k>0)输出:所求的结果输入样例: 3 2 输出样例: 3 的值。
#include #include long Fact(int m,int a); int main() { int m,a,ret;scanf(\ ret=Fact(m,a); printf(\ return 0; } long Fact(int m,int a) {long result, x=1, y=1, i , j, k, z, q=1; if(mif(m>=a&&m=a&&m>0&&a>0) {for(i=2;i int fun(int a,int b) { } /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ int main(){ int a,b,c; scanf(\ c=fun(a,b); printf(\return 0; } /* PRESET CODE END - NEVER TOUCH CODE ABOVE*/ int g1,g2,s1,s2,c; g1=a ; g2=b ; s1=a/10; s2=b/10;c=g1*1000+g2*100+s1*10+s2; return c; 【设计型】7.2 素数的判断请编写函数fun,其功能是判断一个整数n是否为素数,如果是素数,则返回1,否则返回0。
中国石油大学华东语言热身赛参考答案C
![中国石油大学华东语言热身赛参考答案C](https://img.taocdn.com/s3/m/206136dd84868762caaed568.png)
....................A..............Problem A: 6666666666是2015年的流行词,起源无从考究,但总体意思就是“玩的很溜”,夸奖的意思。
同学们的宿舍文化中66666表现在以下几个方面:1.在同学们的语气中,我觉得应该是"赞赞赞赞赞"的意思。
2.有时候表示对某些人干一件事非常熟练的一种开着玩笑的“赞美”。
3.有时候,还表示对于一些“空想”、“不切实际”的想法的带着玩笑的“嘲讽”。
当然,大神们在做出了别的同学完成不了的题目的时候,大家都衷心的说:66666Input输入有多组数据。
每组数据包含一个整数N(0 <= N < 1030),表示一条评论,占一行。
Output对应输出多组结果,每位数据上包含一个6,就输出一个“zan!”,如果该行数据没有6就输出一个空行Sample Input6678612345789162636666Sample Outputzan!zan!zan!zan!zan!zan!zan!zan!zan!#include <stdio.h>#include <stdlib.h>int main(){int i,j;char a[30];while(scanf("%s",a)!=EOF){for(i=0;a[i]!=0;i++){if(a[i]=='6'){printf("zan!");}}printf("\n");}return 0;}................B..................有这样一个有趣的算术谜题:一百馒头一百僧,大僧三个更无争。
小僧三人分一个,大小和尚得几丁?根据此谜题,我们对问题进行改编,a个和尚分a个馒头,正好分完。
如果老和尚一人分3个,小和尚3人分一个,你算算大、小和尚各有多少人?Input输入有多行。
中国石油大学华东现代远程教育C语言
![中国石油大学华东现代远程教育C语言](https://img.taocdn.com/s3/m/6b10b47102768e9951e73825.png)
自测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语言)》网课测试题答案1
![中国石油大学(华东)智慧树知到“计算机科学与技术”《程序设计(C语言)》网课测试题答案1](https://img.taocdn.com/s3/m/ecbd75e751e2524de518964bcf84b9d528ea2cb0.png)
中国石油大学(华东)智慧树知到“计算机科学与技术”《程序设计(C语言)》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.下列描述中不正确的是()A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值2.在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]的值是()A.3B.4C.0D.23.执行下面程序,输出的结果为()A.4,3,2B.3,3,2C.3,3,3D.3,2,24.若有说明语句:char c=‘\64’; 则变量C包含:()A.1个字符B.2个字符C.3个字符D.说明不合法,C值不确定5.用数组名作为函数调用时的实参,则实际传递给形参的是()A.数组的第一个元素值B.数组中全部元素值C.数组的首地址D.数组的元素个数6.以下选项中非法的表达式是()A.(a+2)++B.i=j==1C.(char)(65+10)D.x=x-17.已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是()A.2B.3C.4D.无法确定;8.在“while(!a)”中,其中“!a”与表达式()等价。
A.a==0B.a==1C.a!=1D.a!=09.在C语言中,字符型数据在内存中的存储形式是()A.原码B.补码C.反码D.ASCII码10.以下选项中合法的用户标识是()A.longB._2TestC.3DmaxD.A.dat11.若有说明:char s1='\067', s2='1'; 则变量s1,s2在内存中各占的字节数是()A.1,1B.4,1C.3,1D.1,212.已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是()A.2B.3C.4D.无法确定13.以下能正确定义数组并正确赋初值的语句是()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}};14.下面有关for循环的正确描述是()A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来15.已知char b[5], *p=b; ,则正确的赋值语句是()A.b=“abcd”;B.*b=“abcd”;C.p=“abcd”;D.*p=“abcd”;第2卷一.综合考核(共15题)1.已知int a=4,b=5;,这执行表达式a=a>b后,变量a的值为()A.0B.1C.4D.52.以下程序中,while循环的循环次数是() main() { int i=0; while(iA.1 B.10C.6D.死循环,不能确定次数3.以下关于数组的描述正确的是()A.数组大小固定,但是可以有不同类型的数组元素B.数组大小可变,但是所有数组元素的类型必须相同C.数组大小固定,所有元素的类型必须相同D.数组大小可变,可以有不同类型的数组元素4.执行下面程序,输出的结果为()A.4,3,2B.3,3,2C.3,3,3D.3,2,25.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是()A.1B.2C.3D.46.已定义c为字符型变量,则下列语句中正确的赋值语句是()A.c='66';B.c="66"C.c=66;D.c="B"7.已知char ch=‘A’,且表达式:ch=(ch>=‘A’ && chA.AB.aC.zD.Z8.在计算机中,C语言是属于()A.机器语言B.高级语言C.汇编语言D.自然语言9.在C语言中,下列变量名称中合法的是()A.7xB.intC.ELseD.a-b10.下面不是C语言基本数据类型的是()A.指针类型B.整型C.无符号长整型D.单精度型11.执行下面程序,输出的结果为()A.4,3,2B.3,3,2C.3,3,3D.3,2,212.若有说明:char s1=067, s2=1; 则变量s1,s2在内存中各占的字节数是()A.1,1B.4,1C.3,1D.1,2 13.若有说明语句:char c=‘\64’;则变量C包含:()A.1个字符B.2个字符C.3个字符D.说明不合法,C值不确定14.以下非法的赋值语句是()A.n=(i=2, i++);B.j++;C.++(I+1);D.x=j>0;15.执行int j, i=1; j=-i; 后j的值是()A.-1B.-2C.1D.2第1卷参考答案一.综合考核1.参考答案:C2.参考答案:C3.参考答案:A4.参考答案:A5.参考答案:C6.参考答案:A7.参考答案:C8.参考答案:D9.参考答案:D10.参考答案:B11.参考答案:A12.参考答案:C13.参考答案:D14.参考答案:D15.参考答案:C第2卷参考答案一.综合考核1.参考答案:A2.参考答案:D3.参考答案:C4.参考答案:A5.参考答案:B6.参考答案:C7.参考答案:B8.参考答案:B9.参考答案:C10.参考答案:A11.参考答案:A12.参考答案:A 13.参考答案:A14.参考答案:C15.参考答案:A。
中国石油大学C语言考试题及答案
![中国石油大学C语言考试题及答案](https://img.taocdn.com/s3/m/deda9002571252d380eb6294dd88d0d233d43cca.png)
中国石油大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable$2D. variable-2答案:B2. C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0.5C. 0.0e0D. 0L答案:A3. 在C语言中,哪个关键字用于定义一个函数?A. intB. returnC. functionD. void答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. case答案:D5. C语言中,字符串的结束标志是什么?A. '\n'B. '\0'C. '\t'D. '\b'答案:B6. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[][];C. int array[3][];D. int array[3][4][];答案:A7. C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add(x, y);C. int add(int, int);D. int add(int x; int y);答案:A8. 在C语言中,哪个运算符用于取模运算?A. %B. //C. /D. \*答案:A9. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. 3.14E2C. 3.14e-2D. All of the above答案:D10. C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; } Student;C. struct Student { int age; char name; };D. struct { int age; char name[20]; };答案:A二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。
最新中国石油大学华东C语言习题答案
![最新中国石油大学华东C语言习题答案](https://img.taocdn.com/s3/m/3994326e7cd184254b3535e6.png)
中国石油大学华东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。
2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)
![2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)](https://img.taocdn.com/s3/m/3e4d00572a160b4e767f5acfa1c7aa00b52a9d7c.png)
2022年中国石油大学(华东)公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、结构化程序由________、________ 、________ 3种基本结构组成。
4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、定义语句int*f();int(*f)();的含义分别为_______和_______。
7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、设有如下结构体说明:{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______10、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的数据类型为()。
2023年秋石油大学华东C语言第四阶段在线作业自测
![2023年秋石油大学华东C语言第四阶段在线作业自测](https://img.taocdn.com/s3/m/2b7eb744ba68a98271fe910ef12d2af90242a880.png)
1.第1题单项选择题若二维数组a有m列,则a[I][j]元素前旳数组元素个数为:A、j*m iB、i*m jC、i*m j-113D、i*m j 1原则答案:D您旳答案:题目分数:5此题得分:0.0批注:2.第2题单项选择题下面有关for循环旳对旳描述是A、for循环只能用于循环次数已经确定旳状况B、for循环是先执行循环体语句,后判断体现式C、在for循环中,不能用break语句跳出循环体D、for循环旳循环体语句中,可以包括多条语句,但必须用花括号括原则答案:D您旳答案:题目分数:5此题得分:0.0批注:3.第3题单项选择题若有如下语句: int *p1,*p2; 则其中int所指旳是A、p1旳类型B、*p1和*p2旳类型C、p2旳类型D、p1和p2所能指向变量旳类型原则答案:D您旳答案:题目分数:5此题得分:0.0批注:4.第4题单项选择题设有如下定义和执行语句,其输出成果为:int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b);A、3 2B、4 2C、2 2D、2 3原则答案:A您旳答案:题目分数:5此题得分:0.0批注:5.第5题单项选择题若有阐明语句:char c= ‘\64’ ; 则变量C包括:A、1个字符B、2个字符C、3个字符D、阐明不合法,C值不确定原则答案:A您旳答案:题目分数:5此题得分:0.0批注:6.第6题单项选择题不是给数组旳第一种元素赋值旳语句是A、int a[2]={1};B、int a[2]={1*2};C、int a[2];scanf (“%d”,a);D、a[1]=1;原则答案:D您旳答案:题目分数:5此题得分:0.0批注:7.第7题单项选择题判断字符串s1与否不小于字符串s2,应当使用A、if(s1>s2)B、if(strcmp(s1,s2))C、if(strcmp(s2,s1)>0)D、if(strcmp(s1,s2)>0)原则答案:D您旳答案:题目分数:5此题得分:0.0批注:8.第8题单项选择题若有定义:int a[5];则a数组中首元素旳地址可以表达为A、&aB、a 1C、aD、&a[1]原则答案:C您旳答案:题目分数:5此题得分:0.0批注:9.第9题单项选择题在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]旳值是A、3B、4C、0D、2原则答案:C您旳答案:题目分数:5此题得分:0.0批注:10.第10题单项选择题C语言中变量旳指针指旳是:A、变量类型B、变量值C、变量值D、变量地址原则答案:D您旳答案:题目分数:5此题得分:0.0批注:11.第11题单项选择题在调用函数时,假如实参是简朴变量,它与对应形参之间旳数据传递方式是A、地址传递B、由实参传给形参,再由形参返回实参C、值传递D、传递方式由顾客指定原则答案:C您旳答案:题目分数:5此题得分:0.0批注:12.第12题单项选择题已知char b[5],*p=b; ,则对旳旳赋值语句是A、b=“abcd”;B、*b=“abcd”;C、p=“abcd”;D、*p=“abcd”;原则答案:C您旳答案:题目分数:5此题得分:0.0批注:13.第13题单项选择题C语言中,运算对象必须是整型数旳运算符是A、%B、\C、% 和 \D、**原则答案:A您旳答案:题目分数:5此题得分:0.0批注:14.第14题单项选择题设有两字符串“Beijing”、“China”分别寄存在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后旳为:A、strcpy(str1,str2);B、strcpy(str1, “China”);C、strcat(str1,“China”)D、strcat(“Beijing”,str2);原则答案:C您旳答案:题目分数:5此题得分:0.0批注:15.第15题单项选择题在下面几组数据类型中, 全为最常用旳基本数据类型旳是哪一组:A、整型实型字符型B、整型数组指针C、数组构造体共用体D、指针逻辑型空类型原则答案:A您旳答案:题目分数:5此题得分:0.0批注:16.第16题单项选择题程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行成果是last=A、2B、3C、4D、无成果原则答案:C您旳答案:题目分数:5此题得分:0.0批注:17.第17题单项选择题能对旳表达x旳取值范围在[0,100]和[-10,-5]内旳体现式是A、(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B、(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C、(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D、(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)原则答案:B您旳答案:题目分数:5此题得分:0.0批注:18.第18题单项选择题若有如下定义:int a[10],*p=a; 则*(p 3)表达旳是A、元素a[3]旳地址B、元素a[3]旳值C、元素a[4]旳地址D、元素a[4]旳值原则答案:B您旳答案:题目分数:5此题得分:0.0批注:19.第19题单项选择题下列说法对旳旳是A、main函数必须放在C程序旳开头B、main函数必须放在C程序旳最终C、main函数可以放在C程序旳中间部分,但在执行C程序时是从程序D、main函数可以放在C程序旳中间部分,但在执行C程序时是从main原则答案:D您旳答案:题目分数:5此题得分:0.0批注:20.第20题单项选择题下面程序段旳运行成果是chara[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]);A、空格B、\0C、eD、f原则答案:D您旳答案:题目分数:5此题得分:0.0批注:试卷总得分:0.0试卷总批注:。
中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案
![中国石油大学(华东)《程序设计(C语言)》2020年秋季学期在线作业(三)附参考答案](https://img.taocdn.com/s3/m/5b986f9c910ef12d2af9e778.png)
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语言在线测评答案第5、6章(2013级亲测正确)
![中国石油大学(华东)C语言在线测评答案第5、6章(2013级亲测正确)](https://img.taocdn.com/s3/m/dc7543c580eb6294dd886c78.png)
5.1 计算并输出两个整数的最大值#include <stdio.h>int main(){int data1,data2;char op;scanf("%d%c%d",&data1,&op,&data2);switch(op){case'+':printf("%d+%d=%d\n",data1,data2,data1+data2); break;case'-':printf("%d-%d=%d\n",data1,data2,data1-data2); break;case'*':printf("%d*%d=%d\n",data1,data2,data1*data2); break;case'/':if(0==data2)printf("Division by zero!\n");elseprintf("%d/%d=%d\n",data1,data2,data1/data2);}return 0;}5.3 百分制转化为五分制问题描述:从键盘输入一个百分制成绩(0~100)n,编程计算并输出其对应的五分制成绩('A'~'E')。
输入:整数n 输出: n及其对应的五分制成绩#include <stdio.h>int main(){int a,t;scanf("%d",&a);if(a<0||a>100)printf("Input error!\n");else{if(a>=90)t=1;else if(a>=80&&a<90)t=2;else if(a>=70&&a<80)t=3;else if(a>=60&&a<70)t=4;elset=5;switch(t){case 1:printf("%d--A\n",a); break;case 2:printf("%d--B\n",a); break;case 3:printf("%d--C\n",a); break;case 4:printf("%d--D\n",a); break;case 5:printf("%d--E\n",a); break;}}return 0;}5.4 绝对值问题描述:输入一个实数,不使用绝对值函数计算并输出该实数的绝对值。
中国石油大学C语言考试题及答案
![中国石油大学C语言考试题及答案](https://img.taocdn.com/s3/m/82169bddc67da26925c52cc58bd63186bdeb9265.png)
中国石油大学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语言上机题及答案大全
![C语言_中国石油大学(华东)c语言上机题及答案大全](https://img.taocdn.com/s3/m/edfe9134f68a6529647d27284b73f242336c3114.png)
C语言_中国石油大学(华东)c语言上机题及答案大全1.1 Hello world.让我们用C语言向世界问好。
最早的程序基本是这个样子的:程序一:#includevoid main(){printf("Hello world.\");}程序二:#includeint main(){printf("Hello world.\");return 0;}上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。
输入:无输出:Hello world.#includeint main(){printf("Hello world.\");}1.2 Welcome to Beijing.让我们来练习如何显示多行文字。
输入:无输出:就是下面的那段文字。
#includevoid main(){printf("Welcome\");printf("to\");printf("Beijing.\");}1.3 练习最简单的printf和scanfprintf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。
输入:整型变量x的值。
输出:输出整型变量x对应的十进制、八进制和十六进制形式。
认真观察-1的八进制和十六进制输出,请想想是为什么。
#includeint main(){int x;scanf("%d",&x);printf("x=%d,",x);printf("x=%o,",x);printf("x=%x\",x);return 0;}1.4 练习两个整数之间的运算背景:基本练习。
输入:接受两个整数,每个整数之间使用空格分隔。
例如输入格式为:123 444输出:分别输出进行+、-、*、/、*之后的运行结果。
中国石油大学C语言程序设计第一册在线作业答案
![中国石油大学C语言程序设计第一册在线作业答案](https://img.taocdn.com/s3/m/a2a9ea20bfd5b9f3f90f76c66137ee06eff94e82.png)
中国石油大学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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。
#include<stdio.h>int main(){int yu,m,n,temp,bei,ji;scanf("%d%d",&m,&n);if(m<n)temp=m,m=n,n=temp;ji=m*n;yu=m%n;while(yu!=0){m=n;n=yu;yu=m%n;} (最大公约数求法)bei=ji/n;(最小公倍数求法)printf("the greatest common divisor is %d\n",n);printf("the least common multiple is %d\n",bei);return 0;}【设计型】5.7 水仙花数输出所有的水仙花数。
所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。
例如153是一水仙花数,因为153=13+53+33输出语句:printf("%d\n",n);#include<stdio.h>int main(){int a,b,i,j,k;for(i=1;i<=9;i++){for(j=0;j<=9;j++){for(k=0;k<=9;k++) (三重循环从1到999){a=i*i*i+j*j*j+k*k*k;b=100*i+10*j+k;if(a==b)printf("%d\n",b);}}}return 0;}【设计型】5.8 完数一个数如果恰好等于它的因子之和,这个数就称为完数。
例如,6的因子为1,2,3,且6=1+2+3,因此6是完数,从键盘上输入一个正整数,判断其是否为完数。
如果是,则按照如下格式输出。
比如,输入6,则输出Yes,its factors are 1 2 3;如果输入8,则输出No#include<stdio.h>int main(){int yinzi,num,i,sum=0;scanf("%d",&num);for(yinzi=1; yinzi<num; yinzi++){if(num%yinzi==0)sum=sum+yinzi;}if(sum==num){printf("Yes,its factors are ");for(i=1; i<num; i++){if(num%i==0)printf(" %d",i);} (输出因子具体值) printf("\n");}else printf("No\n");return 0;}【设计型】5.9 素数输入两个正整数m和n,求出[m,n]区间的所有素数#include<stdio.h>int main(){int m,n,i,j,tag=1;scanf("%d%d",&m,&n);for(i=m; i<=n; i++){for(j=2; j<i; j++) {if(i%j==0){tag=0;break;}else tag=1;}if(tag)printf(" %d",i);}printf("\n");return 0;}【设计型】5.10 回文数输入一个数,判断是否为回文数,如果是,输出Yes,否则输出No #include<stdio.h>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("Yes\n");else printf("No\n");return 0;}【设计型】5.11 贪吃的猴子有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。
第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。
以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一半加5个)。
到第n天早上再想吃的时候,就只剩下一个桃子了。
输入:天数n输出:第一天的桃子个数,输出语句为printf("The monkey got %d peachs in first day.\n",sum);Smaple:Input:5OutputThe monkey got 114 peachs in first day.提示:问题分析:总共 t0日吃掉剩余1 t0/2+1 t0-(t0/2+1)=t0/2-1 t1=t0/2-1 =>t0=(t1+1)*22 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)*2n 1 0 tn-1=1#include<stdio.h>int main(){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 output\n”。
输入:人数 n输出:男人、女人和小孩人数#include<stdio.h>int main(){int man,woman,child,total,sum,tag=0;scanf("%d",&total);for(man=0; man<=total; man++){for(woman=0; woman<=(total-man); woman++){child=total-man-woman;sum=50*man+20*woman+1*child;if(sum==1200){tag=1;printf("%d %d %d\n",man,woman,child); }}}if(tag==0)printf("No output\n");return 0;}【设计型】5.13 迭代法用迭代法求.求平方根的迭代公式为:要求前后两次求出的x的差的绝对值小于10-5。