文档库 最新最全的文档下载
当前位置:文档库 › 函数与编译预处理的实验操作

函数与编译预处理的实验操作

函数与编译预处理的实验操作
函数与编译预处理的实验操作

函数与编译预处理的实验操作

实验目的:了解函数的定义,掌握函数的调用和参数的传递及预编译命令实验要求:熟练掌握函数的调用及参数的传递

实验内容:1.在VC++下输入以下函数

#include

int fact(int n)

{

int j,f=1;

for(j=1;j<=n;j++)

f=f*j;

return f;

}

void main()

{

int k’sum=0;

for(k=1;k<=5;k++)

sum=sum+fact(k);

printf(“sum=%d\n”,sum);

}

#include

int max(int x,int y)

{

return x>y?x:y;

}

void main()

{

int a,b,c,m;

printf(“请输入三个整数:\n”);

scanf(“%d%d%d”,&a&b&c);

m=max(c,max(a,b));

printf(“m=%d\n”,m);

}

#include

#include

int prime(int x)

{

int i,r=1;

for(i=2;i<=sqrt(x);i++)

if(x%i==0)

{

r=0;break;

}

return r;

}

void output(int x,int n)

{

printf(“%6d”,x);

if(n%5==0) printf(“\n”);

}

void main()

{

int m,n=0;

for(m=2;m<=50;m++)

if(prime(m))

{

n++;

output(m,n);

}

}

#include

double fac(int n)

{

double f;

if(n<0) printf(“n<0,input error!”) else if(n==0||n==1)f=1;

else f=fac(n-1)*n;

return(n);

}

void main()

{

int n;

printf(“\ninput a inteager number:”); scanf(“%d”,&n);

printf(“%d!=%.1f\n”,n,fac(n));

}

#include

int ged (int m,int n)

{

int g;

if(n==0)

g=m;

else

g=ged(n,m%n);

return(g)

}

void main()

{

int m,n;

printf(“请输入两个整数:”);

scanf(“%d%d”,&m&n);

printf(“gcd=%d\n”,gcd(m,n));

}

#include

int divisor(int a,int b)

{

int r;

while((r=a%b)!=0)

{

a=b;b=r;

}

return b;

}

int multiple(int a,int b)

{

int d;

d=divisor(a,b);

return a*b/d;

}

void main()

{

int a,b,c;

printf(“请输入两个整数a,b:\n”);

scanf(“%d%d”,&a&b);

c=multiple(a,b);

printf(“最小公倍数=%d\n”,c);

}

2.保存程序并编译,当窗口显示无错误时,选择执行程序

3.关闭程序工作区

实验结果:

实验分析:

函数与编译预处理的实验操作

函数与编译预处理的实验操作 实验目的:了解函数的定义,掌握函数的调用和参数的传递及预编译命令实验要求:熟练掌握函数的调用及参数的传递 实验内容:1.在VC++下输入以下函数 #include int fact(int n) { int j,f=1; for(j=1;j<=n;j++) f=f*j; return f; } void main() { int k’sum=0; for(k=1;k<=5;k++) sum=sum+fact(k); printf(“sum=%d\n”,sum); } #include int max(int x,int y) { return x>y?x:y; } void main() { int a,b,c,m; printf(“请输入三个整数:\n”); scanf(“%d%d%d”,&a&b&c); m=max(c,max(a,b)); printf(“m=%d\n”,m); } #include #include int prime(int x) { int i,r=1; for(i=2;i<=sqrt(x);i++) if(x%i==0) { r=0;break;

} return r; } void output(int x,int n) { printf(“%6d”,x); if(n%5==0) printf(“\n”); } void main() { int m,n=0; for(m=2;m<=50;m++) if(prime(m)) { n++; output(m,n); } } #include double fac(int n) { double f; if(n<0) printf(“n<0,input error!”) else if(n==0||n==1)f=1; else f=fac(n-1)*n; return(n); } void main() { int n; printf(“\ninput a inteager number:”); scanf(“%d”,&n); printf(“%d!=%.1f\n”,n,fac(n)); } #include int ged (int m,int n) { int g; if(n==0) g=m; else g=ged(n,m%n);

实验五 函数与编译预处理(题目)

