华北水院高级语言程序设计(C语言)实验报告(六)
--学年第学期
级专业:学号:姓名:………………………………………………………………………………………………
一、实验题目:指针
二、实验目的:(略)
三、实验内容:
1. 程序验证(略)
2.程序设计
1)分别求出数组中所有3的倍数之和以及5的倍数之和。
形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。
例如:数组中的值依次为:1,5,9,2,3,15,11,6,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。
请在下面空白处完善这一函数的功能,并且调试运行出结果。
源代码:运行结果:
#include <stdio.h>
#define N 20
void fun(int *a,int n,int *three,int *five)
{
int i;
*three=0;*five=0;
for(i=0;i<n;i++)
if(a[i]%3==0)
*three+=a[i];
for(i=0;i<n;i++)
if(a[i]%5==0)
*five+=a[i];
}
void main()
{
int a[N]={1,5,9,2,3,15,11,6,10},i,n=9,three,five;
printf("The original data is:\n");
for(i=0;i<n;i++)
printf("%5d",*(a+i));
printf("\n\n");
fun(a,n,&three,&five);
printf("3的倍数之和:%d\n",three);
printf("5的倍数之和:%d\n",five);
}
华北水院高级语言程序设计(C语言)实验报告(六)
--学年第学期
级专业:学号:姓名: ………………………………………………………………………………………………2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。
(例如输入abcdef,输出fedcba)。
请编写相应的程序代码,并调试运行出正确结果。
源代码:运行结果:
#include<stdio.h>
#include<string.h>
void main()
{
int i;
int length;
char str[80];
char s;
printf("请输入一个字符串:\n");
scanf("%s",str);
length=strlen(str);
printf("字符串逆序输出为:\n");
for(i=length;i>0;i--)
{
s=str[i-1];
printf("%c",s);
}
printf("\n");
}
void fun(char *s)
{
int i,length;
char temp;
length=strlen(s);
for(i=0;i<length/2;i++)
{
temp=s[i];
s[i]=s[length-i-1];
s[length-i-1]=temp;
}
}。