用C语言的while循环语句编写1+11+111+1111+11111+····· +11···11最后是n个1

如题所述

#include "stdio.h"
#include "math.h"
void main()
{
int i=1,n;
long sum=0,count=0,a;
scanf("%d",&n);
while(i<=n)
{
a=pow(10,i-1);
sum=sum+a;
count=count+sum;
i++;
//printf("%d\n",sum); //这里可以输出1,11,111,1111,……
}
printf("%d\n",count);
}
//超级简洁的代码,不懂可以把那个注释的//去掉看看。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-30
#include<stdio.h>
int main(void)
{
int temp=0,ans=0;
int i=0,n;
scanf("%d",&n);
while(i<n)
{
temp*=10;
temp++;
ans+=temp;
i++;
}
printf("%d\n",ans);
return 0;
}

第2个回答  2012-03-30
#include <stdio.h>

int main()
{
int num=0;//num表示要输出的11111
int n=10;//n表示要输出多少个1
while(n)
{
int temp=num;
num=10*temp+1;
printf("%d ",num);
n--;
}
printf("\n");
}
第3个回答  2012-03-30
#include<stdio.h>
void main()
{
int n=-1,i;
long s=0,p;
printf("please input n:\n");
while(n<0)
scanf("%d",&n); //输入n的值
p=i=1;
while(i<=n)
{
s+=p;
p*=10;
i++;
}
printf("%ld",s);
}
第4个回答  2023-02-17
#include<stdio.h>
int main(void)
{
int temp=0,ans=0;
int i=0,n;
scanf("%d",&n);
while(i<n)
{
temp*=10;
temp++;
ans+=temp;
i++;
}
printf("%d\n",ans);
return 0;
}