您的位置:

c语言aaaa怎么算,C语言计算a+b

本文目录一览:

c语言 用函数做的 计算aaaa....aaa(n个a)的值,比如n=3,m=4,则3333

#includestdio.h

void fun(int a,int b)

{int i=1,sn=0;

while(i=b)

{

sn=sn+a;

a=a*10;

++i;

}

printf("%d\n",sn);

}

void main()

{int n,m;

printf("请输入n,m:\n");

scanf("%d %d",n,m);

fun(n,m);

}

最大计算到2^32,4294967296

利用c语言求级数a,aa,aaa,aaaa,aaaaa,...... 的前n项和,a和n由键盘输

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

int main(void){

    int a,n,sum=0,x=0;

    while(1){

        printf("Input a  n(0=a=9, n Pint)...\n");

if(scanf("%d%d",a,n),a=0  a=9  n0)

            break;

        printf("Error, redo: ");

    }

    while(sum+=(x*=10)+=a,--n);

    printf("The result is %d\n",sum);

    return 0;

}

关于C语言的问题 , 为什么能够输出AAAA?

因为3是非0,即条件为真,所以会输出AAAA

而0是假,所以BBBB不会输出

0==0,是成立的所以是真,所以会输出CCCC

只要括号里面整个为非0就是真,就可以输出,是0就是假,不会输出

一道简单的c语言问题,结果为什么是AAAA?在线等……

结果确实是BBBB;

首先注释掉sub2的实现部分和调用部分,编译运行,此时按你的意思应该是输出了a,b的原始值和交换后一次的值,但是发现输出结果为ABAB,即交换函数没有作用,这是为什么呢?

如果把函数sub1的说明语句中的a,b换为x,y,语句则变为

void sub1(char x,char y)

{ char c;

c=x;x=y;y=c;}

调用此函数时,我们发现,只把x,y这两个内部变量交换了,在sub1结束时,x,y变量就被销毁,而没有返回到a,b上,对于这样的结果,我提供两个解决办法:

1、利用指针,改为

void sub1(char *a,char *b)

{ char c;

c=*a;*a=*b;*b=c;}

编译后运行,结果为ABBA;

2、设置返回值,改为

char sub1(char a,char b)

{ char c[4];

c[0]=b;c[1]=a;

return c;}

运行结果同上

然后取消掉sub2的注释,编译运行,发现结果又变为BBBB,这是因为sub2只将b赋给了a,原因和sub1一样,解决方式也一样

希望可以帮到你

求教 c语言 一个简单的数组问题 求a+aa+aaa+aaaa+aaaaa..........

你这个算法写得有点小问题吧,首先,求这一类问题的思路是,先找9,99,999...(pow(10,i),然后通过a*(pow(10,i))/9算任何一个a,aa,aaa....

int main(void)

{

long int sum=0;//注意int最高32位,所以最大只能表示2^31,如果你输入的数据很大,那么求的和有可能越界,所以用long int 4个字节

int x[5];

int n=0;

int a=0;

scanf("%d %d",n,a);//输入的时候加入空格

int i=0;

int res=n;

for(;n=1ires;n--,i++)//注意,最后n=1,而不是0,因为从1-n,共n个,错误在这里,而且两个循环是同时的,而不是嵌套关系,如果嵌套的话,每次里面循环完了,x[i]的每一个值都是一样的,最后加出来的是最后一个aaaaa*5的结果,而不是所求的

{

x[i]=a*((pow(10,n))-1)/9

sum+=x[i];

}

printf("%d\n",sum);

}