c語言增長
⑴ c語言編程實現:一組數字的自動增長,並輸出到指定文件中去
簡單的整理,僅供參考:
#include<stdio.h>
#defineBUFFER_LEN3
#defineBUFFER_SIZE64
voidgetData(charbuffer[BUFFER_LEN][BUFFER_SIZE],size_tsize,int*repeatTimes)
{
printf("plz,input3strings,e.1251511212151564646165 ");
scanf_s("%s%s%s",buffer[0],size,buffer[1],size,buffer[2],size);
printf("plz,inputyourrepeattimes:");
scanf_s("%d",repeatTimes);
}
voidsaveInfo(constchar*filePath,charbuffer[BUFFER_LEN][BUFFER_SIZE],intrepeatTimes)
{
FILE*pFile=NULL;;
if(fopen_s(&pFile,filePath,"w+")!=EOF)
{
for(inti=0;i<repeatTimes;++i)
{
if(i!=repeatTimes-1)
{
if(fprintf_s(pFile,"%s,%s,%s,",buffer[0],buffer[1],buffer[2])==EOF)
{
printf("savedataerror ");
}
}
elseif(fprintf_s(pFile,"%s,%s,%s",buffer[0],buffer[1],buffer[2])==EOF)
{
printf("savedataerror ");
}
}
fclose(pFile);
}
}
voidrepeatSaveData()
{
charcmd=0;
charbuffer[BUFFER_LEN][BUFFER_SIZE]={0};
intrepeatTimes=0;
do{
fflush(stdin);
getData(buffer,BUFFER_SIZE,&repeatTimes);
printf(": ");
for(inti=0;i<BUFFER_LEN;++i)
{
printf("%s ",buffer[i]);
}
printf("repeat%dtimes!ture:1,reinput:0 ",repeatTimes);
fflush(stdin);
while(true)
{
cmd=getchar();
if(cmd=='1'||cmd=='0')break;
}
}while(cmd=='0');
saveInfo("r.txt",buffer,repeatTimes);
}
intmain(intargc,char*argv[])
{
repeatSaveData();
return0;
}
⑵ c語言中數組動態增長有哪些方法
一。在原數組單元後面是沒法再擴長的,因為後面的單元沒法保證一定有。所以,數組原址動態增長肯定是不行的;
二。要麼定義長一點的數組,要麼自已把N個數組用鏈表串起來,但很繁瑣;
三。重新分配更長的數組,把原數組數據復制過來,再釋放掉原數組,這是一般動態數組模塊的普遍做法。但效率很低。
例如下面方法都是重新分配更長的數組空間:
1
2
3
int* a=(int*)malloc(n*sizeof(int));//n是數組的大小。
int* a=(int*)calloc(n,sizeof(int));//n是數組的大小。
int* a=(int*)realloc(a,m*sizeof(int));//m新數組的大小。
⑶ c語言增長率用rate表示類似還有那些
growRate。C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。c語言增長率用rate表示類似還有growRate。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
⑷ c語言gdp每年增長%7.5.多少年後gdp翻一倍
#include<stdio.h>
int main()
{int n;
float gdp=1.0;
for(n=0;gdp<2;n++)
gdp*=1.075;
printf("GDP每年增長7.5%%,%d年後翻一番 ",n);
return 0;
}
⑸ c語言隨機數隨時間一直增長
因為你的隨機數種子是時間 所以程序每次第一次執行的隨機數 是根據時間來的 ..
想要每次執行程序 列印出來的隨機數不一樣的話 ..
srand((unsigned)time(NULL));
for(int j =0;j<1000;j++)
{
i= rand()%10000;
}
printf("%d",i);
這樣可以達到你的要求 ..
⑹ c語言計算10年後我國國民生產總值與現在相比增長多少百分比只用main增加printf語句用來提示輸入輸出什麼
#include
<stdio.h>
int
main()
{
float
r,p;
int
i,n;
i=1;
p=1;
n=10;
printf("增長率是");
scanf("%f",&r);
while(i<=n)
{
p=(1+r)*p;
i=i+1;
}
printf("10年後我國國民生產總值與現在相比增長多少百分比為%f",p);
//getchar(0);
return
0;
}
我剛剛用編譯器看了下,估計是你的輸入法切換的問題,有的地方的;和()是用中文打的,這樣是不識別的,還有getchar();沒什麼用,當不能回顯的時候才用
⑺ c語言中數組動態增長有哪些方法
可以,但不能是靜態數組如int a[50];左邊分配在堆棧上,(分配在堆棧上的變數)不能在編譯時不知道分多少空間,並且分了多少空間就是多少。
如果想讓數組大小動態分配,可以使用下面做法,記得用完要free:
int*a=(int*)malloc(n*sizeof(int));//n是數組的大小。
或者這樣calloc函數的一個好處就是分配完內存區域後會自動把該區域清零,所以特別適合數組:
int*a=(int*)calloc(n,sizeof(int));//n是數組的大小。
延長數組大小的話這樣做:
a=(int*)realloc(a,m*sizeof(int));//m新數組的大小。並且,原來malloc或者calloc的內存區域會自動被free掉,不用你操心。
⑻ 用c語言求「增長率」時為什麼會這樣呢
printf 函數第一個參數里,%d 用來顯示整數,%f 用來顯示浮點數。
你把一個 double(雙精度浮點數)當作整數顯示自然是不會對的,用 %f 就行了。
⑼ c語言年增長率怎麼表示
n年數據的增長率=【(本期/前n年)^{1/(n-1)}-1】×100%。年均增長率=【N次根號下(末年/首年)】-1,N=年數-1,計算的結果只能適用於以首年算末年,若算中間年份則與原值不相等。
⑽ C語言編程,關於人口增長計算的編寫
#include<stdio.h>
int person(double,double );
void main()
{
double p=13,man=12.3;
int y;
y=person(man,p);
printf("需要%d年 ",y);
}
int person(double man,double p)
{
double spr,sum,aut,win;
int year=0;
while(man<=p)
{
spr=man*0.02+man;
sum=spr*0.015+spr;
aut=sum*0.01+sum;
win=aut*0.005+aut;
man=win;
year++;
}
return (year);
}