工程硕士复习C语言.ppt
C语言程序设计复习,丁建睿,第一部分 选择填空题,以下正确的叙述是()在C程序中,每行中只能写一条语句若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数在C程序中,无论是整数还是实数,都能被准确无误地表示在C程序中,%是只能用于整数运算的运算符,第一部分 选择填空题,以下正确的叙述是(D)在C程序中,每行中只能写一条语句若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数(浮点数)在C程序中,无论是整数还是实数,都能被准确无误地表示(浮点数的误差)在C程序中,%是只能用于整数运算的运算符,第一部分 选择填空题,/和%int a=7,b=5;int c=7/5;int d=7%5;,第一部分 选择填空题,2.以下不正确的叙述是()在C程序中,逗号运算符的优先级最低在C程序中,APH和aph是两个不同的变量若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值,第一部分 选择填空题,2.以下不正确的叙述是(D)在C程序中,逗号运算符的优先级最低在C程序中,APH和aph是两个不同的变量(区分大小写)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(类型转换),第一部分 选择填空题,#include int main()int a=5;a=(3*5,a*4,a+5);printf(a=%dn,a);return 0;,第一部分 选择填空题,若有说明语句:char c=72则变量c()包含1个字符 包含2个字符 包含3个字符 说明不合法,c的值不确定,第一部分 选择填空题,若有说明语句:char c=72则变量c(A)包含1个字符 包含2个字符 包含3个字符 说明不合法,c的值不确定char*str=“a”;,a,0,str,第一部分 选择填空题,4.以下叙述正确的是()在C程序中,main函数必须位于程序的最前面 C程序的每行中只能写一条语句C语言没有输入输出语句 在对一个C程序进行编译的过程中,可发现注释中的拼写错误,第一部分 选择填空题,4.以下叙述正确的是(C)在C程序中,main函数必须位于程序的最前面 C程序的每行中只能写一条语句C语言没有输入输出语句(printf,scanf是库函数)在对一个C程序进行编译的过程中,可发现注释中的拼写错误,第一部分 选择填空题,以下程序的输出结果是()main()int a=12,b=12;printf(%d%dn,-a,+b);A.10 10 B.12 12 C.11 10 D.11 13,D,第一部分 选择填空题,main()int a=12,b=12;printf(“%d%dn”,a-,+b);A.10 10 B.12 12 C.12 13 D.11 13,第一部分 选择填空题,6.以下不正确的C语言关键字是()A.break B.if C.printf D.sizeof,C,第一部分 选择填空题,在C语言中,字符型数据在内存中以()形式存放原码 B.BCD码 C.反码 D.ASCII码ASCII(American Standard Code for Information Interchange,美国信息交换标准代码),D,第一部分 选择填空题,8.在语言中,逻辑值“真”用()表示true 大于的数 非零整数 非零的数,D,第一部分 选择填空题,9.用8位无符号二进制数能表示的最大十进制数为()127 B.128 C.255 D.256 8位有符号二进制数能表示的十进制数的范围?-128 127,C,第一部分 选择填空题,10.若变量i、j已正确定义,以下不合法的语句是()A.j=1 B.+iC.j=5D.j=int(i),D,第一部分 选择填空题,11.以下选项中,与k=n+完全等价的表达式是()k=n,n=n+1 n=n+1,k=n k=+n k+=n+1,A,第一部分 选择填空题,12.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对缩排位置相同的if 在其之前未配对的if 在其之前未配对的最近的if 同一行上的if,C,第一部分 选择填空题,悬挂问题if(x 5)if(y 5)cout 5;else cout 5)if(y 5)cout 5;else cout x is=5;,第一部分 选择填空题,13.以下正确的描述是()continue语句的作用是结束整个循环的执行只能在循环体内和switch语句体内使用break语句在循环体内使用break语句或continue语句的作用相同从多层循环嵌套中退出时,只能使用goto语句,B,第一部分 选择填空题,第一部分 选择填空题,第一部分 选择填空题,14.在C语言中,下列叙述正确的是()不能使用do-while语句构成循环do-while语句构成的循环,必须用break语句才能退出do-while语句构成的循环,当while语句中的表达式值为非零时循环结束do-while语句构成的循环,当while语句中的表达式值为零时结束循环,D,第一部分 选择填空题,第一部分 选择填空题,15.下面有关for循环的正确描述是()for循环只能用于循环次数已经确定的情况for循环是先执行循环体语句,后判断表达式在for循环中,不能用break语句跳出循环体for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,第一部分 选择填空题,15.下面有关for循环的正确描述是(D)for循环只能用于循环次数已经确定的情况(死循环)for循环是先执行循环体语句,后判断表达式在for循环中,不能用break语句跳出循环体for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,for(initialization;loopContinuationCondition;increment)statement;等价于:initialization;while(loopContinuationCondition)statement;increment;,第一部分 选择填空题,第一部分 选择填空题,16.结构化程序设计一般可以用()三种基本结构组合而成循环、选择、递归 顺序、循环、嵌套循环、递归、分支顺序、选择、循环,D,选择:if、ifelse、switch循环:while、do.while、forbreak 和 continue 可以改变控制流程,第一部分 选择填空题,第一部分 选择填空题,17.以下不是死循环的语句为()for(;x+=k);while(1)x+;for(k=10;k-)sum+=k;for(;(c=getchar()!=n;)printf(“%c”,c);,D,第一部分 选择填空题,18.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()地址传递单向值传递由实参传给形参,再由形参传回给实参由用户指定传递方式,B,第一部分 选择填空题,以下程序段()x=-1;do x=x*x;while(!x);A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误,C,第一部分 选择填空题,20.以下不正确的说法为()在不同函数中可以使用相同名字的变量 形式参数是局部变量在函数内定义的变量只在本函数范围内有效在函数内的语句块中定义的变量在本函数范围内有效,D,第一部分 选择填空题,21.以下正确的描述是(),在C语言程序中函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义不可以嵌套,但函数的调用可以嵌套函数的定义和函数的调用均不可以嵌套函数的定义和函数的调用均可以嵌套,B,第一部分 选择填空题,22.以下正确的说法是()定义函数时,形参的类型说明可以放在函数体内return后边的值不能为表达式如果函数值的类型与返回值类型不一致,以函数值类型为准如果形参与实参的类型不一致,以实参类型为准,C,第一部分 选择填空题,23.以下正确的说法是(),在C语言中实参和与其对应的形参各占用独立的存储单元实参和与其对应的形参共占用一个存储单元只有当实参和与其对应的形参同名时才共占用存储单元形参是虚拟的,不占用存储单元,A,第一部分 选择填空题,24.进行文件操作的时候,写文件一般含义是()将计算机内存中的信息存入磁盘 将磁盘中的信息存入计算机内存将计算机CPU中的信息存入磁盘 将磁盘中的信息存入计算机CPU,A,第一部分 选择填空题,25.C语言中规定函数的返回值的类型是由()return语句中的表达式类型所决定 在定义该函数时所指定的函数类型所决定调用该函数时系统临时决定 调用该函数时的主调用函数类型所决定,B,第一部分 选择填空题,若有定义:int a=2,4,6,8,10,12,14,16,18,20,22,24,q4,k;则下面程序段的输出是()for(k=0;k4;k+)qk=ak*3;printf(%dn,q3);816 20 输出项不合法,结果不确定,C,第一部分 选择填空题,27.若有定义:int a46;则能正确表示a数组中任一元素aij(此处0=i4,0=j6)地址的表达式是()&a00+6*i+j&a00+4*j+i&a00+4*i+j&a00+6*i+i,A,第一部分 选择填空题,第一部分 选择填空题,28.以下正确的说明语句是()int*b=1,3,5,7,9int a5,*num5=&a0,&a1,&a2,&a3,&a4;int a=1,3,5,7,9;int*num5=a0,a1,a2,a3,a4;int a34,(*num)4;num1=&a13;,B,第一部分 选择填空题,int*pn 和 int(*p)n的区别 前者表示 p0 到 pn-1 都为指针 后者表示 p 为指向一个 1 维数组(该数组有 n 个成员)的指针,第一部分 选择填空题,29.以下对二维数组 a 进行正确初始化的是()int a23=1,2,3,4,5,6;int a 3=1,2,3,4,5,6;int a2=1,2,3,4,5,6;int a2=1,2,3,4;,B,第一部分 选择填空题,二维数组参数第一维数组(行)的大小不是必须的第二维数组(列)的大小是必须的例:void printArray(const int a 3);,第一部分 选择填空题,30.若有以下定义,int a10,*p=a;则*(p+5)表示()元素a5的地址 元素a5的值 元素a6的地址 元素a6的值,B,第一部分 选择填空题,31.为了判断两个字符串s1和s2是否相等,应当使用()if(s1=s2)if(s1=s2)if(strcpy(s1,s2)if(strcmp(s1,s2)=0),D,第一部分 选择填空题,32.下列数组声明中,正确的是()#define size 10 char strsize+2;char str;int num10;int n=5;int an;,A,第一部分 选择填空题,33.已知:int*p;则变量p是()指向int的指针 指向指针的指针 int型变量 以上三种说法均是错误的,B,第一部分 选择填空题,第一部分 选择填空题,34.已有定义int k=2;int*ptr1,*ptr2;且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句是()k=*ptrl+*ptr2;ptr2=k ptrl=ptr2;k=*ptrl*(*ptr2);,B,第一部分 选择填空题,以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()main()int*p,*q,a,b;p=&a;printf(input a:);scanf(%d,*p);*p表示的是变量p的地址*p表示的是变量a的值,不是变量a的地址*p表示的是指针变量p的值*p只能用来说明p是一个指针变量,B,第一部分 选择填空题,#include;int main(void)char str80,str280;int i;/*read a string and a integer*/scanf(%s%d,str,第一部分 选择填空题,36.定义int*p,i;以下含义正确的语句是()p=10;i=p;i=*p;p=2*p+1;,C,第一部分 选择填空题,37.下列说法不正确的是()指针是一个变量指针中存放的是地址值指针可以进行加、减等算术运算指针变量不占用存储空间,D,第一部分 选择填空题,38.若要说明x是整型变量,p为指向x的整型指针变量,下列说明语句中正确的是()int x,*p=&x;int x,p=&x;int*p=&x,x;int x,*p=*x;,A,第一部分 选择填空题,39.int a33=1,2,3,4,5,6,7,8,9;int(*ptr)3=a,*p=a0;则下列能够正确表示数组元素a12的表达式是()*(*ptr+1)2)*(*(p+5)(*ptr+1)+2*(*(a+1)+2),D,第一部分 选择填空题,#include;int main(void)int a33=1,2,3,4,5,6,7,8,9;int(*ptr)3=a,*p=a0;printf(%dn,(*(ptr+1)2);printf(%dn,*(p+5);/printf(%dn,(*ptr+1)+2);printf(%dn,*(*(a+1)+2);return 0;,第一部分 选择填空题,40.若有定义int(*p)4,则标识符p是一个()指向整型变量的指针变量指向函数的指针变量指向有四个整型元素的一维数组的指针变量指针数组名,有四个元素,每个元素均为一个指向整型变量的指针,C,第一部分 选择填空题,41.下面这些名词,没有“地址”的是()变量函数宏 指针,C,第一部分 选择填空题,42.已知 int a,*p=&a;则为了得到变量a的值,下列错误的表达式是()*&p*p p0*&a,A,第一部分 选择填空题,44.若有以下说明和语句:struct stu int no;char*name;student,*p=&student;则以下引用方法不正确的是()A.student.no B.(*p).no C.p-no D.student-no,D,第一部分 选择填空题,45.若使用一维数组名作函数实参,则以下正确的说法是()必须在主调函数中说明此数组的大小 实参数组类型与形参数组类型可以不匹配在被调函数中,不需要考虑形参数组的大小 实参数组名与形参数组名必须一致,A,第一部分 选择填空题,46.打开一个已存在非空的文件用于修改,正确的语句是()fp=fopen(file,r)fp=fopen(file,w)fp=fopen(file,w+)fp=fopen(file,r+),D,第一部分 选择填空题,47.执行fopen函数时发生错误,则函数的返回值是()地址值 0 1 EOF,B,第一部分 选择填空题,47.可作为fopen函数中第一个参数的是()c:usertext.txt c:usertext.txt c:usertext.txt c:usertext.txt,D,第一部分 选择填空题,49.函数fread(buffer,size,count,fp);其中buffer代表的是()一个整形变量,代表要读入的数据项总数 一个文件指针,指向要读入的文件一个指针,指向存放要读入的数据的地址 一个存储区,存放要读入的数据项,C,第一部分 选择填空题,50.fgets(str,n,fp)中,正确的叙述是()字符串读入后不会自动加入0 fp是file类型的指针fgets函数将从文件中最多读入n-1个字符 fgets函数将从文件中最多读入n个字符,C,第一部分 选择填空题,51.fgetc函数遇到文件末尾标志的时候,返回()0 NULL 1 EOF,D,第一部分 选择填空题,52.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的执行结果是()for(i=0;i 3;i+)printf(%d,x i 2-i);A.1 5 9 B.1 4 7C.3 5 7D.3 6 9,C,第一部分 选择填空题,53.下面程序的运行结果是()incre()static int x=0;+x;printf(“%d”,x);main()incre();incre();incre();A.0 0 0B.0 1 2C.1 1 1D.1 2 3,D,第一部分 选择填空题,incre()int x=0;+x;printf(“%d”,x);main()incre();incre();incre();A.0 0 0B.0 1 2C.1 1 1D.1 2 3,第一部分 选择填空题,54.以下程序的输出结果是()fun(int x,int y,int z)z=x*x+y*y;main()int a=31;fun(5,2,a);printf(%d,a);A.0 B.29 C.31 D.无定值,C,第一部分 选择填空题,55.以下程序的输出结果是()main()int a,b;for(a=1,b=1;a=10)break;if(b%3=1)b+=3;continue;printf(%dn,a);A.101 B.6 C.5 D.4,D,第一部分 选择填空题,56.以下程序的输出结果是()int a,b;void fun()a=100;b=200;main()int a=5,b=7;fun();printf(%d%d n,a,b);A.100200 B.57 C.200100 D.75,B,第一部分 选择填空题,57.若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是()两处的*p含义相同,都说明给指针变量p赋值 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元 语句“*p=r;”把变量r的值赋给指针变量p 语句“*p=r;”取变量r的值放回r中,D,第一部分 选择填空题,58.有以下程序段main()int i=1,sum=0,n;scanf(“%d”,&n);doi+=2;sum+=i;while(i!=n);printf(“%d”,sum);若使程序的输出值为8,则应该从键盘输入的n的值是()A.1 B.3 C.5 D.7,C,第一部分 选择填空题,59.若有以下定义及语句:struct s1char a3;int num;t=a,b,c,4,*p;p=&t;则输出值为c的语句是()。printf(“%c”,p-t.a2);printf(“%c”,(*p).a2);printf(“%c”,p-a3);printf(“%c”,(*p).t.a2);,B,第一部分 选择填空题,60.下面能正确进行字符串赋值操作的是()char s5=“ABCDE”;char s5=A,B,C,D,E;char*s;s=“ABCDE”;char*s;scanf(“%s”,s);,C,第一部分 选择填空题,61.下面程序的运行结果是()main()struct cmplxint x;int y;cnum2=1,3,2,7;printf(“%d”,cnum0.y/cnum0.x*cnum1.x);A.0 B.1 C.3 D.6,D,第二部分 程序填空,已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:#include main()int year,leap;scanf(“%d”,&year);if()leap=1;else leap=0;if()printf(“是闰年n”);else printf(“不是闰年n”);,(year%4=0&year%100!=0)|(year%400=0),leap=1,第二部分 程序填空,下面函数的功能是将两个字符串s和t连接起来,返回连接以后的字符串首地址。char*conj(char*s,char*t)char*p=s;while(*s);while(*t)*s=;s+;t+;*s=0;,s+,return p,*t,第二部分 程序填空,判断m是否是素数#include main()int m,I,k;scanf(“%d”,break,第二部分 程序填空,4计算1+1/2+1/4+1/50的值,并显示出来#include main()int i=2;float sum=1.0;while(i _)sum+=1/_;i+=2;printf(“sum=%fn”,sum);,51,(float)i,第二部分 程序填空,5下面这个程序功能:读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,不显示。读入5个数据后,程序结束运行#include main()int i,n;for(i=1;i=5;i+)printf(Please enter n:);scanf();if(n=0);printf(n=%dn“,n);printf(Program is over!n);,“%d”,&n,continue,第二部分 程序填空,6给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号#include main()int i,j,row=0,colum=0,max;static int a34=1,2,3,4,9,8,7,6,10,-10,-4,4;for(i=0;imax)max=aij;printf(“max=%d,row=%d,colum=%dn”,max,row,colum);,row=i+1,colum=j+1,max=a00,第二部分 程序填空,7从键盘输入10个整型数据,放入数组a 中,求其最大值及其所在元素的下标位置,并输出#include main()int a10,n,pos,max;for(n=0;nmax)max=an;_;printf(max=%d,pos=%dn“,max,pos);,a0,0,pos=n,第二部分 程序填空,8下面的程序是使用冒泡法对输入的10个数据从小到大排序。排好序的10个数分两行输出#include main()_;int j,k;printf(input 10 numbers please n);for(j=0;_;j+)scanf(%f“,float a10,j 10,j 9,k 9-j,ak ak+1,ak=ak+1,第二部分 程序填空,8下面的程序是使用冒泡法对输入的10个数据从小到大排序。排好序的10个数分两行输出printf(The sorted 10 numbers:n);for(j=0;_;j+)if(_)printf(n);printf(%ft,aj);printf(n);,j=5,j 10,第二部分 程序填空,9假设当年产值为100,工业产值的增长率分别为6%、8%、10%、12%时,求工业产值分别经过多少年可实现翻番。请填空完成#include main()int y4,i;float s4=100,100,100,100,c4=.06,.08,.10,.12;for(i=0;i4;i+)yi=0;while(_)si=si*(1+ci);_;printf(ny=%dts=%.2ftc=%.2f“,yi,si,ci);,yi+,si 200,第二部分 程序填空,10.华氏和摄氏温度的转换公式为:C=5/9*(F-32),其中 C表示摄氏的温度,F表示华氏的温度。要求从华氏0度到华氏300度,每隔20度输出一个华氏温度对应的摄氏温度值main()int upper,step;float fahr=0,celsius;upper=300;step=20;while(_upper)_;printf(4.0ft%6.1fn“,fahr,celsius);_;,celsius=(5.0/9.0)*(fahr 32),fahr,fahr+=step,第二部分 程序填空,11.韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。下面程序的主要功能是计算韩信至少有多少兵,第二部分 程序填空,#include main()int x=1;int find=0;for(x=1;_;x+)if(x%5=1,find=1,find!=0,第二部分 程序填空,12.由键盘输入一个班的某课程的学生成绩,计算其平均分然后输出#include#include main()int*p=NULL,n,i,sum;printf(please enter array size:);scanf(%d“,_);p=(int*)malloc(n*sizeof(int);if(p=NULL)printf(no enough memory!n);_;,&n,exit(0),第二部分 程序填空,12.由键盘输入一个班的某课程的学生成绩,计算其平均分然后输出printf(please enter the score:);for(i=0;in;i+)scanf(%d“,p+i);for(i=0;in;i+);printf(aver=%dn“,sum/n);free(p);,sum=0,sum+=pi,第二部分 程序填空,13.Fibonacci数列中的头两个数是1和1,从第三个数开始,每个数等于前两个数之和。下述程序计算此数列的前20个数,且每行输出5个数,请填空#include main()int f,f1=1,f2=1;int i;printf(“%6d,%6d”,f1,f2);for(i=3;i=20;i+)f=;printf(“%6d”,f);if()printf(“n”);f1=f2;,f1+f2,i%5=0,f2=f,第二部分 程序填空,14.编写程序,求出在100到300之间的数,它们满足条件:三位数字之积为42,三位数字之和为12,结果:237,273,第二部分 程序填空,#include#include int main()int num=0;int first=0;int second=0;int third=0;for(num=101;num 300;num+)first=num%10;second=(num%100)/10;third=num/100;if(first+second+third=12),第三部分 编写程序,1.编写一个函数,完成统计一个字符串长度的功能,函数原型如下:int strlen(const char*str).要求利用指针实现,第三部分 编写程序,int strlen(const char*str)char*cp=NULL;int length=0;cp=(char*)str;for(length=0;*cp!=0;+length)+cp;return length;,第三部分 编写程序,输入一行字符,分别统计求出其中英文字母和数字个数并输出结果 for(i=0;i=stri)numOfNum+;if(stri=a,第三部分 编写程序,3.编写一个函数Inverse,实现将字符数组中的字符串逆序存放的功能,第三部分 编写程序,void Inverse(char*str)int end=strlen(str)-1;int i;char temp;for(i=0;i end;+i)temp=stri;stri=strend;strend=temp;end-=1;,第三部分 编写程序,char*Inverse(char*str)int i,j;int length=strlen(str);char*s=(char*)malloc(length+1);for(i=length-1,j=0;i=0;i-,j+)sj=stri;return s;,第三部分 编写程序,4.有一个 3 x 4 的矩阵,找出最大值及该值所在位置,第三部分 编写程序,max=matrix00;for(i=0;i max)max=matrixij;row=i;col=j;printf(最大值为:%dn,max);printf(所在位置:%d,%dn,row+1,col+1);,第三部分 编写程序,5.请用循环语句,打印输出如下图所示的下三角形乘法九九表。12436 948 1216510 152025612 18243036714 2128354249816 243240485664918 27364554637281,第三部分 编写程序,int Multiplier=0;/乘数 int Multiplicand=0;/被乘数 for(Multiplicand=1;Multiplicand=9;Multiplicand+)for(Multiplier=1;Multiplier=Multiplicand;Multiplier+)printf(%dt,Multiplicand*Multiplier);printf(n);,第三部分 编写程序,6.编写一个程序,打印出所有的“水仙花数”。所谓的“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身,例如:153=1*1*1+5*5*5+3*3*3,int i,j,k,sum,n=100;while(n 1000)i=n/100;j=n%100/10;k=n%10;sum=pow(i,3)+pow(j,3)+pow(k,3);if(n=sum)printf(%d%d%dn,i,j,k);n+;,第三部分 编写程序,7.编写程序,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件uppercase.txt中保存,第三部分 编写程序,int main()FILE*fp=fopen(uppercase.txt,w);char str100;gets(str);convert(str);fputs(str,fp);fclose(fp);return 0;,第三部分 编写程序,void convert(char*str)while(*str!=0)if(*str=a,第三部分 编写程序,8.编程计算a+aa+aaa+aaa(n个a)的值,要求n和a由用户从键盘输入,第三部分 编写程序,int main()int a,n,i,num100=0,sum=0;scanf(%d%d,第三部分 编写程序,9.鸡兔同笼,共有98个头,386只脚,编程输出求得鸡、兔的个数,第三部分 编写程序,int main()int head=98,foot=386,rabbit=0;for(rabbit=0;rabbit head;rabbit+)int chicken=head-rabbit;if(4*rabbit+2*chicken)=foot)printf(兔子%d只,鸡%d只.n,rabbit,chicken);return 0;,第三部分 编写程序,10.规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间,第三部分 编写程序,scanf(%d,第三部分 编写程序,11.存款预算:假设银行一年整存零取的月息为1.875%,现在某人手头有一笔钱,他打算在今后5年中,每年年底取出1000元作为孩子来年的教育金,到第5年孩子毕业时刚好取完这笔钱,现在算一算第1年年初时他应存入银行多少钱?,第三部分 编写程序,int main()double saveMoney=0.0;int i;for(i=0;i YEAR;i+)saveMoney+=GET_MONEY_EVERY_YEAR;saveMoney/=pow(1.0+RATE,12);printf(第1年年初时他应存入银行%f元,saveMoney);return 0;,第三部分 编写程序,12.用循环语句,打印输出如下图所示的形状。*,第三部分 编写程序,int spaceNum,i,j;int symbolNum=1;for(spaceNum=6;spaceNum 0;spaceNum-)for(i=0;i spaceNum;i+)printf();for(j=0;j symbolNum;j+)printf(*);printf(n);symbolNum+=2;,第三部分 编写程序,13.寻找最佳存款方案:已知银行整存整取存款不同期限的年利率分别为:年利率=2.25%期限1年 年利率=2.43%期限2年年利率=2.70%期限3年 年利率=2.88%期限5年年利率=3.00%期限8年 假设银行对定期存款过期部分不支付利息,现在某人有2000元钱,要存20年,问怎样存才能使20年后得到的本利之和最多?,第三部分 编写程序,14.抓交通肇事犯:一辆卡车违反了交通规则,撞人后逃逸。现场有三人目击该事件,但都没有记住车号,只记住车号的一些特征。甲说:车号的前两位数字是相同的;乙说:车号的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:4位的车号正好是一个整数的平方。现在请根据以上线索帮助警方找出车号以便尽快破案,第三部分 编写程序,int n=32,num4,temp;while(n100)temp=n*n;num0=temp/1000;num1=temp%1000/100;num2=temp%100/10;num3=temp%10;if(num0=num1,第三部分 编写程序,15.计算礼炮声响次数:在庆祝活动中,A,B,C三条军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请问观众总共可以听到几次礼炮声呢?,第三部分 编写程序,for(i=5;i21*7;i+)if(i%5)=0),第三部分 编写程序,16.编写程序打印杨辉三角型,第三部分 编写程序,简单的说一下就是两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就是1,2,1这就是杨辉三角的其中一行,立方,四次方,运算的结果看看各项的系数 杨辉三角最本质的特征是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。,for(i=0;i=i;j-)printf(%2c,);for(j=0;j=i;j+)if(i=j|j=0)aij=1;else aij=ai-1j+ai-1j-1;printf(%3d,aij);if(i=j)printf(n);,第三部分 编写程序,利用前100项之积,编程计算的值,第三部分 编写程序,double PI=0.0;double sum=2.0;int i=0;for(i=3;i 100;i+=2)sum*=(double)(i-1)/(double)i;sum*=(double)(i+1)/(double)i;sum*=(double)(i-1)/(double)i;PI=sum*2.0;,第三部分 编写程序,