如何用C语言编写程序“用函数计算aaa…aaa(共n个a)的值,例如:a=3,n=4,则为3333
void fun(int a,int n){
int i;
for(i=0;in;i++)
printf(“%d”,a);
}
如果想要返回值的话是要有范围的,也可以定义为long型
求助c语言,先再dos窗口按enter,再输入aaaaaa。要求程序进入case a
可以把你后来的 while(getchar()!=’\n’);
这句, 放在scanf前
这样, 就会读到\n才会继续执行了。
在C语言中如何实现按任意键继续?
1、直接调用系统函数 system(“pause”):
system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程。
system(“pause”)可以实现冻结屏幕,便于观察程序的执行结果。如下:
2、调用getch()函数:
此函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,需要includeconio.h,如下:
扩展资料:
如果需要按下Enter 键才行的思路:
1、调用getchar()函数:
从stdio流中读字符,当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止。
需要includestdio.h,如下:
参考资料:
百度百科–system()
百度百科–getch()
百度百科–getchar()
求a aa aaa aaaa … aaaaaa(n个a)c语言用while循环
#include stdio.h
int main()
{int n,a,i,t=0,s=0;
scanf(“%d%d”,a,n);
for(i=0;in;i++)
{t=t*10+a;
s+=t;
}
printf(“%d\n”,s);
return 0;
}
问个C语言问题
这个问题主要与编译器机制有关,你那个编译器一定是一位一位读的。
我讲讲过程:
首先执行strcat(p1,p2),p1内容就指向”abcabc”,因为p1=str,因此p1和str共享同一地址,所以str【50】=”abcabc”;
接着执行strcpy(str+1,p1);(strcat(p1,p2)返回值是p1),由于你的编译器一位一位读,一位一位移动的,所以最后结果是aaaaaaa。具体复制过程如下:
我用数字表示步数,1表示第一步,以此类推;
1.p1(“abcabc”)读第一位(a),然后向str+1就是向“abcabc”中第二个(“b”)覆盖,这时str就指向”aacabc”,
因为p1和str共享同一地址,所以同时p1也指向”aacabc”。
2.p1(“aacabc”)读第二位(a),然后向“aacabc”中第三个(“c”)覆盖,这时str就指向”aaaabc”,同理
p1也指向”aaaabc”。
3.p1(“aaaabc”))读第三位(a),然后向“aaaabc”中第四个(“a”)覆盖,这时str就指向”aaaabc”,同理
p1也指向”aaaabc”。
4.p1(“aaaabc”))读第四位(a),然后向“aaaabc”中第五个(“b”)覆盖,这时str就指向”aaaaac”,同理
p1也指向”aaaaac”。
5.p1(“aaaaac”))读第五位(a),然后向“aaaaac”中第六个(“c”)覆盖,这时str就指向”aaaaaa”,同理
p1也指向”aaaaaa”。
6.p1(“aaaaaa”))读第六位(a),然后向“aaaaaa”中第七个(”\0″)覆盖,这时str就指向”aaaaaaa”,同理
p1也指向”aaaaaaa”。
所以结果是七个a
(注意从str+1这个地址开始向后覆盖,其实你仔细看看理论上来说不止六步,就是输出不止七个a,但是编译器可能用某种机制阻止了,所以是七个a)
我用vc6得出的结果跟你不一样,结果是aabcaac,原因是VC6是每四位读的
如和用C语言编写程序”用函数计算aaa…aaa(共n个a)的值
是不是这个题目啊:
编程计算a+aa+aaa+…+aa…a〔n个a〕的值,n个a的值由键盘输入
#includestdio.h
#includemath.h
void main()
{
int a,n,sum=0,temp=0;
printf(“input the a and n:\n”);
scanf(“%d%d”,a,n);
printf(“sum=”);
for(int i=1;i=n;i++)
{
for(int j=1;j=i;j++)
temp+=a*pow(10,j-1);
sum+=temp;
if(i==n)
printf(“%d=%d”,temp,sum);
else printf(“%d+”,temp);
temp=0;
}
printf(“\n”);
}