程序填空题
- 格式:doc
- 大小:430.00 KB
- 文档页数:55
(完整版)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”为当年的第_____天。
计算机程序设计基础(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.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
(完整版)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中读取文本并显示在屏幕上,请将下面的程序填写完整。
python程序填空题Python程序相关的填空题1. Python基础知识数据类型1.Python中的整数类型是____。
–答案:int–解析:Python中的整数类型为int,可以表示正整数、负整数和零。
2.使用____函数可以将字符串转换为整数。
–答案:int–解析:int函数可以将字符串转换为整数,例如int(“123”)的结果为整数123。
3.列表是Python中常用的____类型。
–答案:序列–解析:列表是Python中的一种序列类型,可以存储多个元素,并且可以通过索引访问元素。
控制流程1.在Python中,用于条件判断的关键字是____。
–答案:if–解析:if关键字用于条件判断,根据判断条件的结果来执行相应的代码块。
2.在Python中,用于循环的关键字是____。
–答案:for、while–解析:Python中可以使用for循环和while循环进行循环操作。
函数和模块1.使用____关键字定义函数。
–答案:def–解析:def关键字用于定义函数,后面跟着函数名和参数列表。
2.使用____关键字导入模块。
–答案:import–解析:import关键字用于导入其他的Python模块,通过导入模块可以使用模块中定义的函数和变量。
2. Python标准库math模块1.使用math模块的____函数可以计算正弦值。
–答案:sin–解析:math模块提供了一系列的数学函数,其中sin函数用于计算正弦值。
2.使用math模块的____函数可以计算一个数的平方根。
–答案:sqrt–解析:math模块中的sqrt函数可以计算一个数的平方根。
random模块1.使用random模块的____函数可以生成一个指定范围内的随机整数。
–答案:randint–解析:random模块中的randint函数可以生成一个指定范围内的随机整数。
2.使用random模块的____函数可以从指定序列中随机选择一个元素。
程序填空一、程序填空共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为止。
一、程序填空共15题第1题本程序的功能是将某个十进制数转换成一个8位的二进制数, 请完善本程序, 如110-> 01101110,1->00000001。
Private Sub command1_click()Dim n As Integer ,b As Integer, i As Integer, s As Stringn=110Do While n > 0b = n Mod 2n = n \ 2'**********SPACE**********【?】LoopFor i = 1 To 8 - Len(s)'**********SPACE**********s =【?】Next iPrint n & ″的二进制为″& sEnd Sub答案:=======(答案1)=======s= b & s=========或=========s= cstr(b) & s=========或=========s= str(b) & s=======(答案2)======="0" & s=========或=========string(1,"0") & s第2题(10.0分)'下面程序的功能是求序列:1/2,2/3,3/5,5/8,8/13,13/21,……前若干项的和,'项数由文本框输入。
试完善程序使其达到功能要求。
Option ExplicitPrivate Sub Command1_Click()Dim n As Integer, a1 As Integer, a2 As IntegerDim i As Integer, t As Single, s As Singlen = Val(Text1.Text)a1 = 1a2 = 2For i = 1 To n'**********SPACE**********【?】s = s + ta2 = a1 + a2'**********SPACE**********【?】Next iText2 = sEnd Sub答案:=======(答案1)=======t = a1 / a2=======(答案2)=======a1 = a2 - a1第3题'下面是一个求函数f(x)值的程序。
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语言的过程中,掌握程序填空的技巧是非常关键的。
程序填空题目可以帮助我们加深对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语言程序,请填写缺失的代码。
3.下列程序计算1000以内能被3整除的自然数之和,请完成程序。
#include <iostream.h>void main(){int x=1, sum;[1]while(1){if( [2] )break;if( [3] )sum+=x;x++;}cout<<sum<<endl;}1. [1] #include <math.h> [2] break; [3] j>temp2. [1] a<b [2] i++ [3] i*a3.[1] sum=0; [2]x>1000 [3]x%3==0四、程序填空题1. 下面的函数fun未使用中间变量实现对两个数的交换,请完成下列函数的定义。
void fun(int &x, int &y){x+=y;y= [1] ;[2] ;}2.下面的函数bubble()是对整数数组a按升序排序的冒泡算法,其中,参数a存储将被排序的数据,size是数组a中存储的元素数目,请完成该函数。
void bubble(int a[], int size){[1] ;for(int p=1; [2] ; p++)for(int i=0; [3] ; i++)if(a[i]>a[i+1]){temp=a[i];[4] ;[5] ;}}3. 下面的函数Sort()用于对整数数组array按升序排序的选择排序算法,其中参数n表示array数组中存储的数组元素数。
例如,假设数组array中有10个元素,选择排序就是:先将10个数中的最小数与a[0]对换;再将a[1]到a[9]中的最小数与a[1]对换,….,直到排序完成。
请完成该函数。
void Sort( int array[], int n){int k;[1] ;for(int i=0; i<n-1; i++){[2] ;for(int j= [3] ; j<n; j++)if(array[j]<array[k])k=j;t=array[k];[4] ;[5] ;}}4. 以下程序的功能是求三角函数sinx的近似值,其计算精度为0.000001。
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语言中的一些基础概念,如循环、条件判断、函数定义和数组操作。
(完整版)python真题word程序填空阅读填空程序试题一、程序填空1.小敏有10万元本金,想要购买银行保证收益型理财产品。
每年到期后连本带利仍购买此种理财。
请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。
(例如输人:5.15%,输出:14年后收益超过本金。
)1 s=input("请输入年利率:")2 rate=float(s[:-1])*0.013 money=1000004 year=05 while money<=200000:6 money=round(),2)7 year=year+18 print(year,"年后收益超过本金。
”)(1)程序第6行下划线处应填入___________。
(2)程序第2行的作用是____________,并赋值给变量 rate。
(3)该程序主要是通过while实现____________结构。
2.编写程序,找到并输出100以内的素数。
3.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,请输入以下代码,自己输入数据运行,结果截图提交4.利用for循环,分别计算1--100中奇数的和、偶数的和。
5.编写程序,找到并输出100以内的偶数个数。
6.编写一个程序,判定用户输入的两个数 a和 b,如果用户输入的第一个数大,则两数互换,否则原样输出。
7.求1~100内奇数之和(使用range函数)8.操作说明:编写一个程序实现以下功能,将程序以“Y:/3/3.py”作为文件名保存。
题目:设计100以内的数中能同时被3或5整除的个数。
9.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:def gcd (m,n):r=while r!=0:m=nn=returna=int(input(‘请输入a的值:’))b=int(input(‘请输入b的值:’))print(‘最大公约数是:' )填空:________ ________ ________ ________ ________10.地球绕太阳的运行周期为365天5小时48分46秒(合365.24219天),即一回归年。
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) 覆盖和实现覆盖和实现覆盖和实现覆盖和实现。
程序阅读及填空(标准答案)⼀.程序阅读题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.写出下⾯程序运⾏的结果。
{ 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.写出下⾯程序的运⾏结果。
(完整版)Python题库优质程序填空阅读填空程序试题一、程序填空1.完善程序实现以下功能并保存。
输入一元二次方程的系数a,b,c的值,求解一元二次方程 ax2+bx+c=0(a≠0)#请不要更改源程序的结构,删除原题里的①、②。
填写正确的代码,使程序完善import matha=float(input("请输入方程系数a(!=0):"))b=float(input("请输入方程系数b:"))c=float(input("请输入方程系数c:"))delta=b*b-4*a*cif delta>________:x1=(-b+math.sqrt(delta))/(2*a)x2=(-b-math.sqrt(delta))/(2*a)print("方程有两个不同的解",x1,x2)elif delta==0:x1=________print("方程有两个相同的解",x1)else:print("方程无解")input("运行完毕,请按回车键退出...")2.请在空格处填写正确的代码,使程序完善。
实现功能:绘制y=x2-2x+ 1的图像#加载numpy模块并限简洁的别名为npimport numpy as np#加载matplotlib.pyplot模块并限简洁的别名为pltimport matplotlib.pyplot as plt#x在-7到9之间,每隔0.1取一个点x=np.arange(-7,9,0.1)_____ = x**2-2*x+1plt.plot(x,________)plt.title('y=x*x-2*x+1')plt.xlabel('x')plt.ylabel('y')plt._________3.阅读程序。
【程序填空】功能:已定义一个含有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个整数按升序排序。
程序填空题1.给定程序中,函数fun 的功能是:求出形参ss 所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。
字符串数组中共有M 个字符串,且串长<N 。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C 中。
#define M 5 #define N 20 void fun(char (*ss)[N]) { int i, j, k=0, n, m, len; for(i=0; i<M; i++) { len=strlen(ss[i]); if(i==0) n=len; if(len>n) { /**********found**********/ n=len; ___kk ___=i;} } //kk for(i=0; i<M; i++) if (i!=k) { m=n; len=strlen(ss[i]); /**********found**********/ for(j=___len ___; j>=0; j--) //len ss[i][m--]=ss[i][j]; for(j=0; j<n-len; j++) /**********found**********/ __ss[i][j]___='*'; }} //ss[i]][j] main(){char ss[M][N]={"shanghai", "guangzhou","beijing","tianjing"," cchongqing"}; int i; printf("The original strings are :\n"); for(i=0; i<M; i++) printf("%s\n",ss[i]);printf("\n"); fun(ss);printf("\nThe result:\n"); for(i=0; i<M; i++) printf("%s\n",ss[i]);} 2. 给定程序中,函数fun 的功能是:求ss 所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指变量中。
ss 所指字符串数组中共有M 个字符串,且串长<N 。
#define M 5 #define N 20/**********found**********/ int fun(char (*ss) ___[N]___, int *n) //[N] { int i, k=0, len=0; for(i=0; i<M; i++) { len=strlen(ss[i]); /**********found**********/ if(i==0) *n=___len ___; //len if(len>*n) { /**********found**********/ ___n=len ___; //*n=len k=i; } } return(k);} main() { char ss[M][N]={"shanghai", "guangzhou","beijing","tianjing"," cchongqing"}; int n,k,i;printf("\nThe string are :\n"); for(i=0;i<M;i++)puts(ss[i]); k=fun(ss,&n);printf("\nThe leng longest string is : %d\n",n); printf("\nThe longest string is : %s\n",ss[k]);}3.函数fun 的功能是:把形参a 所指数组中最大值放在a[0]中,接着求出a 所指数组中最小值放在a[1]中;再把a 所指数组元素中的次大值放在a[2]中,把a 数组元素中次小值放在a[3]中;其余依次类推。
例如:若a 所指数组中的数组最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、1、8、2、7、3、6、4、5.形参n 中存放a 所指数组中数据的个数。
#define N 9 /**********found**********/ void fun(int ___a ___, int n) //*a { int i, j, max, min, px, pn, t; /**********found**********/ for (i=0; i<n-1; i+=___2___) //2 { max = min = a[i]; px = pn = i; /**********found**********/ for (j=___i+1___; j<n; j++) //i+1 { if (max < a[j]) { max = a[j]; px = j; } if (min > a[j]) { min = a[j]; pn = j; }} if (px != i) { t = a[i]; a[i] = max; a[px] = t; if (pn == i) pn= px; } if (pn != i+1) { t = a[i+1]; a[i+1] = min; a[pn] = t; }}} main() { int b[N]={1,4,2,3,9,6,5,8,7}, i;printf("\nThe original data :\n");for (i=0; i<N; i++) printf("%4d ", b[i]); printf("\n");fun(b, N); printf("\nThe data after moving :\n"); for (i=0; i<N; i++)printf("%4d ", b[i]); printf("\n");} 4. (7)给定程序的功能是:调用函数fun 将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。
在复制过程中,把复制的内容输出到终端屏幕.主函数中源文件中入在变量sfname k ,目标文件名放在变量tfname 中。
int fun(char *source, char *target) { FILE *fs,*ft; char ch; /**********found**********/ if((fs=fopen(source, ___r ___))==NULL) //”r ’ return 0; if((ft=fopen(target, "w"))==NULL) return 0; printf("\nThe data in file :\n"); ch=fgetc(fs); /**********found**********/ while(!feof(___fs __)) // fs { putchar( ch );/**********found**********/fputc(ch,___ft___); //ftch=fgetc(fs); }fclose(fs); fclose(ft);printf("\n\n"); return 1;}main(){char sfname[20] ="myfile1",tfname[20]="myfile2";FILE *myf; int i; char c;myf=fopen(sfname,"w");printf("\nThe original data :\n");for(i=1; i<30; i++){c='A'+rand()%25;fprintf(myf,"%c",c);printf("%c",c); }fclose(myf);printf("\n\n");if (fun(sfname, tfname))printf("Succeed!");else printf("Fail!");}5. 用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所表倍数;依次类推,直到所找的下一个数等于n为止。
这样会得一个序列:2,3,5,7,11,13,17,19,23……函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
int fun(int n){ int a[10000], i,j, count=0;for (i=2; i<=n; i++) a[i] = i;i = 2; while (i<n) {/**********found**********/for (j=a[i]*2; j<=n; j+=___a[i] ___)a[j] = 0; i++;/**********found**********/while (___a[i]___==0)i++; }printf("The prime num between 2 to %d\n", n); for (i=2; i<=n; i++)/**********found**********/if (a[i]!=___0___){count++;printf( count%15?"%5d":"\n%5d",a[i]);}return count;}main(){ int n=20, r;r = fun(n);printf("\nThe number of prime is : %d\n", r);} 第一空:a[i] 第二空:a[i] 第三空06.函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。