12.22指针 打印数组 字符串逆序 计算求和 打印水仙花数-程序员宅基地

技术标签: c语言  青少年编程  

使用指针打印数组

#include <stdio.h>
int main()
{	int a[]={1,2,3,4,5,6,7};
	int *p=a;
	int i=0;
	int n=sizeof(a)/sizeof(a[1]);
	while (i<n)
	{	
		printf("%d ",*(p+i));
		
		i++;
	}

 return 0;
	
}

字符串逆序利用指针实现

#include <stdio.h>
int main()
{	char a[]="abcdefg";
	char *p=a;
	int i=0;
	int len=sizeof(a)/sizeof(a[1]);
	int left=0;
	int right=sizeof(a)/sizeof(a[1]);
	char temp;
	while (i<len)
	{	
		printf("%c ",*(p+i));
		
		i++;
	}
	i=0;
	while (i<=(len/2)) 
	{
	temp=*(p+right);
	*(p+right)=*(p+left);
	*(p+left)=temp;
	right--;
	left++;
	i++;
	}

	i=0;
	while (i<=len)
	{	
		printf("%c ",*(p+i));
		
		i++;
	}
 return 0;
	
}

计算求和

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

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

#include <stdio.h>
int main()
{	int a;
	int b;
	int n;
	int i;
	int sum;
	
	printf("请输入数字和计算次数:\n");
	scanf("%d %d",&a,&n);
	b=a;

	for(i=1;i<=n;i++)
	{	
		if(i==n)
	{
		printf("%d=",b);
		sum=sum+b;
	}	else
	{
		printf("%d+",b);
		sum=sum+b;
		b=b*10+a;
	}
	}
	printf(" %d",sum);

 return 0;
	
}

 打印水仙花数

#include <stdio.h>
#include <math.h>
double countnum(int x)
{	double count=0.0;

	while (x) 
	{
	count++;
	x=x/10;
	
	}
	return count;
}
int thirdmath(int x)
{
	int a[6]={0};
	int i;
	int *p=a;
	int sum=0;
	int n=countnum(x);
	for(i=0;i<6;i++)
	{
		*(p+i)=0;
	}
	i=0;
	while (x)
	{
	*(p+i)=x%10;
	x=x/10;
	i++;
	}
	for(i=0;i<6;i++)
	{
		sum=sum+pow(*(p+i), n);
	}
	return sum;
}
int main()
{	int a;
	int i;
	printf("100000内水仙花数有:");
	for(i=1;i<=100000;i++)
	{
		countnum(i);
		if (i==thirdmath(i)) 
		{
		printf(" %d ",i);
		}
		
	}

 return 0;
	
}

打印菱形 

 参考

http://t.csdnimg.cn/5XPjw

