• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
qyk123
博客园    首页    新随笔    联系   管理    订阅  订阅
C语言实验报告六——指针

题目:编写一个函数,求1~m之间(含m)能被7或11整除的所有整数并放在数组a中,在main函数中输出这些数和这些数的个数。

例如:若m的值为50,则程序输出:

      7  11  14  21  22  28  33  35  42  44  49 

      总数:11

思路:

  1. 声明一个数组 a 存储1到50的整数。
  2. 使用循环填充数组,每个数组元素的值为数组下标加1。
  3. 输出数组中的元素,每行显示5个。
  4. 使用指针 p 遍历数组,调用函数 hanser 判断是否能被7或11整除。
  5. 如果能被整除,输出该元素,同时递增 t 计数器。
  6. 输出符合条件的整数的个数 t。

代码:

#include <stdio.h>
#define m 50//个数
bool hanser(int* p1)
{
	bool f = false;
	if (*p1 % 7 == 0 || *p1 % 11 == 0)
		f = true;
	return f;
}
void main()
{
	int a[m], i;
	bool f;
	int* p = a, t = 0;//t为总数
	for (i = 0; i < m; i++)
	{
		*(p + i) = i + 1;
		printf("%5d", *(p + i));
		if ((i + 1) % 5 == 0) printf("\n");
	}
	printf("能被7或11整除的所有整数有: \n");
	p = a;
	for (i = 0; i < m; i++)
	{
		f = hanser(p);
		if (f)
		{
			t++;
			printf("%5d", *p);
		}
		p++;
	}
	printf("\n");
	printf("t=%d", t);
}
  1. 宏定义:

    • 使用 #define m 50 定义了一个宏,表示整数数组的个数。
  2. 函数 hanser:

    • 定义了一个返回布尔值的函数 hanser,接受一个整数指针作为参数。
    • 函数判断指针所指向的整数是否能被7或11整除,如果可以返回 true,否则返回 false。
  3. 主函数 (main):

    • 声明一个整数数组 a,用于存储1到50的整数。
    • 使用指针 p 指向数组的首地址,同时声明变量 t 用于存储满足条件的整数的个数。
  4. 填充数组并输出:

    • 使用循环填充数组 a,同时输出数组中的元素,每行显示5个。
    • 每个数组元素的值为数组下标加1。
  5. 查找能被7或11整除的整数:

    • 重新将指针 p 指向数组的首地址,使用循环遍历数组。
    • 调用函数 hanser 判断当前元素是否能被7或11整除。
    • 如果能被整除,输出该元素,并递增 t 计数器。
  6. 输出符合条件的整数个数:

    • 输出 t 的值,表示满足条件的整数的个数。
posted on 2024-02-21 14:23  qiyukun  阅读(68)  评论(0)    收藏  举报  来源
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3