程序填空题
- 格式:doc
- 大小:70.00 KB
- 文档页数:12
【程序填空】-——-—----——--—————--—-—-——-—-——----—--—-—-——------———-——- 功能:下面的程序是求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之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
(完整版)python真题程序填空阅读填空程序试题一、程序填空1.有如下程序段:sum=0for i in range(1,20,3) :sum+=iprint(“sum=”,sum)(1)循环变量i的初值为:_________,终值为:_________,步长为:__________。
(2)该程序执行后,输出的结果为:____________________。
2.程序编写求1+22+32+……+1002的结果____________________________________________________________________________________________________________________________input(“运行完毕,请按回车键退出...”)3.完善程序。
以下是计算S=1+6+11+…+101的程序代码。
请你在处填写正确的语句。
s=0k=1while(k<=101)__s=0k=1while(k<101):k=k+5s=s+kprint(s+1)4.调试程序。
请阅读以下程序并写出运行结果。
#ex16.pyi=0sum=0while i<10:if i%3==0:sum+=iprint(i)i=i+1print('sum',sum)_________5.编写程序,找到并输出100以内的素数。
6.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,请输入以下代码,自己输入数据运行,结果截图提交7.求50以内所有5的倍数的和。
8.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)day=input("请输入年月日(格式举例:2000-01-05):")year=int(day[:4])month=_________sun=int(day[8:10])print(year,month,sun)f_run=[31,28,31,30,31,30,31,31,30,31,30,31]tall_day=0if ______:for i in range(month-1):tall_day +=f_run[i]__________else:for i in range(month-1):tall_day +=f_run[i]tall_day += sunprint(day+"是当年的第"+str(tall_day)+"天")(1)将程序横线处补充完整(2)如输入“2020-4-19”为当年的第_____天。
26.根据图中给出的窗体,填写下表中的相关内容,“x”表示该对象无此属性。
27.执行下面的程序,在窗体上显示的输出结果的第一行是(29),第二行是(30)。
Option ExplicitPrivate Sub Form_Click()Dim M As Integer, N As Integer, K As IntegerN=-3For M=6 To 1 Step NM=M+1N=N-MK=K+1Next MPrint KPrint NEnd Sub28.执行下面的程序,在窗体上显示的输出结果的第一行是(31),第三行是(32)。
Private Sub Form_Click()Dim N As Integer, I As IntegerN=3For I=9 To 1 Step -1Call Sub2(I, N)Print I, NNext IEnd SubPrivate Sub Sub2(x As Integer, Y As Integer)Static N As IntegerDim I As IntegerFor I=3 To 1 Step -1N=N+XX=X - 1Next IY=Y+NEnd Sub29.执行下面的程序后,A(1,3)的值是(33),A(2,2)的值是(34),A(3,1)的值是(35)。
Option ExplicitPrivate Sub Form_Click()Dim A(3, 3)As Integer, I AS IntegerDim J As Integer, K AS Integer, N AS IntegerN=9For K=5 To 1 Step -1If K>=3 ThenFor I=1 To 6-KA(K-3+I, I)=NN=N-1Next IElseFor I=1 To KA(K-I+1, 3-I+1)=NN=N-1Next IEnd IfNext KFor K=1 To 3For I=1 To 3Print A(K, I);Next IPrintNext KEnd Sub30.执行下面的程序,在窗体上显示的输出结果的第一行是(36)。
(完整版)java程序填空题一、程序填空题(每空3分,共30分)1.以下程序要求从键盘输入一个整数,判别该整数为几位数,并输出结果,请将下面的程序填写完整。
public class Blank1 {public static void main(String[] args) throws IOException { Scanner sc=new Scanner( (1) );int count=0,t;int x=sc.nextInt();sc.close();t=x;while(t!=0){count++;(2) ;}System.out.println(x+"是"+count+"位数。
");}}答案:(1)System.in(2)t=t/102.在下面的程序中使用方法重载分别实现了两个和三个整数的相加,请将下面的程序填写完整。
class AddOver{public (3){return a+b;}public int add( int a, int b, int c ){return a+b+c ;}}public class Blank2{public static void main(String[] args){AddOver a= (4) ;System.out.println(a.add(1,2));System.out.println(a.add(1,2,3));}}答案:(3)int add(int a,int b)(4)new AddOver()3. 构造一个类来描述一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,利用另一个点对当前点的坐标进行赋值,请将下面的程序填写完整。
class Point{int x,y;public(5) (int x, int y){this.x=x; this.y=y;}public Point getPoint(){Point temp = new Point(0,0);temp.x=x; temp.y=y;return (6);}public void setPoint( (7) ){this.x=s.x; this.y=s.y;}}public class Blank3 {public static void main(String[] args){Point a = new Point(3,4);Point b = new Point(0,0);b=a.getPoint();Point c = new Point(0,0);c.setPoint(b);}}答案:(5)Point(6)temp(7)Point s4. 下面的程序完成从D:\Hello.txt中读取文本并显示在屏幕上,请将下面的程序填写完整。
1.填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。
下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。
例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!void fun(int a[], int n)count+=a[i];average=count/n;2.填空题给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!/**********found**********/b[i]=a[0][i];/**********found**********/if(b[i]<=a[j][i])/**********found**********/fun(x, y);3.填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到student.dat文件中。
函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其他学生数据不变;若找不到,则什么都不做。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!/**********found**********/while(!feof(fp)) )/**********found**********/if(n.sno= =sno) break;/**********found**********/fseek(fp,1L*sizeof(STU), SEEK_CUR);f4.填空题请补充函数fun,该函数的功能是:统计所有小于等于x(x>2)的素数的个数,素数的个数作为函数值返回。
━━━━━━━━━━━━━━━━━━一、程序填空━━━━━━━━━━━━━━━━━━第1题/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。
-------------------------------------------------------*/#include <conio.h>#include <stdio.h>void fun (long s, long *t){long sl=10;s /= 10;/***********SPACE***********/*t = s 【?】 10;while(s>0){/***********SPACE***********/s = 【?】;/***********SPACE***********/*t = s%10*sl【?】;/***********SPACE***********/sl = sl 【?】10;}}void main(){long s,t;printf("\nPlease enter s:");scanf("%ld", &s);fun(s, &t);printf("The result is: %ld\n", t);}第2题/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:下面程序的功能是用递归法求n!。
第一套1.完成程序填空,实现求两数最小公倍数#include <>main(){int m,n,i=1;printf("input m,n:");scanf("%d,%d",&m,&n);do{/***********SPACE***********/if(【】)/***********SPACE***********/if(i%n【】)/***********SPACE***********/{ printf("%d\n",i);【】; }i++;} while(i!=0);}1)i%m==02)==03)break2.有一个已排好的数组,完成程序填空,实现要求输入一个数后,按原来排序的规律将它插入到数组中。
#include <>#define N 10int main(){int a[N+1]={-73,-67,-54,0,32,84,86,90,234,312};int num,i,left,right,mid,find=0; 能:将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D。
小写字母的转换规则同样。
#include <>main(){char c;/***********SPACE***********/while((c=【】)!='\n'){/***********SPACE***********/if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))【】;/***********SPACE***********/if((c>'Z'【】c<='Z'+4)||c>'z') c-=26;printf("%c",c);}}1)getchar()2)c+=4或c=c+4或c=4+c3)&&4.完成程序填空,输出如下数阵:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1#include<>#include<>int main(){int i,j,k;/***********SPACE***********/for (i=1;【】;i++){/***********SPACE***********/for(k=1;【】;k++)printf(" ");/***********SPACE***********/for(j=1;【】;j++)printf("%d",i-abs(i-j));printf("\n");}return 0;}1)i<=5或i<62)k<=10-i或k<11-i或k<=5-i或k<6-i3)j<=2*i-1或j<=2*i第二套1 .完成程序填空,用do-while结构实现s=1+3+5+……+99 # include<>int main(){long sum;int i,item;/***********SPACE***********/【】i=1;item=2*i-1;do{sum=sum+item;i++;/***********SPACE***********/item=【】/***********SPACE***********/}while(【】); .99=%ld\n",sum);return 0;}1)sum=0;2)2*i-1;3)item<1002在字符数组str1[81]和str2[81]中分别存放着2个字符串,完成程序填空,实现将两个字符串连接起来构成一个新的字符串,并将新生成的字符串存放在字符数组str1[81]中(要求不用strcat函数)。
一.程序阅读题1.若运行时输入100↙,写出以下程序的运行结果。
main (){int a ;scanf(“%d”,&a);printf(“%s”,(a%2!=0)?”No”:"Yes”);}答案: Yes2。
写出以下程序的运行结果.main ( ){ int a=2,b=7,c=5;switch (a>0) {case 1:switch (b<0) {case 1:printf(“@”);break ;case 2:printf(“!”);break ;}case 0:switch (c==5){case 1:pritnf(“*”) ; break ;case 2: printf(“#”);break ;default :printf(“#");break ;}default :printf(“&”);}printf(“\n”);}答案: *&3。
写出下面程序运行的结果。
main ( ){ int i,b,k=0 ;for (i=1; i〈=5 ;i++){b=i%2;while (b——==0)k++ ;}printf(“%d,%d”,k,b);}答案:2 04.写出下面程序运行的结果。
main (){ int k=1,n=263 ;do { k*= n%10 ; n/=10 ;} while (n);printf(“%d\n",k);}答案:365.写出下面程序运行的结果。
main (){int a=10,y=0 ;do {a+=2 ; y+=a ;if (y〉50)break ;} while (a=14) ;printf(“a=%d y=%d\n",a,y) ;}答案:a=16 y=60数组部分:1。
写出下面程序的运行结果.main ()答案:{int a[6][6],i,j ;for (i=1; i<6 ; i++)for (j=1 ;j<6 ; j++)a[i][j]=(i/j)*(j/i);for (i=1;i〈6 ;i++) {for (j=1 ; j〈6 ; j++)printf(“%2d",a[i][j]) ;printf(“\n");}}2。
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.阅读以下程序并填空。
程序填空/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:当输入“2,5”的时候输出为“2 5 5”-------------------------------------------------------*/#include <stdio.h>#define max 100main(){int f[max],i,j,k,m;scanf("%d,%d",&k,&m);/***********SPACE***********/for(i=0;i<=【m】;i++)f[i]=0;/***********SPACE***********/f[【k-1】]=1;for(i=k;i<=m;i++)/***********SPACE***********/for(j=i-k;j<=i-1;j++)f[i]【+=】f[j];printf("%d%10d%10d\n",k,m,f[m]);}/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- 题目:以下程序是实现输出 x,y,z 三个数中的最大者。
-------------------------------------------------------*/ #include<stdio.h>main(){int x = 4, y = 6,z = 7;/***********SPACE***********/int u ,【v】;if(x>y)/***********SPACE***********/【u=x】;else u = y;if(u>z)v = u;elsev=z;printf("the max is %d",v );}/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。
试卷(完整版)python真题程序填空阅读填空程序试题一、程序填空1.操作说明:打开文件“Y:/2/2.py”,在代码窗口指定位置<1>、<2>处修改完善程序代码,不得增加、删除语句或改变程序原有结构,操作结束后保存。
以下程序段的功能是:输入一个正整数n(1至100),输出它的约数的个数。
s=0n=int(input(“请输入一个正整数:”))if n<1 or n>100:exit #输入的数不符合要求,退出for i in range(1,n+1):if n//i=0:___<1>s=s+i <2>print(“约数的个数是:”,s)2.程序补充:(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?调用round ()函数,保留结果两位小数。
money =_______________________________rate=_________________________________for_______________________________________________________________________print(“5年以后存款总额:”,money,“元”)(2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。
每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。
在收益率不变的情况下,多少年后本金被全部取出?money= ________________________________year= __________________________________while __________________________________________________________________________________________________print(year,“年后资金被全部取出”)3.阅读程序。
java复习题(程序填空)程序填空题:1.public class Sum{public static void main(String [] args){int j=10;System.out.println("j is : "+j);calculate(j);System.out.println("At last, j is : "+j);}static void calculate (int j){for (int i = 0;i<10;i++)j++;System.out.println("j in calculate() is: "+j);}}输出结果为:j is : (1)j in calculate() is : (2)At last j is : (3)答案:(1)10 (2)20 (3) 102.按要求填空abstract class SuperAbstract{void a(){…}abstract void b();abstract int c(int i);} interface AsSuper{void x();}abstract class SubAbstract extends SuperAbstractimplements AsSuper {public void b(){…}abstract String f();}public class InheritAbstract extends SubAbstract{public void x(){…}public i nt c(int i ) {…}public String f(){…}public static void main(String args[]){InheritAbstract instance=new InheritAbstract();instance.x();instance.a();instance.b();instance.c(100);System.out.println(instance.f());}}在以上这段程序中:抽象类有:SuperAbstract和(1)(写出类名)非抽象类有:(2)(写出类名)接口有:(3)(写出接口名)AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)答案:(1) SuperAbstract;(2) InheritAbstract;(3) AsSuper;(4) 抽象抽象抽象抽象;(5) 覆盖和实现覆盖和实现覆盖和实现覆盖和实现。
计算机程序设计基础(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.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
【程序填空】功能:已定义一个含有30个元素的数组s,函数funl的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值,并将该值存放在数组w中。
----------------------------------------------------- */ #include <stdio.h>long int s[30];float w[6];fun1(long int s[]){int k,i;for(k=2,i=0;i<30;i++){/**********FILL**********/k+=2;}}fun2(long int s[],float w[]){float sum=0.0;int k,i;for(k=0,i=0;i<30;i++){sum+=s[i];/**********FILL**********/{w[k]=sum/5;/**********FILL**********/ k++;}}}main(){int i;fun1(s);/**********FILL**********/____ ;for(i=0;i<30;i++) {if(i%5==0) printf("\n");printf("%8.2f”,s[i]);}printf(〃\n〃);for(i=0;i<6;i++)printf(〃%8.2f〃,w[i]);}参考答案:S[i]=k;If((i+1) %5==0)sum=0.0;fun2(s,w);【程序填空】功能:下面的程序是求1!+3!+5! +……+n!的和。
-------------------------------------------------------- */ #include <stdio.h>main()(long int f,s;int i,j,n;/**********FILL**********/scanf(〃%d〃,&n);/**********FILL**********/for(i=1;i<=n; )(f=1;/**********FILL**********/for(j=1;;j++)/**********FILL**********/s=s+f;)printf(〃n=%d,s=%ld\n〃,n,s);)参考答案:s=0;i=i+2j<=i f=f*j;【程序填空】功能:以下程序是用选择法对10个整数按升序排序。
石家庄学院2020-2021学年一学期课程考试试卷答案(A卷)课程名称:C语言考试时间:120分钟年级:xxx级专业:xxx题目部分,(卷面共有27题,27分,各大题标有题量和总分)一、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求(27小题,共27分)1、(模拟试题1 中)韩信点兵。
韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。
下面程序的主要功能是计算韩信至少有多少兵。
#include <stdio.h>main(){int x = 1;int find = 0;for (x=1; ________; x++){if (x%5==1 && x%6==5 && x%7==4 && x%11==10){printf(" x = %d\n", x);____________;}}}答案:!flag、flag=12、(模拟试题1 中)下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能。
unsigned int MyStrlen(char str[]){unsigned int len = 0, i;for (i=0; str[i]!=______; i++){len _______ ;}return len;}答案:++、'\0'3、(模拟试题1 中)下面这个程序用于读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,不显示。
读入5个数据后,程序结束运行。
#include <stdio.h>main(){int i, n;for (i=1; i<=5; i++){printf("Please enter n:"); scanf("%d", &n);if (n <= 0) _____________;printf("n = %d\n", n);}printf("Program is over!\n");}答案:continue4、(模拟试题2 易)下面函数实现strcmp的功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符的ASCII码值之差作为函数值返回。
一、程序填空题1.下列给定程序中,函数fun的功能是计算如下公式S=322−542+762−⋯−1n−12×n+12×n2直到2×n+12×n≤10−3,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
#include <stdio.h>double fun(double e){ int i, k; double s, t, x; s=0; k=1; i=2;x=_1_/4;while(x _2_ e){ s=s+k*x;k=k* (-1);t=2*i;x=_3_/(t*t);i++;}return s;}main(){ double e=1e-3;printf("\nThe result is: %f\n",fun(e)); }【参考答案】(1) 3.0或(double)3 (2) > (3) (t+1)分析:本题考查基本算术运算时的类型转换。
填空1:变量x定义为double类型,而运算符"/"后面是整型数,所以给x赋值时,需要注意数据类型,此处不能将3.0写成3。
填空2:while循环语句的循环条件,根据题意确定循环变量应大于1e-3,因此此处应填">"。
填空3:表达式的通项是(2*i+1)/(2*i)2 ,由于程序中已定义t=2*i,所以此处应该填写(t+1)。
注意:本题填空1还可以运用强制类型转换来实现。
强制类型转换是通过类型转换运算来实现的。
其一般形式为:"(类型说明符) (表达式)"。
其功能是:把表达式的运算结果强制转换成类型说明符所表示的类型。
例如:(float) a 把a转换为实型(int)(x+y) 把x+y的结果转换为整型2.下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。
1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。
#include "stdio.h"main( ){ FILE *fp;char ch,filename[10];scanf("%s",filename); /*用户输入存在磁盘上的文件名*/if((fp= ⑦(filename,"w"))==NULL){ printf("cannot open file\n");exit(0);}while((ch=getchar())!='#')⑧;fclose(fp);}2.下列程序的功能是输出一个整数x的绝对值。
将程序补充完整,填在空内。
#include <stdio.h>main(){ int x, ①;scanf("%d",&x);y= ②;printf("%d\n",y);}3.下列程序的功能是输出1~100之间能被7整除的所有整数。
将程序补充完整,填在空内。
main(){ int i;for(i=1; ③;i++){ if(i%7) ④;printf("%d ",i);}}4.以下程序用以删除字符串中所有的空格,请填空。
main(){ char s[100]={"Our teacher teach C language!"};int i,j;for(i=j=0;s[i]!= '\0';i++)if(s[i]!= ' ') { ⑤;j++;}s[j]= ⑥;printf("%s\n",s);}5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。
struct man{ char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}};void fun( ⑦person[ ] ){ int i,old=0;for(i=0;i<2;i ++)if(person[old].age<person[i].age) ⑧;printf("%s %d", person[old].name, person[old].age);}6.程序实现当输入的字符为小写字母时,输出对应的大写字母。
#include "stdio.h"main(){ char ch1,ch2;printf("请输入一个小写字符:");scanf("%c", &ch1);if( ①){ ch2 = ch1- ②;printf("%c",ch2);}elseprintf("输入出错!");}7.求1!+2!+3!+…+10!。
将程序补充完整,填在空内。
#include <stdio.h>main(){ float s=0,t=1;int n;for(n=1; ③;n++){ t*=n;④;}printf("1!+2!+3!+...+10!=%.0f",s);}8.下面的程序是使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
#include "stdio.h"main(){ i nt inverse(char str[]);char str[100];printf("Input String:");scanf("%s", str);⑤;printf("Inverse string:%s", str);}int inverse(char str[]){ c har t;int i,j;for(i=0, j=strlen(str); ⑥; i++,j--){ t = str[i]; str[i] = str[j-1]; str[j-1]=t;}}9.下列程序的功能是实现两个变量x和y的值的交换。
main(){ int ①=10,y=20;x+=y;y=x-y;②;printf("\n%d,%d",x,y);}10.下面程序的功能是输出两个字符串中对应相等的字符。
#include <stdio.h>main(){int i=0;char x[]="programming";char y[]="Fortran";while(③){if(x[i]==y[i])putchar(x[i]) ;④ ;}}11.以下函数用来在w数组中插入x。
n所指向的存储单元中存放w数组中字符个数。
数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。
void fun(char *w,char x,int *n){ int i,p;p=0;w[*n]=x;while(x>w[p]) p++;for(i=*n-1;i>=p;i--) ⑤;w[p]=x;}12.以下程序用来判断指定文本文件“test.txt”是否能正常打开,请填空#include <stdio.h>main( ){ ⑦fp;if ((fp=fopen(" test.txt ", " r "))== ⑧)printf("未能打开文件!\n ");elseprintf("文件打开成功!\n ");fclose(fp);}13.以下程序的功能是计算:s=1+12+123+1234+12345。
请填空。
main(){ int t=0, ①,i;for( i=1; i<=5; i++){ t=i+ ②; s=s+t; }printf("s=%d\n",s);}14.下面程序的功能是输出以下形式的金字塔图案,请填空。
****************main( ){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<= ③;j++) printf(“”);for(j=1;j<= ④;j++) printf(“*”);printf(“\n”);}}15.函数fun的功能是将s所指字符串中的所有非数字字符移到所有数字字符之后,并保持数字字符和非数字字符原有的先后次序。
#include <stdio.h>void fun(char *s){ int i,j=0,k=0;char t1[80],t2[80];for(i=0;s[i]!='\0';i++)if(s[i]>='0'&&s[i]<='9'){ t1[j]=s[i];j++; }else{ ⑤; k++;}t2[k++]= '\0';for(i=0;i<j;i++) s[i]=t1[i] ;for(i=0;i<k;i++) s[i+j]= ⑥;}16.下列程序从一个二进制文件中读取结构体数据,并把读出的数据显示在屏幕上。
#include "stdio.h"struct rec{ int a;float b;};main(){ FILE *fp; struct rec r;if((fp= ⑦("file.dat","rb"))==NULL){printf("No find the file!");exit(0);}do{ fread( &r ,sizeof(struct rec),1 ,fp);if(feof(fp) ) ⑧;printf("%d,%f",r.a,r.b);}while(1);fclose(fp);}17.以下程序用来输出字符串"china"的长度,请填空。
#include " ①"#include "stdio.h"main(){ char a[]="china";printf("%d \n", ②);}18.下列程序的功能是把输入的十进制长整型数以十六进制数的形式输出。
main(){ char b[]="0123456789ABCDEF";int c[64],d,i=0,base=16;long n;scanf("%ld",&n);do{ c[i]= ③;i++;n= ④;}while(n!=0);for(--i;i>=0;--i){ d=c[i];printf("%c",b[d]);}}19.下列程序的功能是将数组a的元素按行求和并存储到数组s中。
main(){ int a[3][4],s[3]={0};int i,j;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d", ⑤);for(i=0;i<3;i++){ for(j=0;j<4;j++)⑥ ;printf("%d\n",s[i]);}}20.以下函数把b 字符串连接到a 字符串的后面,并返回a 中新串的长度。
int strcat(char a[],char b[]){ int num=0,n=0;while( ⑦ ) num++;while(b[n]!= '\0'){ ⑧ ; num++; n++;}a[num]='\0';return(num);}21.以下程序的功能是:输出a 、b 、c 三个变量中的最小值,请填空。
main(){ int a,b,c,t1, ① ;scanf("%d%d%d",&a,&b,&c);t1=a<b?a:b;t2= ② ;printf("%d\n",t2);}22.根据以下函数关系,对输入的x 值,计算出相应的y 值,设x 和y 都是整数。
将程序补充完整,填在空内。