
求大神们解答C语言编程问题,循环程序累加数谢谢啦~
输入一个1~9之间的整数,完成一个累加和计算,例如输入5,输出s=13715,计算公式如下:s=1+12+123+1234+12345,要求必须用循环。谢谢啦~~~...
输入一个1~9之间的整数,完成一个累加和计算,例如输入5,输出s=13715,计算公式如下:s=1+12+123+1234+12345,要求必须用循环。谢谢啦~~~
展开
展开全部
#include<stdio.h>
#include<math.h>
void fun(int a);
int main()
{
int a;
printf("请输入1~9任一数字:");
INPUT:
scanf("%d",&a);
if(a>9||a<1)
{
printf("输入越界,请重输入:");
goto INPUT;
}
fun(a);
return 0;
}
void fun(int a)
{
int s=0;
printf("\n输出结果:\n");
for(int i=1;i<=a;i++)
{
int tmp=123456789/pow(10,(9-i));
s+=tmp;
printf("%d",tmp);
if(i!=a)
printf("+");
else
printf("=");
}
printf("%d\n\n",s);
}
展开全部
i + +; SWITC语句可以写在里面,但如果你写在里面SWITC声明,我们都必须一起在任何情况下,默认的第i + +; 您可以使用一个非常简单的方法来解决这个问题,你可以使用一个非常繁琐的解决问题的办法,那就是区别。
追问
您可以写出完整程序出来么,谢谢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
if((0 < x) && (9 >= x))
{
int sum = 0;
for(int i = 1;i <= x;++i)
{
int t = 0;
for(int j = 1;j <= i;++j)
{
t = (t * 10) + j;
}
sum += t;
printf("%d+",t);
}
printf("\b=%d",sum);
}
else
{
printf("error.\n");
}
return 0;
}
int main()
{
int x;
scanf("%d",&x);
if((0 < x) && (9 >= x))
{
int sum = 0;
for(int i = 1;i <= x;++i)
{
int t = 0;
for(int j = 1;j <= i;++j)
{
t = (t * 10) + j;
}
sum += t;
printf("%d+",t);
}
printf("\b=%d",sum);
}
else
{
printf("error.\n");
}
return 0;
}
追问
你这个算法只是显示出了112123123412345,而不是1+12+123+1234+12345
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-16
展开全部
#include <stdio.h>
int main()
{
int n;
printf("输入一个1~9之前的数字:");
scanf("%d",&n);
if (n>=1 && n<=9)
{
int sum = 0;
int temp = 1;
for(int i=0; i<n; ++i)
{
sum += temp;
temp*=10;
temp+=i+2;
}
printf("sum=%d\n",sum);
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |