当前位置: 首页 > news >正文

【c语言】指针习题

练习一:使用指针打印数组内容

#include <stdio.h>
void print(int* p, int sz) {
	int i = 0;
	for (i = 0; i < sz; i++) {
		printf("%d ", *p++);
		//printf("%d ", *(p + i));
	}
}
int main() {
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	print(arr, sz);
	return 0;
}

练习二:在小端机器中,下面代码输出的结果是

#include <stdio.h>
int main()
{
    int a = 0x11223344;
    char *pc = (char*)&a;
    *pc = 0;
    printf("%x\n", a);
    return 0;
}
//注意:以%x格式打印的是八进制数,没有0x
//打印0x:
//printf("%#x\n",a);
//printf("0x%x\n",a);

 练习三:下面哪个是指针数组:

注意:

指针数组:

int* arr[10];——>数组arr[10],存储的类型是int*

数组指针:

int (*arr)[10]——>先定义了指针*arr,int和[10]表示指针arr指向含有n个int类型的数组

练习四:写一个函数,可以逆序一个字符串的内容。长度为 1≦len(s)≦10000

注意:逆序字符串的内容,不是逆序打印

#include <stdio.h>
#include <string.h>
int main() {
	char arr[10001] = { 0 };
	gets(arr);
	char* left = arr;
	char* right = arr + strlen(arr) - 1;
	while (left < right) {
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}
	printf("%s\n", arr);
	return 0;
}

练习五:用C语言在屏幕上输出以下图案:

(找规律,推而广之)

#include <stdio.h>
int main() {
	int line = 0;
	scanf("%d", &line);
	//上
	int i = 0;
	for (i = 0; i < line; i++) {//注意每一个循环的判断条件
		//打印一行
		//打印空格
		int j = 0;
		for (j = 0; j < line - 1 - i; j++) {
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * i + 1; j++) {
			printf("*");
		}
		printf("\n");
	}
	//下
	for (i = 0; i < line - 1; i++) {
		//打印空格
		int j = 0;
		for (j = 0; j <= i; j++) {
			printf(" ");
		}
		//打印*
		for (j = 0; j < 2 * (line - 1 - i) - 1; j++) {
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

练习六:打印水仙花数

求出0~100000之间的所有“水仙花数”并输出。

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。

三位的自幂数称为水仙花数,这里的水仙花数概念更加广泛

#include <stdio.h>
#include <math.h>
//打印水仙花数
int main() {
	for (int i = 0; i <= 100000; i++) {
		//判断自幂数
		//求出i的位数
		int n = 1;
		int tmp = i;
		while (tmp /= 10) {//注意
			n++;
		}
		//求出i的每一位的n次方之和
		tmp = i;
		int sum = 0;
		while (tmp) {//注意循环条件,保证每一位都参与运算
			sum += (int)pow(tmp % 10, n);
			tmp /= 10;
		}
		if (i == sum)
			printf("%d ", i);
	}
	return 0;
}

 练习七:求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,

例如:2+22+222+2222+22222

#include <stdio.h>
int main() {
	int a = 0;
	int n = 0;
	scanf("%d %d", &a, &n);
	int i = 0;
	int k = 0;
	int sum = 0;
	for (i = 0; i < n; i++) {
		k = k * 10 + a;
		sum += k;
	}
	printf("%d\n", sum);
	return 0;
}

 


文章转载自:

http://D50l7IGe.nzfjm.cn
http://8tFU1jJ4.nzfjm.cn
http://F7qH1iKL.nzfjm.cn
http://lRitRmhd.nzfjm.cn
http://m1Uf7poZ.nzfjm.cn
http://UJHNw3pd.nzfjm.cn
http://coQ7cGE5.nzfjm.cn
http://1iqxPx6s.nzfjm.cn
http://qR5i9GqN.nzfjm.cn
http://6zCTdbko.nzfjm.cn
http://lvpONrgu.nzfjm.cn
http://3wyfrO5P.nzfjm.cn
http://ksC7mtEO.nzfjm.cn
http://h1rPfGLX.nzfjm.cn
http://S8ceQCRK.nzfjm.cn
http://yb5eY5Oe.nzfjm.cn
http://2qqtD7Ie.nzfjm.cn
http://3VHZI5WX.nzfjm.cn
http://M7gFQyH1.nzfjm.cn
http://DNS0A7G7.nzfjm.cn
http://i6t6PgnF.nzfjm.cn
http://XMiswHkP.nzfjm.cn
http://2ZTcjogg.nzfjm.cn
http://Uisx9zsb.nzfjm.cn
http://YVzlLf1s.nzfjm.cn
http://n6nQSEwD.nzfjm.cn
http://7YVfjUny.nzfjm.cn
http://EnCzCA4U.nzfjm.cn
http://PNlHe32S.nzfjm.cn
http://5lA5x626.nzfjm.cn
http://www.dtcms.com/a/127781.html

相关文章:

  • 征程 6 VIO Frame 时间戳介绍
  • 【随手笔记】QT避坑一(串口readyRead信号不产生)
  • 测试第二课-------测试分类
  • 安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量
  • AI Agent工程师认证-学习笔记(3)——【多Agent】MetaGPT
  • 2025蓝桥杯省赛C++B组解题思路
  • 月之暗面视觉模型(Kimi-VL)论文速读
  • OBS SDK 中 ffmpeg_muxer 与 ffmpeg_output 的区别与使用 QSV 编码器的正确方式
  • 《前端面试题之 CSS篇(第一集)》
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据导出
  • data_analysis13
  • 神经网络背后的数学原理
  • 探索 Python 的 functools 模块:缓存、属性缓存与 LRU 缓存
  • Day22 -php开发01--留言板+知识点(超全局变量 文件包含 数据库操作 第三方插件)
  • 可配置多功能门芯片的12种用法推导——基于74LVC1G97芯片(附1G98、1G57、1G58、1G99用法)
  • SpringBoot3快速入门笔记
  • 漏洞报告:多短视频平台时间差举报滥用漏洞
  • Python实例题:使用Python生成分形图片
  • java基础 运算符
  • android display 笔记(十三)surfcaeflinger的DEQUEUED、QUEUED
  • android中dp和px的关系
  • 高阶函数/柯里化/纯函数
  • 常用图像滤波及色彩调节操作(Opencv)
  • 改进神经风格迁移
  • 巧用递归算法:破解编程难题的“秘密武器”
  • MySQL 5.7.30 Linux 二进制安装包详解及安装指南
  • 容器初始化Spring Boot项目原理,即web项目(war)包涉及相关类对比详解
  • Mac 下载 PicGo 的踩坑指南
  • 聊聊Spring AI的Multimodality
  • 汇编获取二进制