C语言程序报告4,《C语言程序设计》 验 报 告4.doc

本文介绍了在C语言中通过指针实现的两个实验:一是统计字符串中元音字母及其频率,二是调整字符串中数字字符与非数字字符的位置。通过实践,巩固了指针定义、赋值及指针函数的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《C语言程序设计》 验 报 告4

《C语言程序设计》实 验 报 告 ( 4 )

学号: 姓名: 班级: 成绩:

实验名称:指针综合实验实验地点:实验室所使用的工具软件及环境:Windows XP系统;Visual C++ 6.0? 一、实验目的:

1)?熟悉指针的正确用法:指针定义、赋值。

2) 理解指针参数的特殊性;

3) 区别函数指针与指针函数

4)掌握函数、指针、数组的用法。

?二、实验内容:按题目要求编程并上机调试程序。

1、VC++ 6.0上机介绍(请参考VC++5.0完成,)

2、课堂练习

一、填空题

21.2/*请补充fun函数,该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)

。例如,输入UdsaeyiEosu,结果为A:1 E:2 I:1 O:1 U:2 other:4。

请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。

注意:部分源程序给出如下?*/

# include

# include

# define N 100

void fun(char *s,int a[])

{

char *r=s;

int i=0;

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

a[i]=0;

while(*r)

{

switch (*r)

{

case 'A':

case 'a':

a[0]++;

break;

case 'E':

case 'e':

a[1]++;

break;

case 'I':

case 'i':

a[2]++;

break;

case 'O':

case 'o':

a[3]++;

break;

case 'U':

case 'u':

a[4]++;

break;

default:

a[5]++;

}

r++;

}

}

main()

{

char s[N],yy[5]="AEIOU";

int i;

int a[6];

printf("Please input a sing to count: \n");

gets(s);

printf("The sing is: \n");

puts(s);

fun(s,a);

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

printf("\n%c:%d",yy[i],a[i]);

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

getch();

}

程序运行结果示例:

62.3/*给定程序中,函数fun的功能是:将s所指字符串中的所有非数字字符移到所有数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。

例如,形参s所指的字符串为:asf34fgrt5657gngjh78。则执行结果为sffgrtgngjh。

请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。

注意:部分源程序给出如下。*/

# include

void fun(char *str)

{

int i,j=0,k=0;

char temp1[80],temp2[80];

for(i=0;str[i]!='\0';i++)

if(str[i]>='a' && str[i]<='z')

{

temp2[j]=str[i];

j++;

}

else

{

temp1[k++]=str[i];

}

temp2[j]=0;

temp1[k]=0;

for(i=0;i

str[i]=temp1[i];

for(i=0;i

str[k+i]=temp2[i];

}

main()

{

char str[100]="asf34fgrt5657gngjh78";

printf("\nThe original string is : %s\n",str);

fun(str);

printf("\nThe result is : %s\n",str);

getch();

}

程序运行结果示例:

63.1/*给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值