实验五函数与编译预处理 一、实验目的及要求 1.掌握函数定义的方法; 2.掌握函数实参与形参的对应关系以及“值传递”的方式; 3.掌握函数的嵌调用和递归调用的方法; 4.掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。 5.学习对多文件程序的编译和运行。 二、实验学时 4学时 三、实验任务 1.阅读c60101.c程序,通过调试该程序,熟悉函数的调用方法及单步跟踪键F7和F8 的不同。 #include void main() { void fun(inti, int j, int k); intx,y,z; x=y=z=6; fun(x,y,z); printf("%x=%d;y=%d;z=%d\n",x,y,z); } void fun(inti, int j, int k) { int t; t=(i+j+k)*2; printf("t=%d\n",t); } 2.阅读c60102.c程序,注意在调试时F11和F10的区别,还要注意函数调用过程中形 参、实参的关系。 #include void main() { int x=10,y=20; void swap (int ,int); printf("(1)in main :x=%d,y=%d\n",x,y); swap(x,y); printf("(4)in main :x=%d,y=%d\n",x,y); } void swap (intm,int n) { int temp; printf("(2)in main :m=%d,n=%d\n",m,n); temp=m;m=n;n=temp; printf("(3)in main :m=%d,n=%d\n",m,n); } 把用户自定义函数swap()中的形式参数m和n对应改成x和y,使其与实参变量同名,再用F7跟踪程序的运行,看看有什么变化。

实验六 函数与编译预处理

实验六函数与编译预处理

实验六函数与编译预处理 1. void main() { float a,b,c; scanf("%f%f",&a,&b); c=add(a,b); printf("sum is %f\n",c); } float add(float x,float y) { float z; z=x+y; return(z); } //错误的地方,(1)没有包含头文件 (2)函数定义应该在函数调用的前面. 更正后的程序: #include float add(float x,float y) { float z; z=x+y; return(z); } void main() { float a,b,c; scanf("%f%f",&a,&b); c=add(a,b); printf("sum is %f\n",c); } 2. void main() { int a=3,b=6; printf("a=%d,b=%d\n",a,b); exchange1(a,b); printf(:a=%d,b=%d\n",a,b); } void exchange1(int x,int y) { int t;

t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y); } //错误的地方,(1)没有包含头文件 (2)函数定义应该在函数调用的前面. 更正后的程序: #include void exchange1(int x,int y) { int t; t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y); } void main() { int a=3,b=6; printf("a=%d,b=%d\n",a,b); exchange1(a,b); printf("a=%d,b=%d\n",a,b); } 3. long int fac(int n) { long int p; int i; p=1; for(i=1;i<=n;i++) p=p*i; return(p); } int cmn(int m,int n) {

实验6 函数与编译预处理(参考答案)

实验六函数与编译预处理(参考答案)[实验任务一]: 程序跟踪调试实例6-1:error6_1.c参考答案 程序跟踪调试实例6-2:error6_2.c参考答案 程序跟踪调试实例6-3:error6_3.c参考答案

[实验任务二]: 程序填空实例6-1:blank6_1.c参考答案 程序填空实例6-2:print1.c参考答案 程序填空实例6-3:reverse.c参考答案

[实验任务三]: 编程实例6-1:primefun.c参考答案(第一种方法) 编程实例6-1:primefun.c参考答案(第二种方法) 编程实例6-1:primefun.c参考答案(第三种方法)

编程实例6-2:printnum.c参考答案 编程实例6-3:printa.c参考答案 编程实例6-4:power.c参考答案(第一种方法)

编程实例6-4:power.c参考答案(第二种方法) 编程实例6-5:Taile.c参考答案 编程实例6-6:value.c参考答案 编程实例6-7:LeRangDe.c参考答案

编程实例6-8:multifac.c参考答案 [实验任务四]: 程序1参考答案: #include /* 函数功能:计算两整型数之和,如果与用户输入的答案相同,则返回1,否则返回0 函数参数:整型变量a和b,分别代表被加数和加数 函数返回值:当a加b的结果与用户输入的答案相同时,返回1,否则返回0 */ int Add(int a, int b) { int answer; printf("%d+%d=", a, b); scanf("%d", &answer); if (a+b == answer) return 1; else return 0; } /* 函数功能:打印结果正确与否的信息。 函数参数:整型变量flag,标志结果正确与否 函数返回值:无 */ void Print(int flag) { if (flag) printf("Right!\n"); else printf("Not correct!\n");

