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;


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

相关评论:
  • 18941681374C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...
    隗谢些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\\n",out );}

  • 18941681374C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩。
    隗谢些1、虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。2、循环语句中进行10个数的累加在sum里面,然后在循环语句外使用(average=sum\/10)来计算10个学生的平均成绩...

  • 18941681374用C语言编写一个程序:从键盘输入n(0<N<100)个整数,计算并输出其中出现...
    隗谢些1:次数最多 2:在次数最多的基础上,数值最大 ___以下为程序:include <iostream> \/\/ 设置最大值 define MAX 100 typedef struct record { int number[MAX];int counter[MAX];}record;int isExist(int array[], int index, record rd){ int i;int flag = -1;bool finish = true;for ...

  • 18941681374C语言,编写一个程序从键盘上输入两个整数,并求出两个数的平均值在屏幕...
    隗谢些{float a,b,c;printf("please enter number1:")scanf("%f",&a)printf("please enter number2:")scanf("%f",&b)c = (a+b)\/2;printf("the result is %.1f\\n",c);return 0;} C语言编写程序的方法:visual c++6.0 报错比较准确,但比较难用。是微软推出的一款编译器,是一个功能强...

  • 18941681374如何用C语言编写“从键盘上输入一个小写字母,将其本身及对应的大写字...
    隗谢些程序如下:include <stdio.h> int main(){ char ch;scanf("%c",&ch);printf("%c",ch-'a'+'A');return(0);} 示例一:include<stdio.h> int main(){ char ch;scanf("%c",&ch);printf("Letter %c converted into a letter %c!",ch,ch-32);\/\/大写字母ASCII码比小写字母小32 ...

  • 18941681374在C语言中编写一程序,实现从键盘输入一个大写字母,要求改用小写字母输...
    隗谢些实现从键盘输入一个大写字母,改用小写字母输出,可以使用下面的方法:include<stdio.h>int main(){char a;scanf("%c",&a);printf("%c",a+32);}执行效果如下:

  • 18941681374C语言编写一个程序,实现如下功能:从键盘输入一个三位数,求各位数字之...
    隗谢些include "stdio.h"void main(){ int n,sum=0;printf("请输入一个三位数:");scanf("%d",&n);sum=n\/100+n%100\/10+n%10;\/\/百位数+十位数+个位数 printf("这个三位数各位数字之和是%d\\n",sum);} 结果:

  • 18941681374编写一个程序,从键盘输入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));}

  • 18941681374C语言:从键盘输入一个不超过100个字符的字符串,其中字符串只包括字母...
    隗谢些1、首先需要打开编程软件。2、输入以下程序:#include <stdio.h>int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。3、然后按F5运行程序。4、然后输入想要输入的字符串。5、按回车键,就会弹出你输入的字符串。6、注意字符串的大小,改变中括号中的数字改变输入...

  • 18941681374用C语言编写程序,从键盘输入两个八进制数,计算两数之和并分别用十进制...
    隗谢些include "stdio.h"void main(){ int a,b;printf("请输入2个八进制数:");scanf("%o %o",&a,&b);printf("a+b = %d(十进制)\\n",a+b);printf("a+b = %x(十六进制)\\n",a+b);}

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网