本文目录一览:
- 1、c语言 用函数做的 计算aaaa....aaa(n个a)的值,比如n=3,m=4,则3333
- 2、利用c语言求级数a,aa,aaa,aaaa,aaaaa,...... 的前n项和,a和n由键盘输
- 3、关于C语言的问题 , 为什么能够输出AAAA?
- 4、一道简单的c语言问题,结果为什么是AAAA?在线等……
- 5、求教 c语言 一个简单的数组问题 求a+aa+aaa+aaaa+aaaaa..........
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);
}