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