C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...+aa...a(n个a)的值。

作者&投稿:端言 (若有异议请与网页底部的电邮联系)
输入两个整数a和n,计算Sn=a+aa+aaa+aa...a(n个a),用c语言写个程序将这道题计算出来,急!~

格式错误:scanf("%d,%d",a,n);应该是scanf("%d,%d",&a,&n);
逻辑错误:a=a+a*10,a的值变了,不再是原先输入的a。
修改方法:格式错误按C语言要求的格式修改。逻辑错误引入新的变量k解决。
#include int main(){int a,n,k=0,sum=0,i;//定义变量k,并赋初始值0scanf("%d,%d",&a,&n);//按C语言要求的格式修改for(i=1;i<=n;i++){k=k*10+a;//计算k值,a值不变sum=sum+k;//累加k值}printf("%d",sum);return 0;}

1、以C#控制台应用程序为例:
Console.WriteLine("输入3个整数,之间以逗号分隔,回车键结束...");
string str = Console.ReadLine(); //读入用户输入信息
string[] input = str.Split(new char[] { ',' }); //以逗号为分隔符,分离出各项
if (input.Count() == 3) //不是3,用户输入错
{
try
{
//异常处理,用户输入非整数会引发异常处理
int a = int.Parse(input[0]), b = int.Parse(input[1]), c = int.Parse(input[2]);
int value1 = a + b * c; //计算表达式
Console.WriteLine("a+b*c的计算结果:" + value1.ToString());
}
catch
{
Console.WriteLine("用户输入错误!"); //当用户输入非整数时,执行
}
}
else
Console.WriteLine("用户输入错误!"); //用户输入不符合指定格式,执行
Console.WriteLine("按回车键退出程序..."); 
Console.ReadLine(); //调试时,防止程序结束,看不到执行结果
2、执行结果如下:

3、当用户输入错误

注:Console.ReadLine();是以回车键结束。
扩展资料:
C#控制台程序的输入输出
信息输入到控制台:有三个方法可以实现
Console.ReadKey():获取按下的键盘,一般用来暂停控制台程序。
Console.Read(): 返回值为首字符的ASCII码
Console.ReadLine():获取输入的字符串
将信息输出到控制台:有两个方法实现、
Console.WriteLine()输出一行,进行换行。
Console.Write()输出一行,不换行。

#include <stdio.h>

void main()

{int i,j,a,n,k=0,out=0;

printf("请输入a与n:");

scanf("%d %d",&a,&n);

for(i=0;i<n;i++)

{

for(j=0;j<=i;j++)

{

k=k*10+a;

}

out+=k;

k=0;

}

printf("the result is:%d
",out);

}

或者用楼上的公式

#include <stdio.h>

void main()

{int i,a,n,k=1,out;

printf("请输入a与n:");

scanf("%d %d",&a,&n);

for(i=0;i<n+1;i++)

{

 k=k*10;

}

out=a*k/81-10*a/81-a*n/9;

printf("the result is:%d
",out );

}



/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int a,i,n,b;
double sum=0.0;
printf("请输入a值:");
scanf("%d",&a);
printf("请输入n值:");
scanf("%d",&n);
sum=b=a;
for(i=1;i<n;i++)
{b+=a*pow(10,i);//求第n项的值,pow是10的i次幂的函数
sum+=b;//各项值累积求和
}
printf("它们的和为:");
printf("%lf",sum);//输出各数的和
}
//a是整型数,请楼主注意

要带数组的?

#include <stdio.h>
void main()
{
int a,n,b,s;
printf("请输入小于10的自然数a:\n");
scanf("%d ",&t);
if(t<=0||t>=10)
prinf("输入错误\n")
else
a=t;
printf("请输入自然数n:\n");
scanf("%d ",&t);
if(t<=0)
prinf("输入错误\n")
else
n=t;
s=b=a; //初始化s和b
for(i=1;i<n+1;i++)
{
printf("您要计算的表达式是:\n")
printf("%d+",b)
b=b*10+a; //确定第i个数b
s+=b; //前i个数的和
}
printf("求和结果为:%d",s)
}

若要使用数组,首先要确定数组的大小,就是给n限定一个最大值,如100

#include <stdio.h>
void main()
{
int a[100],n,b,s,t; //t为临时变量
printf("请输入小于10的自然数a:\n");
scanf("%d ",&t);
if(t<=0||t>=10)
prinf("输入错误\n")
else
a[0]=t;
printf("请输入自然数n:\n");
scanf("%d ",&t);
if(t<=0||t>100)
prinf("输入错误\n")
else
n=t;
s=b=a[0]; //初始化s和b
for(i=1;i<n+1;i++)
{
printf("您要计算的表达式是:\n")
printf("%d+",b)
a[i+1]=a[i]*10+a[0]; //确定第i个数b
s+=a[i+1]; //前i个数的和
}
printf("求和结果为:%d",s)
}

程序我不会编,但这个公式我知道=a*(10^(n+1))/81-(10a)/81-(a*n)/9

读入(a,n);

for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
k=k*10+1;
}
out+=k;
k=0;
}
out=out*a;