函数和编译预处理

函数和编译预处理(第五章) 一、单项选择题 1.关于函数,以下正确的描述是( B) A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义可以嵌套,函数的调用也可以嵌套 D. 函数的定义和函数的调用都不可以嵌套 2.关键字inline用于定义内联函数,定义时,是将该关键字( D ) A. 取代定义函数的类型标识符 B. 取代被定义的函数名 C. 加在类型标识符之后 D. 加在类型标识符之前 3.以下不正确的描述为( B ) A. 在函数之外定义的变量称为外部变量,外部变量是全局变量。 B. 在函数之内说明的外部变量是局部变量,仅在本函数中有效。 C. 在函数之外说明的静态变量也是全局变量,其作用域是文件作用域。 D. 文件作用的域范围是一个程序文件,但必须符合“定义在前,使用在后”的规则。4.以下正确的描述为( C ) A. 每个C++程序必须在开头用预处理命令#include B. 预处理命令必须位于C++源程序的首部 C. 在C++中,预处理命令都以#开头 D. C++语言的预处理命令只能实现宏定义和条件编译的功能 5.在下面的函数原型说明中,存在着语法错误的是( D ) A.void BC(int a,int); B.void BD(int , int); C.void BE(int , int=5); D.int BF(int x ; int y); 6.下列哪个不是重载函数在调用时选择的依据( C ) A. 形参类型 B. 形参个数 C. 函数返回值类型 D. 函数名 7.在一个源程序文件中有以下函数定义,其中( D )是重载函数。 A.ABC B. BCD C. ACD D. 全部 A) int sum(float x,int y) B) float sum(float x,int y,char z) {...} {...} C) float sum(float x,float y) D) int sum(int x,int y,char z) {...}{...} 8.有一个函数原型abc(float x,float y);该函数的返回值类型为( C ) A. void B. double C. int D. float 9.在程序中,函数声明语句正确位置是( D ) A. 随便任何位置 B. 不包含在另一函数中的任何位置。 C. 该函数使用前的任何位置 D. 该函数使用前的任何位置,但不包含在另一函数中 10.C++构造内联函数的思想是( A ) A. 用空间换时间 B. 用时间换空间 C. 用形参换实参 D. 用实参换形参 11.在以下存储类型中,( D )是用于定义动态类型的变量。

5--函数和编译预处理

