其他分享
首页 > 其他分享> > 迟到的博客

迟到的博客

作者:互联网

迟到的博客

今天是周一,上周由于要准备月考,没有来得及写博客(虽然根本没什么人看),但习惯还是要保持的,万一哪天遇到伯乐呢。

C++中的头图小问题

这篇博客的主要记录还是有关C++的各种编码,主要因为博主在复习时遇到了很多问题,趁着自己还有一些记忆,赶紧记录下来。警告前方水文预警,各路大神请避让,各路大神请避让,废话不多说,直接开整。

{int i,n,sum=0;
scanf("%d",&n);
for(i=1;i<n;i++)
{if(n%i==0)
sum=sum+i;
}
if(n==sum)
printf("%d\n",n);

这里要注意,因为代码中用到了sum=sum+i;所以一定要设置一个初始值为0,如果不设置,则默认为1,因为是加法,所以会影响结果。
接下来在外边再套一个循环语句即可。

int i,n,sum=0,a;
scanf("%d",&a);
while(n!=a)
{n++,sum=0;
for(i=1;i<n;i++)
{if(n%i==0)
sum=sum+i;
}
if(n==sum)
printf("%d\n",n);
}

奉上效果图
在这里插入图片描述

int a,b,n,sum;
scanf("%d%d",&a,&b);
for(n=a;n<=b;n++)
{if(n%2==0)
{sum=sum*n;
}
}
printf("%d",sum);

这里我遇到的问题是,第一次没有没有判断它是否为偶数,也就是没有写其中的if语句,并且这里的sum默认为1,对乘法结果没有影响,不必专门进行赋值。

int hun,ten,ind,n,num;
scanf("%d",&num);
for(n=100;n<=num;n++)
{hun=n/100;
 ten=(n-hun*100)/10;
 ind=n%10;
 if(n==hun*hun*hun+ten*ten*ten+ind*ind*ind)
 printf("%d",n);
}

在这里插入图片描述

-下一题 1/2-1/3+1/4+…+1/n(-1/n)

int n;
double deno=2,sign=1,sum=1,term;
scanf("%d",&n);
	while(deno<=n)
	{sign=-sign;
	 term=sign/deno;
	 sum=sum+term;
	 deno=deno+1;}
	printf("%lf",sum);

要注意的是,因为有分数计算,所以要采用double 浮点型来定义,输出时也要使用%lf。
-下一题,这里建议使用f ;else if;else if;else if…;else的结构,代码实在太长,就不给大家临时手打了。奉上截图。在这里插入图片描述
代码在这里插入图片描述
-下一题。在这里插入图片描述
错误示范

int x;
 float y;
 char z;
 scanf("%d%f%c",&x,&y,&z);
 printf("%d\n%f\n%c\n",x,y,z);
return 0;

在这里插入图片描述
这是原因,博主也不知道,后来请求老师,经过多次讨论,认为 z拿到的是2.5和a之间的空格,解决办法就是,在定义一个字符,把空格给这个字符。

int x;
 float y;
 char space,z; 
 scanf("%d%f%c%c",&x,&y,&space,&z);
 printf("%d\n%f\n%c\n",x,y,z);
return 0;

在这里插入图片描述

感谢我亲爱的薛老师帮我解决问题在这里插入图片描述

此次博客到此结束。

标签:int,sum,hun,n%,博客,迟到,printf,scanf
来源: https://blog.csdn.net/weixin_50835854/article/details/110824985