输出 out;

编写一个程序,从键盘输入m,输出大于m且紧随m的素数
答:include<stdio.h> int fun(int m)int i,k; for(i=m+1;;i++){ for (k=2;k=i)return(i);void main()int n;printf("\nPlease enter n:");scanf("%d"",&n);printf("%d\n",fun(n));}

用C语言编写程序从键盘输入三个数,求三个数的和并输出
答:参加下, 代码比较简短 include <stdio.h> int main(void){ int a=0,b=0,c=0;scanf("%d %d %d", &a,&b,&c);printf("a+b+c=%d\n",a+b+c);return 0;}

...C语言实现。从键盘上输入一个字符串,编写一个程序完成指定字母的替代...
答:你好,很高兴为你解答,代码如下:include <stdio.h> include <string.h> main(){ char a[100];gets(a);//整行输入 int len = strlen(a);//求字符串长度 for(int i = 0;i < len;i++)//逐一检验 { if(a[i]== 'i')printf("a");else printf("%c",a[i]);} printf("\n...

c语言程序编写:要求从键盘上输入一个不多于5位数的正整数,依次输出每一...
答:include <stdio.h> void main(){ int n;scanf("%d",&n);if(n/100000)printf("应输入一个不多于5位数的正整数!\n");else { printf("%d",n%10);n/=10;while(n){ printf(",%d",n%10);n/=10;} } }

编写一个程序从键盘输入1到7数字中的一个,对应打印星期几,例如从键盘...
答:1、首先打开VS2017软件,选择新建下面的项目,如下图所示 2、C语言程序目录建成以后,右键单击源文件,选择添加新建项 3、接着选择C++文件,给文件起一个名字,如下图所示 4、然后在C语言文件中编写如下的C语言程序 5、运行结果如下:

C语言问题:编写循环程序,从键盘输入5个数据,统计其中大于0数据的...
答:include<stdio.h> int main(){int x,i,n=0;for(i=0;i<5;i++){scanf("%d",&x);if(x>0)n++;} printf("5个数据中有%d个是正数\n",n);return 0;}

用C语言编写程序,从键盘输入四个数,求其最大值
答:代码如下:include <stdio.h> void main(){ float a,b,c,d,max;printf("请输入四位数字:\n");scanf("%f%f%f",&a,&b,&c,&d);max=a;if(max<b)max=b;if(max<c)max=c;if(max<d)max=d;printf("最大的数值为:%f\n",max);} 不知道帮没帮到你的忙 呵呵 望采纳 ...

c语言从键盘输入A~Z中的一个大写字母,编写程序把它转换成相应的小写字...
答:include <conio.h> include <stdio.h> int main(){ char ch;scanf("%c",&ch);if (ch>='A'&&ch<='Z')ch+=32;printf("ch=%c\n",ch);getch();return 0;}

用C语言编程从键盘输入一个正整数,判断其个位数是否为5,若是5则输出...
答:include <stdio.h> int main(){ int five;printf("输入一个整数:");scanf("%d",&five);while(five>10){ five = five%10;} if(five == 5)printf("yes");else printf("no");return 0;}

C语言 从键盘输入一个班的成绩 怎么用while语句实现的程序代码?_百度...
答:{printf("\n输入有误,请重新输入!");scanf_s("%f", &score);} switch ((int)(score / 10)){ case 10:case 9:grade = 'A'; break;case 8:grade = 'B'; break;case 7:grade = 'C'; break;case 6:grade = 'D'; break;case 5:case 4:case 3:case 2:case 1:case 0:...