搜档网
当前位置:搜档网 › 实验 1 C语言的编程环境

实验 1 C语言的编程环境

实验 1    C语言的编程环境
实验 1    C语言的编程环境

实验1 C语言的编程环境

一、实验目的

1、了解所用的计算机系统的基本操作方法,学会独立使用该系统;

2、了解在该系统上如何编辑、编译、连接和执行一个C程序;

3、通过执行简单的C程序,初步了解C程序的特点。

4、掌握单文件程序及多文件程序的编写与运行过程,学会建立工程,编译运行程序,学会查找和排除错误的方法

二、实验基本原理

1.启动V isual C++6.0开发环境

从“开始“菜单中选择“程序”—Microsoft V isual Studio 6.0—Microsoft V isual C++ 6.0,显示V isual C++6.0开发环境窗口。

2.创建一个项目或工程(Project)

(1) 单击“文件”菜单中的“新建”选项,显示“新建”对话框。

(2) 单击“工程”标签,在“工程”选项卡中,选择“Win32 Console Application”(Win32控制台应用程序)。在“位置”文本框中指定一个路径,在“工程”文本框中为项目输入一个名字如lab1_1,单击““确定按纽。

(3) 在弹出的Win32 Console Application-Step 1 of 1对话框选择An Empty Project 单选项,然后单击“完成”按纽。

(4) 最后在New Project Information 对话框单击“完成”按纽,完成项目的建立。

3.建立C源程序文件

(1)选择菜单命令“工程”—“添加工程”—“新建”,弹出对话框。

(2)在“新建”对话框的“文件”选项卡中选择“C++ Source File”,并填入文件名称如:lab1_1.c,单击“确定”按纽,完成新建C源程序文件。

4、编辑C源程序文件内容

(1)在文件编辑窗口中输入代码。

(2)选择“文件”菜单—“保存”命令。

5、建立并运行可执行程序

(1)选择菜单命令“编译”—lab1_1.c,编译程序。

如果程序有语法错误,则屏幕下方的状态窗口中会出现错误信息,根据这些错误信息对源程序进行修改后,重新编译。

(2)选择菜单运行命令“编译”—“执行lab1_1.exe”运行程序,观察屏幕的显示内容。

6、关闭工作空间

选择“文件”菜单—“关闭工作区”,即可关闭当前工作区。

三、实验内容:

使用Visual C++来建立以下C程序,编译、连接并运行,然后记录运行结果。建议在硬盘(如E盘)上建立一个文件夹,将C程序存储在其中,实验完毕后,再将源程序复制到u盘。

四、主要仪器设备及耗材:

PC环境、Windows操作系统、VC++程序集成环境

五、实验步骤:

1、启动Turbo C

2、输入程序

输入以下程序

main()

{

printf(“How are you!”);

}

3、运行程序

4、保存文件

5、退出TC程序

6、打开已经存在的文件

六、实验数据及处理结果:

运行结果为:How are you!

七、思考讨论题或体会或对改进实验的建议:

C语言具有灵活,易查错的特点,适合像我们这种入门者用。但是由于对语法和代码的不熟悉导致我的编译速度那是相当的纠结,同时漏洞百出,只能慢慢看错误提示信息和观察自己的程序。回忆相关语法来改正。由于我的经验不足,外加不够细心,漏个“;”,和把“main”写成“mian”那是常有的事。我只能慢慢在C语言中摸索。初学是有一定的困难,但是自己就要经常练习,增加自己的熟练程度。

实验2 数据类型、运算符和表达式

一.实验目的

1.了解C语言中数据类型的意义;

2.掌握不同数据类型之间的赋值的规律;

3.学会有关C语言的有关运算符,以及包含这些运算符的表达式,特别是是++和—运算符的使用。

4.进一步熟悉C程序的编辑环境。

二.实验内容

1.用printf函数来输入表达式运行结果

2.观察实验步骤中表达式的结果

三.实验环境

PC微机

Windows 操作系统

VC++6.0 程序集成环境

四.实验步骤

请编程实现习题3.7.

3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

