c语言 上机实验10

  • 格式:doc
  • 大小:75.00 KB
  • 文档页数:4

上机实验10

一、 实验目的与要求

1 掌握定义函数的方法;

2 掌握函数实参与形参的对应关系以及“值传递”的方式;

3 掌握函数的嵌套调用方法;

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

二、 实验内容

利用Visual C++ 6.0 IDE,完成C程序的编辑、编译、运行和测试:

1. 编写程序,其功能是调用函数Myint求实数的小数部分。例如,对于3.1415926,函数返回0.141593。

2. 试编写一个字符串链接函数mystrcat(),然后在主函数中键盘接收两个字符串,通过调用mystrcat(),实现两字符串的链接,并输出验证结果。注:不能使用标准函数库中的strcat()函数来实现相应功能。

3.用函数调用的方法编程序,输入一个四位数,将每一位的数加一个5,然后除10求余数;交换对应项的余数位置构成新的四位数并输出。

4.编程序,用函数调用的方法删除从键盘输入的字符串中的所有数字字符(用宏命令定义数组长度)。例如:#define N 30

char a[N],b[N];

5. int merge(char A[],char B[],char C[])将2个按升序(从小到大)排列的数列A[1],A[2],....,A[N]和B[1],B[2],...,B[M]中各元素按其大小关系存放到数组c.同时必须注意对数组A或B残余元素的的追加处理。

6. 键盘接收一串字符串,统计并输出该字符串中包含的大写英文字母的总个数。要求用函数调用的方式完成编程,其中自定义函数count()实现字符串中包含的大写英文字母的总个数并返回该值;主函数完成其余功能。

三、程序代码和程序运行结果(程序运行结果要求给出截图)

1. 编写程序,其功能是调用函数Myint求实数的小数部分。例如,对于3.1415926,函数返回0.141593。

#include

float Myint (float a)

{

return (a-(int)a);

}

main ()

{

float a,k;

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

scanf ("%f",&a);

k=Myint (a);

printf ("小数部分为:%f\n",k);

}

2. 试编写一个字符串链接函数mystrcat(),然后在主函数中键盘接收两个字符串,通过调用mystrcat(),实现两字符串的链接,并输出验证结果。注:不能使用标准函数库中的strcat()函数来实现相应功能。

#include

char mystrcat (char a[],char b[])

{

int i,j;

for (i=0;a[i];i++)

i;

for (j=i;b[j-i];j++)

a[j]=b[j-i];

a[j]='\0';

}

main ()

{

char a[30],b[30];

printf ("输入字符串:\n");

gets (a);gets (b);

mystrcat (a,b);

puts (a);

system ("pause");

}

3.用函数调用的方法编程序,输入一个四位数,将每一位的数加一个5,然后除10求余数;交换对应项的余数位置构成新的四位数并输出。

#include

int f1(int a)

{

int t;

t=(a+5)%10; return t;

}

main ()

{

int a;

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

scanf ("%d",&a);

while (a)

{

printf ("%d",f1(a%10));

a/=10;

}

printf ("\n");

}

4.编程序,用函数调用的方法删除从键盘输入的字符串中的所有数字字符(用宏命令定义数组长度)。例如:#define N 30

#include

#define N 30

char f1(char a[])

{

int i,j;

for (i=0;a[i];i++)

if (a[i]>='0'&&a[i]<='9')

{

for (j=i;a[j];j++)

a[j]=a[j+1];

i=0;

}

}

main ()

{

char a[N];

gets (a);

f1(a);

puts (a);

}

5. int merge(char A[],char B[],char C[])将2个按升序(从小到大)排列的数列A[1],A[2],....,A[N]和B[1],B[2],...,B[M]中各元素按其大小关系存放到数组c.同时必须注意对数组A或B残余元素的的追加处理。

6. 键盘接收一串字符串,统计并输出该字符串中包含的大写英文字母的总个数。要求用函数调用的方式完成编程,其中自定义函数count()实现字符串中包含的大写英文字母的总个数并返回该值;主函数完成其余功能。

#include

int count(char a[])

{

int i,b=0;

for (i=0;a[i];i++)

if (a[i]>='A'&&a[i]<='Z')

b=b+1;

return b;

}

main ()

{

char a[20];

gets (a);

printf ("%d",count (a));

}

四、总结和体会

注:实验作业提交要求:

完成实验内容中的题目,将实验报告按要求提交至Ftp相应目录中:ftp://210.29.15.192:2102