一、选择题 1、函数调用语句int fun( ) { return 50,60; },则函数调用后返回值为()。 A、50 B、60 C、50,60 D、编译错 2、设有函数定义调用语句“f((e1,e2),(e3,e4,e5));”,则实参个数是()。 A、2 B、3 C、4 D、5 3、若用下列程序 f(char a) { float b=5; b+=a/b; return b; } 则函数返回值的类型是()。 A、int B、char C、void D、float 4、若定义函数 int f(int x) { x++; return x; } 执行以下语句: int a=5; f(a)+f(a); 则a的值是()。 A、5 B、6 C、7 D、8 5、下列程序的运行结果是()。 fun1(int a, int b) { return fun2(a++, --b); } fun2(int a, int b) { return a/b; } void main( ) { int x=5, y=6; cout<

实验6 函数与编译预处理

实验六函数与编译预处理(4学时) 实验前必须做的操作 ...... .........—— ..新建文件夹: 首先在各自对应的计算机ncre(k:)盘上对应座位号文件夹内新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如座位号为K02,航海1111班、学号后两位是02的、姓名为“张强”的同学,则其对应的文件夹名字是:航海111102张强。然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“实验6”。 【实验目的】 1、掌握自定义函数的一般结构及定义函数的方法; 2、掌握函数的形式参数、实际参数、函数返回值等重要概念; 3、掌握函数实参与形参间的“值传递”方式; 4、掌握函数声明、函数调用的一般方法; 5、掌握模块化程序设计思想,会采用C语言中函数进行模块化程序设计; 6、掌握全局变量和局部变量作用域以及全局变量和局部变量的使用方法; 7、掌握函数的嵌套调用的程序的执行过程,会使用嵌套调用设计程序; 8、掌握使用函数递归调用的程序的执行过程,会使用递归程序解决实际问题; 9、理解宏的概念,掌握宏定义。了解文件包含的概念,掌握其用法; 10、学习对多文件程序的编译和运行; 11、熟练掌握VC程序调试方法,包括断点的设置和取消,以及单步执行跟踪进入函数和跳出函数的方法。【实验内容】 [实验任务一]:断点的设置和取消、单步执行跟踪进入函数和跳出函数方法练习 程序跟踪调试实例6-1:调试示例(请仔细按以下各步骤进行操作): 从键盘输入一个正整数n,计算n! 的值,要求定义和调用函数fact(n),计算n!。

Input n: 10 10! = 3628800 说明:实验五中我们使用了程序运行到光标位置调试程序,本次实验需要掌握设置断点,以及单步调试进入函数和跳出函数的方法。 【操作步骤】: (1)输入源程序,并以error6_1.c文件名最终保存在实验6文件夹里,编译程序,出现警告信息: 双击该警告信息,箭头指向“f=fact(n);”这一行,警告信息指出函数“fact”没有定义,而函数“fact”实际上已经定义了,这是为什么呢?因为函数在调用之前,必须先声明。在主调函数的变量定义前面加上函数声明“long fact(int m);”后,重新编译,连接,都正确。 注意: 如果将error6_1.c文件改为error6_1.cpp (即改为C++源程序文件) 可见VC++系统对.c文件和.cpp文件在进行编译时,对语法的要求不完全一样,这一点希望同学们注意。此处错误修改的方法与上面相同。 (2)调试开始,设置2个断点(断点的作用:程序执行到断点处暂停,使用户可以观察当前的变量或其它表达式的值,然后继续运行),先把光标定位到要设置断点的位置,然后单击编译工具条上的(Inert / Remove Breakpoint (F9)),断点就设置好了(如图6.1所示)。如果要取消断点,只要把光标放到要取消的断点处,单击,这个断点就取消了。

国家二级C语言机试(编译预处理和指针)模拟试卷7

国家二级C语言机试(编译预处理和指针)模拟试卷7 (总分:56.00,做题时间:90分钟) 一、选择题(总题数:28,分数:56.00) 1.有以下程序:#include<stdio.h>void main() void fun(char*c) {char s[81];{while(*c) gets(s);fun(s);puts(s); {if(*c>='a'&&*c<='z')*c=*c-('a'-'A'); } c++: }} 当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是 (分数:2.00) A.HELLO BEIJING √ B.Hello Beijing C.hello Beijing D.hELLO Beijing 解析:解析:子函数fun的功能是把小写字母转换成大写字母,所以程序的输出结果为选项A)。 2.有以下程序#include<stdio.h>void f(int*p,int*q) void f(int*p,int*q);{ main() p==p+1;*q=*q+1; { int m=1,n=2,*r=&m; } f(r,&n);printf("%d,%d",m,n); }程序运行后的输出结果是 (分数:2.00) A.2,3 B.1,3 √ C.1,4 D.1,2 解析:解析:本题考查函数的调用与指针。fun()函数的作用是:使指针p指向原来所指变量的下一个变量,使q指针指向的值加1。主函数中,指针r指向m,调用fun()函数的结果是,使r指向地址位于m后面的变量,使位丁n的地址上的变量(就是n)的值加1,因此,结果为1,3。 3.有以下程序 #include<stdio.h> main() void fun(int*a,int*b) { int x=3,y=5,*p=&x,*q=&y;{ int*c;fun(p,q);printf("%d,%d,",*p,*q);c=a;a=b;b=c;} fun(&x,&y);printf("%d,%d\n",*p,*q);}程序运行后的输出结果是 (分数:2.00) A.3,5,5,3 B.3,5,3,5 √ C.5,3,3,5 D.5,3,5,3 解析:解析:本题考查函数的调用与指针。p和q分别为指向x和y的指针,函数fun()的两个形参均为指针型,主要功能为交换两个指针的指向,当调用结束以后,该操作不能返回主函数。而主函数中,fun(p,q)、fun(&x,&y)的实参均为x与y的地址,因此,两者结果相同,并且两者指针指向的值不能变化。 4.有下列程序:void f(int b[]) {int I;for(i=2;i<6;i++)b[i]*=2;} main() {int a[10]={1,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;i<10,i++)printf("%d,",a[i]);}程序运行后的输出结果是 (分数:2.00) A.1,2,3,4,5,6,7,8,9,10, B.1,2,3,4,10,12,14,16,9,10, C.1,2,6,8,10,12,7,8,9,10,√ D.1,2,6,8,10,12,14,16,9,10, 解析:解析:函数void f(int b[])的功能是对数组b[]中第2个到第5个元素的值逐个扩大2倍。所以在main()函数中,f(a)语句的作用是对数组a[10]中从a[2]到a[5]的各个数字乘以2,因而数组a[10]的元素就变成了{1,2,6,8,10,12,7,8,9,10}。 5.有以下程序 #include<stdio.h> int fun(char s[]) main() {int n==0; {char s[10]={'6','1','*','4','*','9','*','0','*'};while(*s<='9'&&*s>='0') printf("%d\n",fun(s));{n=10*n+*s

实验3 函数和编译预处理

实验3 函数和编译预处理 实验目的 1.掌握函数的定义和调用的方法。2.学会使用递归方法进行程序设计。3.掌握变量的作用域与存储类别。4.学会使用函数重载解决实际问题。5.学会使用宏 实验内容 1.阅读并运行程序,写出运行结果。 (1)#include using namespace std; int fun(int x) { int prime=1; if(x==0||x==1) prime=0; for(int i=2;i using namespace std; void output1(int x) { if(!x) return; cout<<(x%10)<<"\t"; output1(x/10); } void output2(int x) { if(!x) return; output2(x/10); cout<<(x%10)<<"\t"; } int main(void) { int a; cout<<"请输入大于0的正整数:"; cin>>a; output1(a); cout< using namespace std; void fun(void) { int a=1,b=2; static int c; //A a++;

函数和编译预处理.doc

函数和编译预处理 函数和编译预处理(第五章) 一、单项选择题 1.关于函数,以下正确的描述是(B) A,函数的定义可以嵌套,但函数的调用不可以嵌套 B,函数的定义不可以嵌套,但函数的调用可以嵌套 C,函数的定义可以嵌套,函数的调用也可以嵌套 D,函数的定义和函数的调用都不M以嵌套 2.关键字inline用于定义内联函数,定义时,是将该关键字(D ) A.取代定义函数的类型标识符 B.取代被定义的函数名 C.加在类型标识符之后 D.加在类型标识符之前 3.以下不正确的描述为(B ) A.在函数之外定义的变量称为外部变量,外部变量是全局变量。 B.在函数之内说明的外部变量是局部变量,仅在本函数中有效。 C.在函数之外说明的静态变量也是全局变量,其作用域是文件作用域。 D.文件作用的域范围是一个程序文件,但必须符合“定义在前,使用在后”的规则。 4.以下正确的描述为(C ) A,每个C++程序必须在开头用预处理命令^include B,预处理命令必须位于C++源程序的首部 C.在C++中,预处理命令都以#开头 D.C++语言的预处理命令只能实现宏定义和条件编译的功能 5.在下面的函数原型说明中,存在着语法错误的是(D )

A.void BC(int a, int) ; B. void BD(int , int); C. void BE(int , int=5) ; D. int BF(int x ; int y); 6.下列哪个不是重载函数在调用时选择的依据(C ) A.形参类型 B.形参个数 C.函数返回值类型 D.函数名 7.在一个源程序文件中有以下函数定义,其中(D )是重载函数。 A.ABC B. BCD C. ACD D.全部 A) int sum (float x, int y) B) float sum (float x, int y, char z) (. . . ) C) float sum (float x, float y) D) int sum(int x, int y, char z) (. . . ) 8.有一个函数原型abc(float x, float y);该函数的返回值类型为(C ) A.void B. double C. int D. float 9.在程序中,函数声明语句正确位置是(D ) A.随便任何位置 B.不包含在另一函数中的任何位置。 C.该函数使用前的任何位置 D.该函数使用前的任何位置,但不包含在另-一函数中 10.C++构造内联函数的思想是(A ) A.用空间换时间 B.用时间换空间 C.用形参换实参 D.用实参换形参 11.在以下存储类型中,(D)是用于定义动态类型的变量。

