c语言程序填空题
C语言期末考试复习资料-程序填空部分试题及答案
![C语言期末考试复习资料-程序填空部分试题及答案](https://img.taocdn.com/s3/m/6043a7a2ad02de80d4d840fe.png)
【程序填空】-——-—----——--—————--—-—-——-—-——----—--—-—-——------———-——- 功能:下面的程序是求1!+3!+5!+……+n!的和。
--——------—-—--——-—----—---——----————-—-———-—-—-—-----—*/#include <stdio.h〉main(){long int f,s;int i,j,n;/***********SPACE***********/【?】;scanf("%d”,&n);/***********SPACE***********/for(i=1;i<=n;【?】){f=1;/***********SPACE***********/for(j=1; 【?】;j++)/***********SPACE***********/【?】;s=s+f;}printf(”n=%d,s=%ld\n",n,s);}/*-—--——-——-—-——---—-----—--——--—-—--—----—---—-—-—--——-—【程序填空】----—---—---—--—-—————-—————-——---—--—----————-—--—--——-—功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。
--———-—--——-—--——-——--—--———--—————-——--—--—-———--—--——*/ #include <stdio.h〉#include <conio.h〉main(){int i,n,sum;sum=0;/***********SPACE***********/【?】;/***********SPACE***********/for(i=1; 【?】;i++)/***********SPACE***********/if(【?】)if(i%2==0){sum=sum+i;n++;printf("%6d",i);/***********SPACE***********/if(【?】)printf(”\n");}printf(”\ntotal=%d”,sum);}/*———-—----———----—----—---———————--—-————----——----—---—【程序填空】——---—————-———-—————---—-—----—--——-—--—--——-—--——————-——功能:求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
C语言程序填空题加答案
![C语言程序填空题加答案](https://img.taocdn.com/s3/m/4eb5e1521711cc7931b716ca.png)
1、 下面一段程序执行后,变量s的值等于【 22 】. int a,s=0; for(a=10;a>0;a-=3)s+=a; 2、 下面一段程序的功能是计算1到100之间的整数之 和,并将结果保存到变量s中. int a=101,s=0; --a 或 a-- 或 a=a-1 while(【 】,a>0 )s=s+a; 3、 下面一段程序执行后,变量s的值等于【 10 】. int a=10,s=0; do{s=s+a,a++;}while(a<1); 4、 下面一段程序执行后,变量s的值等于【 11 】. int a,s=0; for(a=1;a<11;a++); s=s+a;
16、 若所用变量都已正确定义,以下程序段的输出结果 OK 】. 【 for(i=1;i<=5;i++); printf("OK\n"); 17、 设有以下程序段,执行程序后s的值是【 1 】. int x=0,s=0; while(!(x!=0)) s+=++x; printf("%d",s); 18、 设有以下程序段,执行程序后a的值是【 1 】. int x=0,a=0; while(!x!=0) a+=++x; printf("%d",a); break 19、 【 】语句强行结束循环,转向执行循 环语句的下一条语句.
17、 将以下语句用条件运算符改写为【max=a>b?a:b 】. if(a>b)max=a; else max=b; 18、 当a=3,b=2,c=1;时,执行以下程序段后,c的值为 【 2 】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 19、 当a=3,b=2,c=1;时,执行以下程序段后,b的值为 【 1 】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
c语言程序填空题
![c语言程序填空题](https://img.taocdn.com/s3/m/6a296014227916888486d7f8.png)
16功能:输入字符串,再输入一个字符,将字符串中与输入字符相
同的字符删除。
【1】a[i] != '\0'或a[i]或a[i]!=NULL【2】a[j]='\0'或a[j]=NULL或a[j]=0
【3】cc=getchar()或scanf("%c",&cc)【4】fun(a,cc)
12功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘
输入。
【1】str【2】str[i]!='\0'或str[i]!=NULL或str[i]!=0或str[i]
【3】str[k]=str[i]或*(str+k)=*(str+i)或str[k]=*(str+i)或*(str+k)=str[i]
39功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中
马驮2担,两匹小马驮一担,求大、中、小马各多少匹?
【1】3【2】2【3】hm【4】hl
40功能:找出数组中最大值和此元素的下标,数组元素的值由键盘
输入。
【1】a + i或&a[i]【2】p-a或-a+p【3】>【4】*s
41功能:输出两个整数中大的那个数,两个整数由键盘输入。
24功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数
变成最前面的m个数
【1】number,n,m【2】array,n,m【3】array+n-1或array + n -1【4】p-1或p -1
25功能:用冒泡法对数组a进行由小到大的排序。
C语言程序填空题-20分
![C语言程序填空题-20分](https://img.taocdn.com/s3/m/e775005f580216fc710afd5f.png)
二、程序填空题(每空2分,共20分)1.下列程序是求100之内的能被7整除的自然数之和。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>void main( ){int sum;_(1) _;for(int i=1;__(2) _; i++)if(_(3) _)sum+=i;cout<<sum<<endl;}答案:_sum=0_ i<=100_ i%7==0__2 下面程序的功能是计算x n。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>void main( ){int n,x;cin>>x>>n;double y=1;for(int i=1;__(1) _; i++)_(2) _;cout<<y<<endl;}答案:i<n_ y=x*i3 下面程序是输出100内能被3整除且个位数是6的所有整数。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>void main(){int i,j;for(i=0; (1) ;i++){j=i*10+6;if( (2) )continue;elsecout<<j<<endl;}}答案:i<10 j%3!=04.下面程序运行后输出的结果为:** * ** * * * ** * * * * * *请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>#include<iomanip.h>void main(){int i,j,k ;for(i=1 ;i<=4 ;i++){for(j=1;j<20-3*i; (1) ) cout<<”“;for(k=1; (2) ; k++)cout<<setw(3)<<”*”;(3) ;} }答案:j++ k<2*i-1 cout<<endl5.下面程序运行后输出的结果为:1121123211234321请在横线处填入适当的语句,将程序补充完整。
(完整word版)c语言填空题题库
![(完整word版)c语言填空题题库](https://img.taocdn.com/s3/m/5e4c9c24ce2f0066f433224f.png)
二, 填空题( 10 道小题,共20 分)1、一个C 源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、i nt m=5,y=2; 则表达式y+=y- =m*=y 的值为。
[-16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b ); 的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR>(<CR> 代表回车),则下面程序的运行结果是。
#include<stdio.h>main( ){ char c;while((c=getchar())! ='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return 】语句。
9、已知:float f1=3.2,f2,*pf仁&f1;f2=f1 ,则*f2 的值为。
[3.2]10 、以下程序void fun(char *a, char *b){ a=b; (*a)++; } main (){ char c1="A", c2="a", *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf( “ &cn&”c ,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“ 123 ”在内存中的字节数是。
[8 字节]12、已有定义:int x=3 ; 则表达式:x=x+1.78 的值是。
C语言程序填空题库
![C语言程序填空题库](https://img.taocdn.com/s3/m/aa5b002fbd64783e09122bfa.png)
程序填空一、程序填空共129题(共计1290分)第1题(10.0分)题号:473/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:输出1到100之间每位数的乘积大于每位数的和的数。
例如:数字26,数位上数字的乘积12大于数字之和8。
-------------------------------------------------------*/ #include <stdio.h>main(){int n,k=1,s=0,m;for(n=1;n<=100;n++){k=1;s=0;/***********SPACE***********/【?】 ;/***********SPACE***********/while( 【?】 ){k*=m%10;s+=m%10;/***********SPACE***********/【?】;}if(k>s)printf("%d ",n);}}答案:=======(答案1)=======m=n=======(答案2)=======m>00<m=======(答案3)=======m=m/10=========或=========m/=10第2题(10.0分)题号:447/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
C语言程序设计选择填空习题及答案
![C语言程序设计选择填空习题及答案](https://img.taocdn.com/s3/m/3f8bb90c43323968011c92bf.png)
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
c语言程序设计填空题15条
![c语言程序设计填空题15条](https://img.taocdn.com/s3/m/2bdf5653ae1ffc4ffe4733687e21af45b207fe71.png)
c语言程序设计填空题15条
1、以下程序的功能是利用函数求100-200间素数(质数)的个数,请在下划线处填上正确的语句,使程序能正确运行。
2、C中的转义符“\r”表示:。
3、表达式 3 | 2 的值是。
4、第i天的桃等于(第i+1天的剩的桃+
5、*2,因此有:f(i)=(f(i+
6、∗2,完毕条件是f(n)=1。
7、定义一个构造变量,共三个成员分别是字符型、整形和浮点型,则该构造体变量所占内存长度为个字节。
8、71828的宏命令是。
9、C中按位与运算符是、按位异或运算符是、按位或运算符是。
10、若a=5,经a-=3;后a=。
11、小数局部按指定位数输出,编译器会进展四舍五入处理,假如和的结果是-0.04,输出会是-0.0,而假如肯定值结果是0.05及以上,四舍五入是0.1,有了上面的条件就可以保证结果不会消失-0.0的状况了。
12、函数形参和调用的实参是数组名时,参数按方式进展传递。
13、C语言规定标识符只能由字母、和3种字符组成,且第一个字符必需为字母或。
14、输出格式:在一行中根据(x, y)的格式输出和向量,坐标输出小数点后一位(留意不能输出−0.0)。
15、已知ch=”a”,则表达式【(ch>=”A ” && ch<=”Z”)? (ch+
16、以下程序的功能是输出杨辉三角形前10行,请在下划线处填上
正确的内容,使程序能正确运行。
17、表达式21 / 4 的值为。
C语言程序填空练习题(一)
![C语言程序填空练习题(一)](https://img.taocdn.com/s3/m/f443665b7e21af45b307a832.png)
将下面的程序补充完整,以完成指定的功能。
1.输入10个整数,找出最大数。
#include <iostream>using namespace std;int main(){int k,x,max;cin>>x;max=______; // (1)for(k=2; k<=___ ; k++) { // (2)cin>>x;if (_______) max=x; // (3)}cout<<“Max=“<<max<<endl;return 0;}1.(1)x (2)10 (3)x>max2.猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子共摘了几个桃子?#include <iostream>using namespace std;int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=2*(x2+1);_____________ ; // (1)_____________ ; // (2)}cout<<"Total="<<x1<<endl;return 0;}2.(1)x2=x1 (2)day—(或day=day-1)3.求符合下列条件的四位数中最大的一个数。
条件为:它的千位数字与十位数字之和等于百位数字与个位数字之积,例如,3136,3+3=1*6 ,故3136是符合条件的一个四位数。
#include <iostream>using namespace std;int main(){int i,a,b,c,d;for( i=9999; i>=1000; i--){a= _____________; // (1)b=(i-a*1000)/100;c=(i-a*1000-b*100)/10;d=i%10;if ( _____________ ) // (2){cout<<i<<endl;_____________; // (3)}}}3.(1)i/1000 (2)a+c==b*d (3)break4.求所有的水仙花数。
c语言程序填空练习题
![c语言程序填空练习题](https://img.taocdn.com/s3/m/b205b207bf1e650e52ea551810a6f524ccbfcb1e.png)
C语言程序填空题1.阅读以下程序并填空。
以下程序的功能是:输出三位正整数中能被13整除的数#include <stdio.h>main(){ int n;for( n=100 ; n<=999 ;n++) if(n%13!=0) continue ; else printf("%d\n",n);} 2.阅读以下程序并填空。
以下程序的功能是:输出100以内能被3整除且个位数为6的所有整数 #include <stdio.h>main(){ int i,j;for(i=0; i<=9 ;i++){ j= i*10+6 ;if(j%3!=0) continue;else printf("%d\n",j);} }3.阅读以下程序并填空。
以下的程序功能是:求101至999之间所有能被13整除的整数之和和个数 #include <stdio.h>main(){ int i,cnt;float sum=0;i=101; cnt=0;while( i<=999 ){ if( i%13==0 ){ sum+=i; cnt++; } i++ ; )printf("sum=%f,cnt=%d\n”,sum,cnt);}4.阅读以下程序并填空。
该程序的功能是:用递归的方法求菲波那契数列2,2,4,6,10,16, 26,42,68,110,……的第10项 #include <stdio.h>long fib(int n){ if(n>= 3 )return fib(n-1)+fib(n-2);elsereturn 2 ; }main(){ printf("%ld\n”,fib(10)); }5.阅读以下程序并填空。
该程序的功能是:用递归法求:1 + 2 + 3 + + n#include <stdio.h> long Sum(int n) { if(n> 1 )return n+Sum(n-1); else return 1 ;)6.阅读以下程序并填空。
大学C语言程序设计(填空题)
![大学C语言程序设计(填空题)](https://img.taocdn.com/s3/m/1d73647a561252d380eb6eae.png)
C 语言程序设计习题-填空题
若 s 是 int 型变量,则表达式 s%2+(s+1)%2 的值为______。 习题 11-参考答案 1 习题 12(填空题)[知识点:数据类型] 若 a 是 int 型变量,则表达式(a=4*5,a*2),a+6 的值为______。 习题 12-参考答案 26 习题 13(填空题)[知识点:数据类型] 若 x 和 a 均是整型变量,则计算表达式 x=(a=4,6*2)后的 x 值为______。 习题 13-参考答案 12 习题 14(填空题)[知识点:数据类型] 若 x 和 a 均是整型变量,则计算表达式 x=a=4,6*2)后的 x 的值为______。 习题 14-参考答案 4 习题 15(填空题)[知识点:数据类型] 若 a、b 和 c 均是 int 型变量,则计算表达式 a=(b=4)+(c=2)后,a、b、c 的值分别为______。 习题 15-参考答案 6,4,2 习题 16(填空题)[知识点:数据类型] 若 a 是 int 型变量,且 a 的初值为 6,则计算表达式 a+=a-=a*a 后 a 的值为______。 习题 16-参考答案 -60 习题 17(填空题)[知识点:数据类型] 若 a 是 int 型变量,则计算表达式 a=25/3%3 后 a 的值为______。 习题 17-参考答案 2 习题 18(填空题)[知识点:数据类型] 若 x 和 n 均是 int 型变量,且 x 和 n 的初值均为 5,则计算表达式 x+=n++后 x、n 的值分别为______。 习题 18-参考答案 10,6 习题 19(填空题)[知识点:数据类型] 若有定义:int b=7;float a=2.5,c=4.7;则表达式 a+(int)(b/3*(int)(a+c)/2)%4 的值为______。 习题 19-参考答案 5 .5 习题 20(填空题)[知识点:数据类型] 若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y 的值为______。 习题 20-参考答案 3 .5 习题 21(填空题)[知识点:数据类型] 若有定义:char c='\010';则变量 c 中包含的字符个数为______。 习题 21-参考答案 1 习题 22(填空题)[知识点:数据类型] 若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b 的值为______。 2 / 25
c语言程序填空含答案
![c语言程序填空含答案](https://img.taocdn.com/s3/m/a9988e3fa36925c52cc58bd63186bceb19e8ed3b.png)
c语言程序填空含答案在学习C语言的过程中,掌握程序填空的技巧是非常关键的。
程序填空题目可以帮助我们加深对C语言语法和逻辑的理解,并锻炼我们的编程思维能力。
在本文中,将为大家提供一些C语言程序填空题及其答案,希望对大家的学习有所帮助。
1. 下面是一个求最大公约数的C语言程序,请填写缺失的代码。
```c#include <stdio.h>int gcd(int a, int b) {if (b == 0) {return a;} else {return gcd(b, a % b);}}int main() {int num1, num2;printf("请输入两个正整数:");scanf("%d%d", &num1, &num2);printf("最大公约数为:%d", gcd(num1, num2)); return 0;}```答案:```c#include <stdio.h>int gcd(int a, int b) {if (b == 0) {return a;} else {return gcd(b, a % b);}}int main() {int num1, num2;printf("请输入两个正整数:");scanf("%d%d", &num1, &num2);printf("最大公约数为:%d", gcd(num1, num2));return 0;}```2. 下面是一个计算平均数的C语言程序,请填写缺失的代码。
```c#include <stdio.h>double average(int arr[], int length) {int sum = 0;for (int i = 0; i < length; i++) {sum += arr[i];}return sum / length;}int main() {int numbers[] = {5, 10, 15, 20, 25};int length = sizeof(numbers) / sizeof(numbers[0]);printf("平均数为:%.2f", average(numbers, length));return 0;}答案:```c#include <stdio.h>double average(int arr[], int length) {int sum = 0;for (int i = 0; i < length; i++) {sum += arr[i];}return (double)sum / length;}int main() {int numbers[] = {5, 10, 15, 20, 25};int length = sizeof(numbers) / sizeof(numbers[0]);printf("平均数为:%.2f", average(numbers, length));return 0;}```3. 下面是一个字符串反转的C语言程序,请填写缺失的代码。
大学计算机C语言程序设计(填空题)
![大学计算机C语言程序设计(填空题)](https://img.taocdn.com/s3/m/caff0fd255270722182ef7c5.png)
一、填空共219题第1题题号:422设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】.Structstud{charnum[6];ints[4];doubleave;}a,*p;答案:1).22第2题题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for(x=0,y=0;y!=123&&x<3;x++)scanf("%d",&y);答案:1).3第3题题号:496静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的.答案:1).编译2).函数调用第4题题号:96已知a=13,b=6,a&b的十进制数值为【1】.答案:1).4第5题题号:398程序段intk=10;while(k=0)k=k-1循环体语句执行【1】次.答案:1).0第6题题号:651设w=5;w+=-2;则w的值为【1】.答案:1).3第7题题号:258下面程序段的输出结果是【1】.inta=12;a=a&0377;pritnf("%d\n",a);答案:1).12第8题题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:1).1第9题题号:402设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数是【1】.答案:1).11110000第10题题号:311若所用变量均已正确定义,则执行下面程序段后的值是【1】.for(i=0;i<2;i++)printf("YES");printf("\n");答案:1).YESYES第11题题号:663intx=2;z=++x+1;则z的值为【1】.答案:1).4第12题题号:1442设有intx=11,则表达式(x++*1/3)的值是【1】。
c语言程序填空题库及详解答案
![c语言程序填空题库及详解答案](https://img.taocdn.com/s3/m/f5d85815777f5acfa1c7aa00b52acfc788eb9f7b.png)
c语言程序填空题库及详解答案在C语言的学习过程中,程序填空题是一种常见的练习方式,它可以帮助学生加深对C语言语法和逻辑的理解。
下面是一个C语言程序填空题库的示例,包括题目和相应的详解答案。
题目一:计算圆的面积```c#include <stdio.h>#define PI 3.14159int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = PI * radius * radius;printf("圆的面积是:%.2f\n", area);return 0;}```题目二:判断闰年```c#include <stdio.h>int main() {int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d 是闰年。
\n", year);} else {printf("%d 不是闰年。
\n", year);}return 0;}```题目三:求最大公约数```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", gcd(num1, num2)); return 0;}```题目四:字符串反转```c#include <stdio.h>#include <string.h>void reverse(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverse(str);printf("反转后的字符串是:%s\n", str);return 0;}```题目五:计算阶乘```c#include <stdio.h>int factorial(int n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int num;printf("请输入一个正整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```以上题目涵盖了C语言中的一些基础概念,如循环、条件判断、函数定义和数组操作。
C语言程序设计题(程序填空)与详细解析
![C语言程序设计题(程序填空)与详细解析](https://img.taocdn.com/s3/m/c22648be8bd63186bdebbc5a.png)
C 语言程序设计题(程序填空)与详细解析请勿改动主程序main 及其他给定函数中的任何内容,仅在指定函数内的花括号中填入你编写的若干语句。
1.请编一个函数int day(int k,int m,int n),其功能是:返回小蚕需要多少天才能爬到树顶(树高k 厘米,小蚕每天白天向上爬m 厘米,每天晚上因睡觉向下滑n 厘米,爬到顶后不再下滑)(n <m <k )。
例如,若分别 输入253、71、29给 k 、m 、n ,则输出结果为:6。
include <conio.h>#include <stdio.h>#include <windows.h>int day( int k, int m, int n ) { }main(){ int k, m, n; system("cls");printf("\nPlease enter 3 numbers: ");scanf("%d %d %d", &k, &m, &n ); printf( "\nFor %d days, worm will be at the top.",day(k,m,n));}解析:在参考程序中用一个for 循环来统计天数,如果小蚕某一天白天爬到了树顶,则它就不会再往下滑。
因此我们应先判断小蚕是否是在白天爬到树顶,如果已经爬到了树顶就直接返回天数。
2.请编写函数fun ,其功能是:计算并输出下列多项式的值:S = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ... + 1/n! 例如,在主函数中从键盘给n 输入15则输出为:s=2.718282。
注意:要求n 的值大于1但不大于100。
#include <stdio.h> double fun(int n) { } main(){ int n; double s; printf("Input n: "); scanf("%d",&n); s=fun(n);printf("s=%f\n",s); }解析:本题是求多项式的和,从中可以找出规律,各项式的分子为一阶乘数,可以通过循环先求出n!,然后求其倒数,将此值赋给一个变量,然后再求此变量的累加值。
C语言考试填空题(全部答案)
![C语言考试填空题(全部答案)](https://img.taocdn.com/s3/m/3056cf1c964bcf84b9d57b1a.png)
计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ) 参考答案:{ char ch;ch=getchar();if( ) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z' printf("It is an English character\n");else if( ) ch>='0'&&ch<='9'printf("It is a digit character\n");else if( ) ch==' 'printf("It is a space character\n");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。
main(){ float score[10], temp1;int i, j;printf("Please enter score:\n");for (i=0; i<10; i++)scanf("%f",&score[i]);for (i=0; i<9; i++)for (j=i+1; j<10; j++)if (score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");for (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i, j;float temp1;for (i=0; i<n-1; i++){ for (j=i+1; j<n; j++)if ( ) score[j] > score[i]{ temp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;printf("Please enter n:");scanf("%d", &n);printf("%d! = %ld\n", n, ); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
c语言程序填空题
![c语言程序填空题](https://img.taocdn.com/s3/m/11ba0b3b767f5acfa0c7cd24.png)
程序填空题1.下述程序是一个选择排序程序,请填完整空缺部分。
Void select _sort (int p [ ], int n ){ int i, j, k, temp;for ( i =0 ;i<n-1; i ++ ){ k = i;for ( j=i+1; j<n ; j++)if ( p[j]<p[k]) k=j;if (k!=i) { temp= p[k]; p[k]=p[i];p[i]=temp;} }}main(){ int i,a[20];for (i =0; i<20; i++) scanf (“%d”,&a[i]); select_sort(a,20);for ( i = 0;i<20; i++)printf (“%d\t”,a*i+;printf (“\n”);}2.下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。
# include <stdio.h>main(){ int a, b, c , i;a = c = 0 ;for(i=0;i<=10;i+=2){ a + = i ;b=i+1;c += b ;}printf ( “偶数之和= %d \n “, a ) ;printf ( “奇数之和= %d \n “, c –11 );}3.下面程序的功能是:输出100 以内能被3 整除且个位数为6 的所有整数,请填空:main(){ int i , j ;for ( i = 0 ;i<10; i + + ){ j = i * 10 + 6 ;if ( j%3!=0) continue ;printf ( “ %d” , j ) ;}}4.程序读入20个整数,统计非负数的个数,并计算非负数之和。
#include “stdio.h”main(){ int I,a[20],s,count;____s=count=0____;for(I=0;I<20;I++)scanf(“%d”,_&a[i]__);for(I=0;I<20;I++){if(a[I]<0)continue;s+=a[I];count++}printf(“s=%d\t count=%d\n”,s,count);}5.下面的程序用以分别求出数组两条对角线上的各元素之和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序填空题
1.下述程序是一个选择排序程序,请填完整空缺部分。
Void select _sort (int p [ ], int n )
{ int i, j, k, temp;
for ( i =0 ;i<n-1; i ++ )
{ k = i;
for ( j=i+1; j<n ; j++)
if ( p[j]<p[k]) k=j;
if (k!=i) { temp= p[k]; p[k]=p[i];p[i]=temp;}
}
}
main()
{ int i,a[20];
for (i =0; i<20; i++) scanf (“%d”,&a[i]);
select_sort(a,20);
for ( i = 0;i<20; i++)
printf (“%d\t”,a[i];printf (“\n”);
}
2.下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。
# include <stdio.h>
main()
{ int a, b, c , i;
a = c = 0 ;
for(i=0;i<=10;i+=2)
{ a + = i ;
b=i+1;
c += b ;
}
printf ( “偶数之和= %d \n “, a ) ;
printf ( “奇数之和= %d \n “, c –11 );
}
3.下面程序的功能是:输出100 以内能被3 整除且个位数为6 的所有整数,请填空:
main()
{ int i , j ;
for ( i = 0 ;i<10; i + + )
{ j = i * 10 + 6 ;
if ( j%3!=0 ) continue ;
printf ( “ %d” , j ) ;
}
}
4.程序读入20个整数,统计非负数的个数,并计算非负数之和。
#include “stdio.h”
main()
{ int I,a[20],s,count;
____s=count=0____;
for(I=0;I<20;I++)
scanf(“%d”,_&a[i]__);
for(I=0;I<20;I++)
{
if(a[I]<0)
continue;
s+=a[I];
count++
}
printf(“s=%d\t count=%d\n”,s,count);
}
5.下面的程序用以分别求出数组两条对角线上的各元素之和。
#include “stdio.h”
main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int sum1,sum2,k,j;
sum1=sum2=0;
for(k=0;k<3;k++)
sum1+=a[i][i];
for(k=0;k<3;k++)
for(j=2;j>=0;j--)
if(_(i+j)==2________)
sum2+=a[k][j];
printf(“sum1=%d\tsum2=%d\n”,sum1,sum2);
}
6.已知整型数组w中的元素已经由小到大排序,函数fun用以将整数x插入到数组w中,要求插入后的数组元素依然有序。
其中n所指的存储单元中存放着数组元素的个数。
void fun(int *w, int x, int *n)
{
int k,p=0;
w[*n]=x;
while(x>w[p])
__p++____;
for(k=*n;k>p;k--)
w[k]=__w[k-1]__;
___w[p]=x____________;
++*n;
}
7.函数strlen用于确定一个给定字符串str的长度(不包括‘\0’)。
strlen(char *str)
{
int num=0;
while(*str++!=’\0’)
++num;
return(_num___);
}
8.已知第一个学生的年龄为10岁,,第二个学生年比第一个学生的年龄大2岁,……以此类推,以下程序用于计算学生年龄,请补充完整。
#include “stdio.h”
age(int n)
{
int c;
if(n= =1) c=10;
else c=__age(n-1)+2____;
return( c ) ;
}
main()
{
int n=5;
printf(“age:%d\n”,age(n));
}
9.以下是一个求字符串长度的函数的递归算法,请补充完整(不包括‘\0’)
int strlen(char * str)
{
if(*str==’\0’)
return(0);
else
return(__1+strlen(str+1)___);
10. 以下程序将用户从键盘上随机输入的30个学生的学号、姓名、数学成绩、计算机成绩及总分写入数据文件score.txt中,假设30个学生的学号从1~30连续。
输入时不必按学号顺序进行,程序自动按学号顺序将输入的数据写入文件。
请在程序中的空白处填入一条语句或一个表达式。
# include <stdio.h>
FILE *fp;
Main( )
{
struct st
{ int number;
char name[20];
float math;
float computer;
float total;
} student;
int i,j;
if( (fp=fopen(“score.txt”,”w”))==null )
{
printf(“file open error\n”);
exit(1);
}
for(i=0;i<30;i++)
{
scanf(“%d,%20s,%f,%f”,&student.number, ,&student.math,&puter);
student.total=student.math+puter;
j=student.number-1;
fseek(fp,j* sizeof(student),0);
if(fwrite(&student, sizeof(student), 1, fp)!=1)
printf(“write file error\n”);
}
fclose(fp);
}
11.下面的程序用来统计文件中字符的个数,请填空。
#include <stdio.h>
main()
{ FILE *fp;
long num=0;
if(( fp=fopen("fname.dat","r"))==NULL)
{ printf( "Can"t open file! \n"); exit(0);}
while(!feof(fp))
{ fgetc(fp); num++;}
printf("num=%d\n", num);
fclose(fp);
}
12. 【程序说明】将从键盘输入的三个整数,按从小到大的顺序输出。
【程序】
#include <stdio.h>
int main()
{
int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p;
scanf("%d%d%d", pa,pb,pc);
if(*pa>*pb)
{p=pa; pa=pb; pb=p;}
if(*pa>*pc)
{p=pa; pa=pc; pc=p;}
if(*pb>*pc)
{p=pb; pb=pc; pc=p;}
printf("%d <= %d <= %d\n", *pa,*pb,*pc); return 0;
}。