本文目錄一覽:
- 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);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/227775.html