编译预处理习题与答案

第九章编译预处理 9.1 选择题 【题9.1】以下叙述中不正确的是。 A)预处理命令行都必须以#号开始 B)在程序中凡是以#号开始的语句行都是预处理命令行 C)C程序在执行过程中对预处理命令行进行处理 D)以下是正确的宏定义 #define IBM_PC 【题9.2】以下叙述中正确的是。 A)在程序的一行上可以出现多个有效的预处理命令行 B)使用带参的宏时,参数的类型应与宏定义时的一致 C)宏替换不占用运行时间,只占编译时间 D)在以下定义中C R是称为“宏名”的标识符 #define C R 045 【题9.3】请读程序: #define ADD(x) x+x main() { int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(“sum=%d”,sum); } 上面程序的运行结果是。 A)sum=9 B)sum=10 C)sum=12 D)sum=18 【题9.4】以下程序的运行结果是。 #define MIN(x,y) (x)<(y)?(x):(y) main() { int i=10,j=15,k; k=10*MIN(i,j); printf(“%d\n”,k); } A)10 B)15 C)100 D)150 【题9.5】在宏定义#define PI 3.14159中,用宏名PI代替一个。 A)常量B)单精度数C)双精度数D)字符串

【题9.6】以下程序的运行结果是。 #include #define FUDGE(y) 2.84+y #define PR(a) printf(“%d”,(int)(a)) #define PRINT1(a) PR(a); putchar(‘\n’) main() { int x=2; PRINT1(FUDGE(5)*x); } A)11 B)12 C)13 D)15 【题9.7】以下有关宏替换的叙述不正确的是。 A)宏替换不占用运行时间B)宏名无类型 C)宏替换只是字符替换D)宏名必须用大写字母表示 【题9.8】C语言的编译系统对宏命令的处理是。 A)在程序运行时进行的 B)在程序连接时进行的 C)和C程序中的其它语句同时进行编译的 D)在对源程序中其它成份正式编译之前进行的 【题9.9】若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是。 int a; a=Y; printf(“%d\n”,Z); printf(“%d\n”,--a); A)7 B)12 C)12 D)7 6 6 5 5 【题9.10】若有以下宏定义如下: #define N 2 #define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后的结果是。 A)语句有错误B)z=34 C)z=70 D)z无定值 【题9.11】若有宏定义:#define MOD(x,y) x%y 则执行以下语句后的输出为。 int z,a=15,b=100; z=MOD(b,a); printf(“%d\n”,z++);