解:

#include

main()

{ char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

运行结果: 2

密码是Glmre

五.思考题

“/”的应用。当“/”号的两个操作数都是整数和有一个为浮点数时的结果。

解答:当’/’两边都是整数时则结果为整数,若有一个为浮点数时则结果为浮点数。

实验 3 数据输入输出

一、实验目的:

1、熟练掌握字符数据的输入输出函数getchar和putchar的使用。

2、熟练掌握格式输入输出函数scanf和printf的使用。

3、进一步熟悉C程序的编辑环境。

二、实验内容:

编程实现书上习题4.4

若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=‘a’,c2=’b’,要得到以下结果请写出程序。要求输出结果如下:

a= 3 b= 4 c= 5

x=1.200000,y=2.400000,z=-3.600000

x+y= 3.60 y+z=-1.20 z+x=-2.40

u= 51274 n= 128765

c1=’a’ or 97(ACSII)

c2=’B’ or 98(ASCII)

三、主要仪器设备及耗材:

PC微机、Windows操作系统、VC++程序集成环境

四、实验步骤:

程序编写如下:

#include

void main()

{

int a=3,b=4,c=5;

float x=1.2,y=2.4,z=-3.6;

long int u=51274,n=128765;

char c1=’a’,c2=’b’;

printf(“a=%2d b=%2d c=%2d”,a,b,c);

printf(“x=%f,y=%f,z=%f”,x,y,z);

printf(“x+y=%5.2f y+z=%-7.2fz+x=%-5.2f”,x+y,y+z,z+x);

printf(“u=%6u n=%9u”,u,n);

printf(“c1=%c or %d”,c1,c1);(ASCII)

printf(“c2=%c or %d”,c2-32,c2);(ASCII)

}

五、实验数据及处理结果:

运行结果为:

a= 3 b= 4 c= 5

x=1.200000,y=2.400000,z=-3.600000

x+y= 3.60 y+z=-1.20 z+x=-2.40

u= 51274 n= 128765

c1=’a’ or 97(ACSII)

c2=’B’ or 98(ASCII)

六、思考讨论题或体会或对改进实验的建议:

本次实验增强了我对格式控制符和输入输出函数的了解,为后面打了很好的基础。自己要多多练习,掌握基本用法。

实验4 控制语句

一、实验目的

1.熟练掌握if、if...else、if,,,elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。

2.熟练掌握while语句、do...while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的其那套,利用血环语句实现循环结构。

3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法、

二、实验内容

1.选择结构程序设计;

2.if语句的使用;

3.使用switch语句实现多分支选择结构;

4.三种循环语句的应用;

5.循环结构的嵌套;

6.break和continue语句的使用。

三、实验环境

PC微机DOS操作系统或Windows操作系统Turbo C 程序集成系统

四、实验步骤

1.编程实现:输入一个整数,将其数值按照○1小于19,○210~99,○3100~999,○4 1000~9999以上四个类型分类并显示。

要求:

(1)将变量定义为整型。

(2)输入整数前,里欧年更puts()/printf()给出提示信息。

(3)输入结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。

(4)改程序利用if语句实现。

运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。

程序:

#include

void main()

{

int t;

printf("输入一个整数:\n");

scanf("%d",&t);

if (t<100)

if(t<10)

printf("%d 小于10",t);

else

printf("%d 在10 ~ 99之间",t);

else

if(t>=1000)

printf("%d 在1000以上",t);

else

printf("%d 在100 ~ 999之间",t);

}

2.编写程序:根据公式22222

π=++++,输出π的值。

/61/11/21/3......1/n

要求:

(1)变量n为单精度类型,n为整型;

(2)计算当n的取值分别为20,50,100,200时的π值,说明什么问题?

(3)修改程序,不给出n值,而改为求π值,直到最后一向的数值小于10^(-4)为止。

(4)对修改后的程序输出n值以及总的项数n,输出格式为:x=值;n=值。

程序:

#include

#include

void main()

{

int n,i=0;

float pi=0,t=1;

scanf("%d",&n);

while(i

{

pi=pi+t;

i=i+1;

t=1.0/(i*i);

}

pi=sqrt(pi*6);

printf("pi=%f\n",pi);

}

修改后的程序:

#include

#include

void main()

{

int i=0;

float pi=0,t=1;

while(1.0/(i*i)>(1.0e-4))

{

pi=pi+t;

i=i+1;

t=1.0/(i*i);

}

pi=sqrt(pi*6);

printf("pi=%f;n=%d\n",pi,i);

}

3.从键盘输入一个0~1000之间的任意整数,输出该函数的所有因子(例如:输入12,其因子为1,2,,3,4,6,12)。

要求:

(1)采用while循环语句实现。

(2)输出格式为:Input:12

Output:1,2,3,4,6,12

程序:

#include

void main()

{

int m,i;

printf("Input:");

scanf("%d",&m);

printf("Output:");

i=1;

while(0

{

if(m%i==0)

printf("%d ",i);

i++;

}

}

4.编程实现:由用户从键盘输入一串字符(以回车键结束),统计其中数字、大、小写字母、空格、其他字符的个数。

要求:

(1)通过键盘输入字符。

(2)给出相应的输入、输出信息提示。并按照数字、大写字母、小写字母、空格、其他字符数的顺序输出结果。

程序:

#include

void main()

{

int i,n,j,k,s,e;

n=0;j=0;k=0;s=0;e=0;

char c;

for(i=0;(c=getchar())!='\n';i=i+c)

{

if(c<=90&&c>=65)

j=j+1;

else if(c<=122&&c>=97)

k=k+1;

else if(c>48&&c<=57)

n=n+1;

else if(c==32)

s=s+1;

else

e=e+1;

}

}

5.计算并输出1000以内最大的10个素数以及他们的和。

要求:

(1)在程序内部加必要的解释。

(2)由于偶数不是素数,可以不考虑对偶数的处理。

(3)虽然在1000以内的素数超过10个,但要对1000以内不够10个素数的情况进行处理。(4)输出形式为:素数1+素数2+素数3+.......+素数10=总和值。

程序:

#include

#include

void main()

{

int a[10];

int i,j,s,n;

j=0;s=0;

for(n=999;n>=3;--n)/*对数进行从大到小循环,方便得到最大的十个素数*/

{

for(i=2;i

if(n%i==0)

break;/*若能被本身之外的整数除,说明不是素数,结束循环*/

if(i>=n)/*若不被任何数整除,说明该数是素数*/{

j=j+1;/*累加计算素数的个数*/

if(j<=10)

a[j-1]=n;/*将前十个最大素数的值赋给数组a*/}

}

if(j<10)/*对以内素数不超过10个的情况进行处理*/

{

printf("1000以内素数小于10个,分别为:\n");

for(i=0;i

printf("%d",a[i]);

}

else

{

printf("1000以内十个最大素数的和:\n");

for(i=0;i<9;++i)

s=s+a[i];

for(i=0;i<9;i++)

printf("%d",a[i]);

printf("%d=%d",a[9],s);/*以“素数+素数+......素数=和”的形式输出十个最大素数以及它们的和*/

}

}

实验 5 数组

一、实验目的

1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。

2.掌握字符数组与字符串的使用方法。理解字符数组与其它数组的区别、理解字符串及其特点。掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。

3.掌握与数组相关的算法,包括排序算法和查找算法等。

二、实验基本原理

关于数组的程序设计

三、主要仪器设备及耗材

PC微机

DOS操作系统或Windows 操作系统

Turbo C 程序集成环境

四、实验步骤

1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。

要求:

(1)数组为整型数组(10个元素)。

(2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。

(3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。

(4)如果现改为20个元素的数组,怎样修改程序?修改程序后,运行程序进行检查。如果需要数组元素不断改变,应怎样修改程序?

程序:

#include"stdio.h"

#define N 10

void main()

{

int a[N];

int i,max,min;

printf ("Please input any numbers:\n");

for(i=0;i

scanf("%d",&a[i]);

printf("\nThe numbers you entered :");

for(i=0;i

printf("%d ",a[i]);

printf("\n");

max=a[0];min=a[0];

for(i=1;i<=N-1;i++)

if (max

max=a[i];

printf("maximum: %d ",max);

for(i=0;i<=N-1;i++)

if(max==a[i])

printf("position: %d\n",i+1);

for(i=1;i<=N-1;i++)

if (min>a[i])

min=a[i];

printf("minimum: %d ",min);

for(i=0;i<=N-1;i++)

if(min==a[i])

printf("position: %d\n",i+1);

}

2.编程实现:在给定的字符串中查找满足条件的第一个字符。

要求:

(1)字符串采用初始化的方式处理。

(2)通过scanf函数读入一个任意字符。

(3)在字符串中查找该字符,如果存在该字符,输出该字符在字符串中的位置以及相应的说明。如果不存在该字符,则要给出相应的信息。

程序:

#include"stdio.h"

void main()

{

int i,j;

char s[20];

char c1,c2;

printf("Please input the character you want to find:\n");

scanf("%c",&c1);

printf("Please input a string:");

scanf("%s",s);

c2=c1;

for(j=0;j<=i-1;j++)

{

if(c1==s[j])

{

c1=s[j];

printf("The position of character:%d",j+1);

break;

}

}

if(c1==c2)

printf("There does not exist %c in the string!",c1);

}

3.编程实现:首先任意输入一个大于2且小于10的整数n,再输入一个由n决定的二维整型数组(n ?n),形成n ?n阶矩阵,将矩阵中最大元素所在的行和最小元素所在的行对调后,再输出该矩阵(注意:数组不允许动态定义)。

例如:原始数据:n=4 结果数据:

1 2 3 4 8 11 14 16

3 5 9 10 3 5 9 10

8 11 14 16 1 2 3 4

15 2 7 6 15 2 7 6

要求:

(1)本题中所涉及到的循环都采用for语句。

(2)在输入/输出时进行必要的说明。

(3)对输入的2~10之间的整数(例如4)以n=4的格式输出。

(4)输入一个n ?n矩阵(假定最大值与最小值不在同一行上),输出原始矩阵数据(按上述矩阵形式)。

(5)查找最大值与最小值,将矩阵中最大元素所在的行和最小元素所在的行对调,输出对调后的矩阵数据。

(6)修改程序,对最大值与最小值可能出现在一行上的情况做出说明。

(7)对n为3,4,5时,输入数组元素是要注意哪些问题?执行程序,检查程序的正确性。

程序:

#include"stdio.h"

void main()

{

int n,i,j,x=0,y=0,max,min, a[10][10];

printf("Please input a number which is 2 to 10: \n");

scanf("%d",&n);

printf("Please input %d numbers: \n",n*n);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

printf("\n");

max=a[0][0];

min=a[0][0];

for(i=0;i

for(j=0;j

if(max<=a[i][j])

{

max=a[i][j];

x=i;

}

for(i=0;i

for(j=0;j

if(min>=a[i][j])

{

min=a[i][j];

y=i;

}

printf("\n");

if(x==y)

{

for(i=0;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

}

else if(x

{

for(i=0;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

for(i=x;i

for(j=0;j

printf("%d ",a[y][j]);

printf("\n");

for(i=x+1;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

for(i=y;i

for(j=0;j

printf("%d ",a[x][j]);

printf("\n");

for(i=y+1;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

}

else

{

for(i=0;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

for(i=y;i

for(j=0;j

printf("%d ",a[x][j]);

printf("\n");

for(i=y+1;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

for(i=x;i

for(j=0;j

printf("%d ",a[y][j]);

printf("\n");

for(i=x+1;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

}

}

4.编程实现“折半查找”的过程。折半查找的处理过程是:在一个数据已排好序的数组中,首先比较关键字与数组中间的元素,如果两者相等,则查找结束;如果前者比后者小,则要查找的数据必然在数组的前半部,此后只需在数组的前半部中继续折半查找;如果前者的数值比后者大,则要查找的数据必然在数组的后半部,此后只需在数组的后半部继续进行折半查找。

要求:

(1)设定一个数组存放20个数据,用赋初值的方法在程序中给出(假设这些数据已排序)。

(2)用scanf函数输入一个要找的数。

(3)对查找的结果给出相应的说明,如果找到该数,则给出该数是数组中第几个元素。如果该数不在数组中,则输出“无此数”信息。

(4)任意输入一些数据,检查程序的正确性。

(5)修改程序,设定输入的数据是无序的,采用scanf函数的形式输入,首先要对这些无序的数据进行排序,然后再采用“折半查找”。最后通过测试几组差别较大的数据检查程序的正确性。

(6)修改程序,改为函数调用的形式。编写一个选择法排序函数,对无序数据进行排序;编写一个查找函数对已排好序的数据进行查找。在主函数中输入数据(无序),调用上述函数,输出结果。

程序:

#include"stdio.h"

void main()

{

int a[20],i,j,k,result,find;

int search(int x,int a[],int y);

printf("Please input a number you want to find:\n");

scanf("%d",&find);

printf("Please input 20 numbers :\n");

for(i=0;i<20;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=0;j<19;j++)

for(i=0;i<19-j;i++)

if(a[i]>a[i+1])

{

k=a[i];

a[i]=a[i+1];

a[i+1]=k;

}

result= search(find,a,20);

if(result!=0)

printf("The number exists in the array!");

else

printf("The number doesn't exist in the array!");

}

int search(int x,int a[],int y)

{

int l,m,h;

l=0;h=y;

while(l<=h)

{

m=(l+h)/2;

if(x==a[m]) return m+1;

else if(x

else l=m+1;

}

return 0;

}

5.编程实现:三个学生、五门课程的成绩分别存放在4×6矩阵的前3×5列,计算出每个学生的平均成绩存放在该数组的最后一列的对应行上。计算单科的成绩总和存放在最后一行的对应列上,并输出单科成绩的平均分。输入/输出格式举例如下:

Input(输入成绩):

65 87 68 56 78

83 94 67 85 91

71 75 69 84 89

Output(输出结果):

65 87 68 56 78 70.5

83 94 67 85 91 84.0

71 75 69 84 89 77.5

219.0 256.0 204.0 258.0 232.0 0

average:

73.0 85.3 68.0 86.0 77.3

要求:

(1)数组类型为实型,输入成绩由scanf函数实现。

(2)输出已输入的原始成绩数据(3×5)。

(3)计算每个学生的平均成绩以及单科的成绩总和并按要求填入到数组中,输出填入结果后的数组(4×6)。

(4)j计算单科平均成绩后输出。

程序:

#include"stdio.h"

void main()

{

int i,j;

double grade[4][6],sum1,sum2,average[5];

printf("Input:\n");

for(i=0;i<3;i++)

for(j=0;j<5;j++)

scanf("%lf",&grade[i][j]);

for(i=0;i<3;i++)

{

sum1=0;

for(j=0;j<5;j++)

sum1=sum1+grade[i][j];

grade[i][j]=sum1/5.0;

}

for(j=0;j<5;j++)

{

sum2=0;

for(i=0;i<3;i++)

sum2=sum2+grade[i][j];

grade[i][j]=sum2;

average[j]=sum2/3.0;

}

printf("Output:\n");

for(i=0;i<3;i++)

{

for(j=0;j<5;j++)

printf("%.0f ",grade[i][j]);

printf("%.1f",grade[i][5]);

printf("\n");

}

for(j=0;j<5;j++)

printf("%.1f ",grade[3][j]);

printf("%.0f\n",grade[3][5]);

printf("average:\n");

for(j=0;j<5;j++)

printf("%.1f ",average[j]);

}

6.编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr()用于统计一个字符串的长度。编写函数cmpStr()用于判断两个字符串的大小。

要求:

(1)不允许使用字符处理库函数。

(2)在主函数以初始化的方式输入两个字符串str1、str2。调用函数lenStr()计算字符串的长度。

(3)调用函数cmpStr()判断两个字符串的大小,如果str1大于等于str2,调用函数catStr()进行两个字符串的连接,将str1连接在str2后,否则,将str2连接在str1后,调用函数lenStr()统计连接后的字符串长度。

(4)在主函数中输出两个原始字符串和各自的长度以及处理后字符串及其长度。

程序:

#include"stdio.h"

void main()

{

char str1[20]="sry",str2[]="dhjk";

int i,len1,len2,result;

int lenStr(char x[]);

int cmpStr(char y1[],char y2[]);

void catStr(char a[],char b[]);

len2=lenStr(str2);

result=cmpStr(str1,str2);

printf("The first string has %d charactrasics.\n",len1);

printf("The second string has %d charactrasics.\n",len2);

if(result==0)

{

printf("The first string is equal to the secod.");

catStr(str1,str2);

printf("\nResult:%s\n",str1);

}

else if(result>0)

{

printf("The first string is larger than the secod.");

catStr(str1,str2);

printf("\nResult:%s\n",str1);

}

else

{

printf("The first string is smaller than the secod.");

catStr(str2,str1);

printf("\nResult:%s\n",str2);

}

}

int lenStr(char x[])

{

int j;

for(j=0;x[j]!=0;j++);

return j;

}

int cmpStr(char y1[],char y2[])

{

int c1,c2;

c1=lenStr(y1);

c2=lenStr(y2);

if(c1==c2)return 0;

else if(c1>c2)return 1;

return-1;

}

void catStr(char str1[],char str2[])

{

int i,len1,len2;

len1=lenStr(str1);

for(i=len1;i

}

五、思考讨论题或体会或对改进实验的建议

此次实验涉及的知识比较多。考察的知识以数组为主,还有排序方法,还有自定义函数。由于刚刚开始对自定义函数的不熟悉,导致好几个习题程序的编写出了很多错误。实验多数为书上例题,所以我们还是要注重课本,掌握基本知识。

实验6 函数

一、实验目的

1.掌握C语言的定义方法,函数的调用方法、函数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法;

2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法;

3.在编程过程中加深理解函数调用的程序设计思想。

二、实验内容

1.多模块的程序设计与调试的方法;

2.函数的定义和调用的方法;

3.用递归方法进行程序设计。

三、实验环境

PC微机DOS操作系统或Windows操作系统Turbo C程序集成系统

四、实验步骤

1.编写一个函数primeNum (int num),它的功能是判别一个数是否为素数。如果num是素数,返回该数;否则返回0值。

要求:

(1)在主函数输入一个函数num。调用该函数后,输出num是否为素数的信息。输出格式为:

num is prime 或num is not prime .

(2)分别输入以下函数:0,1,2,5,9,13,59,121,运行程序并检查结果是否正确。

函数:

#include"stdio.h"

#include"math.h"

void main()

{

int primeNum(int num);

int num;

scanf("%d",&num);

if(primeNum (num))

printf("num is prime");

else

printf("num is not prime ");

}

int primeNum(int num)

{

int i ;

for (i=2;i

{

if (num%i==0)

return(0);

}

return(1);

}

2.编写函数computNum(int num),它的功能是计算任意输入的一个正整数的各位数字之和,结果由函数返回(例如:输入数据是123,返回值为6)。

要求:num由主函数输入,调用该函数后,在主函数内输出结果。

函数:

#include

void main()

{

int computNum(int num);

int num;

scanf("%d",&num);

printf("%d",computNum(num));

}

int computNum(int num)

{

int sum=0,m;

for(num;num>0;num=num/10)

{

m=num%10;

sum=sum+m;

}

return(sum);

}

3.编写函数,mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a

是b的整数倍,则函数返回值为1,否则函数返回值为0。

要求:

(1)在主函数中输入一对数据a和b,调用该函数后,输出结果并加以相应的说明。例如:在主函数中输入10,5,则输出:10 ismultiple of 5.

(2)分别输入下面几组数据进行函数的正确性测试:1与5、5与5、6与2、6与4、20与4、37与9等,并加以测试信息说明。

函数:

相关主题