#include <stdio.h>
int main()
{
	int n = 0;
	//输入一个奇数
	scanf("%d", &n);
	int down = n / 2; //上半部分的行数
	int up = n - down; //下半部分的行数
 
    //打印上半部分
	for (int i = 0; i < up; i++) //控制行
	{
		//打印空格
		//通过规律可以发现是up - 1 - i
		for (int j = 0; j < up - 1 - i; j++)
		{
			printf(" ");
		}
 
		//打印 *
		//因为*是奇数且递增的,所以也不难发现是2 * i + 1
		for (int j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		//切记每打完一行都要换行
		printf("\n");
	}
 
	//打印下半部分
	for (int i = 0; i < down; i++) //控制下半部分的行
	{
		//打印空格
		//空格的个数恰好就是下半部分的行数
		for (int j = 0; j <= i; j++)
		{
			printf(" ");
		}
 
		//打印 *
		//这个规律也不难发现。它是奇数且递减
		for (int j = 0; j < 2 * (down - i) - 1; j++)
		{
			printf("*");
		}
		//打印完一行别忘记换行
		printf("\n");
	}
 
	return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/use_1yanfeng/article/details/135153684

智能推荐

基于Java自习室预订座位管理系统设计实现(源码+lw+部署文档+讲解等)_java座位预约系统-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏6次。使用旧方法对自习室预订座位管理信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在自习室预订座位管理信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的自习室预订座位管理系统管理员,学生。管理员功能有个人中心,学生管理,座位分类管理,座位信息管理,座位预约管理,暂离信息管理,签到信息管理,退座信息管理。学生功能有个人中心,座位信息管理,座位预约管理,暂离信息管理,签到信息管理,推座信息管理。_java座位预约系统

设置n卡显示_英伟达牛皮!新驱动开放给显示器的G-Sync 本人亲测有效!-程序员宅基地

文章浏览阅读2.1k次。【PConline DIY老司机】在1月15日的时候,英伟达终于发布了这个让广大电竞玩家盼长了脖子的功能:G-Sync Compatible,就是可以让一些非原生G-Sync的显示器用上G-Sync,这个功能对显示器行业来说可以说是具有里程碑式意义的。但想要用上这个喜闻乐见的G-Sync Compatible功能,硬件和软件方面都是有些条件要求的,想给自家显示器开G-Sync的朋友,这些预习功课要..._用n卡能不能用adaptivesync显示器技术

单片机毕业设计:基于stm32的物联网电子秤-程序员宅基地

文章浏览阅读180次。单片机毕业设计:基于STM32的物联网电子秤。

【opencv-python】霍夫圆检测_python霍夫变换识别同心圆-程序员宅基地

文章浏览阅读6.8k次,点赞11次,收藏55次。霍夫变换检测直线的原理是利用累加器找到最大的(ρ,θ)(ρ,θ)(ρ,θ)数对,如文章所述。圆形的数学表达式为(x−xcenter)2+(y−ycenter)2=r2(x-x_{center})^2+(y-y_{center})^2=r^2(x−xcenter​)2+(y−ycenter​)2=r2,其中(xcenter,ycenter)(x_{center},y_{center})(xcenter​,ycenter​)为圆心坐标,rrr为圆的直径。因此可知一个圆需要xcenter,ycenter,rx_{_python霍夫变换识别同心圆

多个按钮点击切换样式_实现多个button点击后改变样式-程序员宅基地

文章浏览阅读483次,点赞2次,收藏2次。多按钮点击切换不同样式_实现多个button点击后改变样式

PAT-A-https://www.patest.cn/contests/pat-a-practise/1029-程序员宅基地

文章浏览阅读2.3k次。Given an increasing sequence S of N integers, the median is the number at the middle position. For example, the median of S1={11, 12, 13, 14} is 12, and the median of S2={9, 10, 15, 16, 17} is 15. The

随便推点

Cisco路由器enable特权模式密码重置_思科模拟器更改enable密码不会变是怎么回事-程序员宅基地

文章浏览阅读1.3k次。以cisco packet tracer 模拟器来模拟重置路由器的密码,packet tracer默认路由器端口是关闭的,需要手动启用1、把路由器关机并重启!看到###后立即按下【Ctrl+c】键中断路由器的启动过程,进入 rommon 模式!2、输入命令改变配置寄存器的值为 0x2142,这会使得路由器开机时不读取 NVRAM 中的配置文件 。然后重新启动路由器!3、路由器重启后会直接进入到 s..._思科模拟器更改enable密码不会变是怎么回事

黑吃黑?NEMTY勒索病毒RAAS服务私有化-程序员宅基地

文章浏览阅读1k次,点赞32次,收藏23次。黑吃黑?NEMTY勒索病毒RAAS服务私有化

java.lang.Error: Unresolved compilation problems:解决方案_nested exception is java.lang.error unresolved com-程序员宅基地

文章浏览阅读2.3w次。参考网址:http://www.360doc.com/content/12/1015/17/4152160_241639166.shtml问题:项目能正常启动,但在系统登录时却报错!MyEclipse 报错问题。原因:由于电脑上安装了多个JDK版本,而MyEclipse IDE 使用默认版本,使得 IDE 的Compiler Compliance level 与 Installed J_nested exception is java.lang.error unresolved compilation problems

基于springboot+vue.js的附带文章和疫情隔离管理系统源代码设计说明文档ppt-程序员宅基地

文章浏览阅读850次,点赞15次,收藏17次。博主介绍:CSDN特邀作者、985计算机专业毕业、某互联网大厂高级全栈开发程序员、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序、前端、python等技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导、面试辅导、简历修改。精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐。

LightOJ - 1179 Josephus Problem(递推公式)_josephus 谜题的数学递推公式-程序员宅基地

文章浏览阅读164次。题目链接:Josephus Problem - LightOJ 1179 - Virtual Judge (ppsucxtt.cn)这是一个约瑟夫环问题,由于数据范围比较大,暴力求解是肯定会超时的,所以就必须要用数学递推公式来求解了,递推公式我会在代码中给予展示,证明的步骤我就不写了,在这附上一篇大佬的博客地址,里面有关于该公式的证明(59条消息) 约瑟夫环——公式法(递推公式)_再难也要坚持-程序员宅基地_约瑟夫环公式下面是代码:#include<cstdio>#inclu_josephus 谜题的数学递推公式

android studio真机测试不生成apk,Android应用开发Android Studio编译出来的APK无法安装如何解决?...-程序员宅基地

文章浏览阅读1.2k次。本文将带你了解Android应用开发Android Studio编译出来的APK无法安装如何解决?,希望本文对大家学Android有所帮助。AndroidStudio编译出来的APK无法安装如何解决?随着Android8.0的发布,国内虽然没上8.0但是7.0、7.1已经比较普遍了。AndroidStudio也做了不少更新。但是有不少人发现,我更新了AndroidStudio,发现我的手机无法调试..._升级android studio后,运行真机程序时没有在output生成apk包

推荐文章

热门文章

相关标签