实验五 函数与编译预处理

《C语言程序设计》实验报告 实验五函数与编译预处理 学号201002314 姓名李光 一、实验目的 1、掌握函数定义及调用的方法,正确理解函数调用时实参和形参的对应关系 2、掌握并正确使用数组作为函数参数; 3、掌握函数的嵌套调用和递归调用的方法; 4、理解变量的作用域和生存期; 5、掌握宏定义、文件包含的方法。 二、实验内容 1、分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。 #include /*程序需要使用C语言提供的标准函数库*/ int fun(int k) /*此函数用于计算阶乘*/ { int result=1,i; for(i=1;i<=k;i++) /*循环k次*/ { result=result*i; } return result; } void main() /*主函数*/ { int n; printf("Input n please(1<=n<=10)"); scanf("%d",&n); /*输入一个数*/ printf("%d!=%d\n",n,fun(n)); /*输出结果*/ } 『运行结果:』

2、编写程序,输出2~n之间的所有素数,n由键盘输入。要求判断素数的过程要写在函数中,由主函数调用实现,并写出2组以上程序运行结果。 程序代码: #include #include void fun(int n) { int a,b; for (a=2;a<=n;a++) { for (b=2;b<=a-1;b++) { if (a%b==0) break; if (b==a-1) { printf ("%3d ",a); } } } } void main() { int t; printf("input t="); scanf("%d",&t); fun(t); printf("\n"); } 『运行结果:』

相关文档
相关文档 最新文档