一篇朴实无华的实验报告

1分别求出数组中所有3的倍数之和以及5的倍数之和。形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。例如:数组中的值依次为:1,5,92315,116,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。请在下面空白处完善这一函数的功能,并且调试运行出结果。

#define _CRT_SECURE_NO_WARNINGS
#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<9; i++)


        if (a[i] % 3 == 0)

            *three += a[i];

        for (i = 0;i<9 ;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);
}

2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。(例如输入abcdef,输出fedcba)。请编写相应的程序代码,并调试运行出正确结果。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void reverse(char* left, char* right)
{
 while (left < right)
 {
  char tmp = 0;
  tmp = *left;
  *left = *right;
  *right = tmp;
  left++;
  right--;
 }
}

int main()
{
 char arr[100] ;
 printf("请输入一个字符串\n");
 gets_s(arr);
 
 int len = strlen(arr);
 reverse(arr, arr + len - 1);

 printf("%s\n", arr);

 return 0;
}                   

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)求最小数、最大数的位置;(2)进行对换处理;(3)主函数。

void found(int* a)
{
    void change(int* min, int* max, int* a);
    int* min, * max, * p;
    max = min = a;
    for (p = a + 1; p < a + 10; p++)
        if (*p > *max)  max = p;
   
    for (p = a + 1; p < a + 10; p++)
        if (*p < *min) min = p;
    change(min, max,a);
}

void change(int* min,int * max,int *a)
{
    int t;
    t = a[9]; 
    a[9] = *max; 
    *max = t;
    t = a[0]; 
    a[0] = *min; 
    *min = t;
}

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值