欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

字符串上模擬加法-創(chuàng)新互聯(lián)

題目:

漢川網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

  輸入數(shù)字n,按順序打印出1到大的n位十進(jìn)制數(shù)。比如輸入3,則打印出1,2,3,一直到大的3位數(shù)即999。

 此題看起來簡單,當(dāng)我剛開始看到問題后,首先想到的就是先求出大值,然后在一個一個打印出就ok啦。但是仔細(xì)理解題意,并沒有告訴n的取值范圍。若n的值非常大,可能就超過了int或者long long的范圍。也就是說在做此題時,需要考慮大數(shù)。

為解決存大數(shù)的問題,我們可以利用數(shù)組或者字符串存大數(shù)。接下來我用字符串來解決大數(shù)問題。

首先,需要考慮兩個問題:

(1)在字符串上模擬加法

(2)將字符串中的數(shù)字打印出來

程序?qū)崿F(xiàn):

模擬加法:

bool inc(char* num,int n)//模擬加法
{
	int i = 0;
	int m = 0;
	int take = 0;//進(jìn)位
	for(i=n-1;i>=0;i--)
	{
		m = num[i]-'0'+ take;
		take = 0;//進(jìn)位置0
		if(i == n-1) //從末尾加
		{
			m++;
		}
		if(m >= 10)//產(chǎn)生進(jìn)位
		{
			if(i == 0)//若最高為溢出,終止
				return 0;
			else
			{
				take = 1;
				num[i] = m - 10 + '0';//進(jìn)位后,將本位置0
			}
		}
		else
		{
			num[i] = m + '0';//不產(chǎn)生溢出時,在本位上加
		}
	}
	return true;
}

打印:

//void print(char* num,int n)
//{
//	bool flag = true;//標(biāo)志位
//	int i = 0;
//	for(i=0;i<n;i++)
//	{
//		if(flag && num[i] != '0')
//		{
//			flag = false;
//		}
//		if(!flag)//若高位不為0,打印
//		{
//			printf("%c",num[i]);
//		}	
//	}
//	cout<<" ";
//}

void print(char* num,int n)
{
	int i = 0;
	for(i=0;i<n;i++)
	{
		if(num[i] != '0')
			break;
	}
	printf("%s",num+i);
}

測試:

int main()
{
	int n = 3;//3位數(shù)
	char* str = new char[n+1];//字符串的最后一位為‘\0’,多開辟一個空間
	memset(str,'0',n);//初始化
	str[n] = '\0';
	while(inc(str,n))
	{
		print(str,n);
	}
	delete[] str;//釋放空間
	str = NULL;
	return 0;
}

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

網(wǎng)頁題目:字符串上模擬加法-創(chuàng)新互聯(lián)
URL地址:http://chinadenli.net/article48/dechhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站制作、App開發(fā)、網(wǎng)站內(nèi)鏈商城網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)