C語(yǔ)言小練習(xí)(6)-創(chuàng)新互聯(lián)

目錄

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比洛隆網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式洛隆網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋洛隆地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

//完全平方數(shù)且其中兩位數(shù)字兩相等

//回文數(shù)

//求a+aa+aaa+aaaa+aaaaa+……的和,其中a是一個(gè)數(shù)字

//喝汽水問(wèn)題

//上三角矩陣判斷

//有序數(shù)列合并

//有序數(shù)列判斷

//奇偶排序:奇在前,偶在后


//完全平方數(shù)且其中兩位數(shù)字兩相等

編寫程序?qū)ふ壹仁峭耆椒綌?shù),又有兩位數(shù)字相同的三位正整數(shù),例如121、144等。要求統(tǒng)計(jì)滿足該條件的整數(shù)個(gè)數(shù),并從大到小打印這些整數(shù)。

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
	int num = 0;
	for (num = 100; num<= 999; num++)
	{
		int i = 10;
		while(i*i<=num)//先找到平方數(shù),再看是不是有兩個(gè)相等,可以提高效率
		{
			int bai = num / 100;
			int ge = num % 10;
			int shi = (num - 100 * bai - ge) / 10;//孩子在這里卡了好久嗚嗚嗚,千萬(wàn)別忘了 /10 !!
			if (num == i * i) 
				if(bai == shi || bai == ge || shi == ge)
			    {
				    printf("%d ", num);
			    }
			i++;
		}
	}
	return 0;
}
//回文數(shù)

回文是指正反序文字相同,如,LeveL,若是則輸出“Yes”,否則輸出“No”

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
	char arr[10];
	printf("請(qǐng)輸入一個(gè)字符串:");
	scanf("%s", arr);
	int sz = sizeof(arr) / sizeof(arr[0]);
	int left = 0;
	int right = sz - 1;
	int flag = 1;
	for (left = 0, right = sz - 1; left<= right; left++, right--)
	{
		if (arr[left] != arr[right])//只要有一對(duì)不同,跳出循環(huán)
		{
			flag = 0;
          break;
		}
	}
	if (flag)
	{
		printf("Yes\n");
	}
	else
	{
		printf("No\n");
	}
	return 0;
}
//求a+aa+aaa+aaaa+aaaaa+……的和,其中a是一個(gè)數(shù)字

這題思路巨多,可以a*1+a*11+a*111+……,也可以從后往前加,每次 / 10,等等。

int main()
{
	int n = 0;//總共幾項(xiàng)
	int a = 0;//a+aa+aaa+……
	scanf("%d %d", &a, &n);
	int sum = 0;//計(jì)算n項(xiàng)的和
	int i = 0;
	int k = 0;//k為其中一項(xiàng)
	for (i = 0; i< n; i++)//循環(huán)計(jì)算每一項(xiàng)
	{
		k = k * 10 + a;
		sum += k;
	}
	printf("%d\n", sum);
	return 0;
}

//喝汽水問(wèn)題

喝汽水,1瓶汽水1元,2個(gè)空瓶可以換一瓶汽水,給20元,可以買多少汽水

其實(shí)由數(shù)學(xué)歸納法不難得出 total = empty * 2 - 1 ,不過(guò)這樣這題就沒有意義了,這里用點(diǎn)不一樣的~

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
	int money = 0;//你有多少錢
	int total = 0;//一共能買多少瓶
	int empty = 0;//空瓶數(shù)量
	scanf("%d", &money);
	total = money;//一開始買了多少瓶
	empty = money;//一開始喝完后空瓶的數(shù)量

	//從這里開始漫漫環(huán)保路(省錢路)
	while (empty >= 2)//只要空瓶剩兩個(gè)以上就可兌換
	{
		total += (empty / 2);//空瓶能兌換的汽水
		empty = empty / 2 + empty % 2;//前面是兌換后喝完的空瓶,后面是兌換前落單的空瓶
	}
	printf("%d\n", total);
	return 0;
}
//上三角矩陣判斷

對(duì)角線以下元素均為0則是上三角矩陣,如:

1 2 3? ? ? ? ?

0 4 5? ? ? ? ?

0 0 6

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
	printf("請(qǐng)問(wèn)想輸入幾行幾列?:");
	int n = 0;
	scanf("%d", &n);
	int arr[10][10];
	printf("請(qǐng)輸入矩陣:):\n");
	int i = 0;
	int j = 0;
	//輸入
	for (i = 0; i< n; i++)
	{
		for (j = 0; j< n; j++)
		{
			scanf("%d", &arr[i][j]);
		}
	}
	//判斷
	int flag = 1;//flag我們已經(jīng)用了很多次了,這里就不贅述為什么了
	for (i = 0; i< n; i++)
	{
		//觀察可知滿足條件的矩陣中對(duì)角線下 j 都小于 i
		for (j = 0; j< i; j++)
		{
			if (arr[i][j] != 0)
			{
				flag = 0;
				goto end;//break只能跳出一層循環(huán),而goto end 想去哪就去哪
			}            //哦吼吼 ,新用法,有沒有學(xué)到??
		}
	}
end://注意這里是冒號(hào)不是分號(hào)?。?!
	printf("是否為上三角矩陣?:");
	if (flag)
	{
		printf("yes\n");
	}
	else
	{
		printf("no\n");
	}
  return 0;
}

//有序數(shù)列合并

將兩組有序數(shù)列合并?

方法很多,可以直接現(xiàn)將兩組數(shù)組存入新數(shù)組中再排序,不過(guò)這樣原數(shù)組有序無(wú)序都不重要了,這里我們物盡其用,既然原數(shù)組已經(jīng)有序,就可以邊比較邊排列

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
	int arr1[10];
	int arr2[10];
	int arr3[20];//數(shù)組3元素是前兩數(shù)組元素之和
	int m = 0;
	int n = 0;
	printf("數(shù)組1和數(shù)組2分別有幾個(gè)元素?:");
	scanf("%d%d", &m, &n);
	int i = 0;
	int j = 0;
	int k = 0;
	//輸入
	printf("請(qǐng)輸入第一個(gè)數(shù)組:");
	for (i = 0; i< m; i++)
	{
		scanf("%d", &arr1[i]);
	}
	printf("請(qǐng)輸入第二個(gè)數(shù)組:");
	for (i = 0; i< n; i++)
	{
		scanf("%d", &arr2[i]);
	}
	//邊比較邊合并
    i = 0;//這一步千萬(wàn)不能少?。?!
	while (i< m && j< n)//前提條件:數(shù)組訪問(wèn)不會(huì)越界
	{
		if (arr1[i]< arr2[j])
		{
			arr3[k] = arr1[i];
			i++;
			k++;
		}
		else
		{
			arr3[k] = arr2[j];
			j++;
			k++;
		}
	}
	if (i == m)//arr1先訪問(wèn)完
	{
		//把a(bǔ)rr2中剩余元素放在arr3中
		while (j< n)
		{
			arr3[k] = arr2[j];
			j++;
			k++;
		}
	}
	else//arr2先訪問(wèn)完
	{
		//把a(bǔ)rr1中剩余元素放在arr3中
		while (i< m)
		{
			arr3[k] = arr1[i];
			i++;
			k++;
		}
	}
	//打印
	for (k = 0; k< m + n; k++)
	{
		printf("%d ", arr3[k]);
	}
	return 0;
}

//有序數(shù)列判斷

判斷一組數(shù)是否有序,相同也算有序?

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
    int n = 0;
    scanf("%d", &n);
    int arr[10];
    int i = 0;
    //還是用flag,我愿稱之為flag萬(wàn)能法
    int flag1 = 0;//標(biāo)記升序
    int flag2 = 0;//標(biāo)記降序

    for (i = 0; i< n; i++)
    {
        scanf("%d", &arr[i]);
        if (i >0)//從第二個(gè)數(shù)開始就可以和第一個(gè)數(shù)比較了
        {
            //如果一直升序:flag1=1,flag2=0
            if (arr[i - 1]< arr[i])
            {
                flag1 = 1;
            }
            //如果一直降序:flag1=0,flag2=1
            else if (arr[i - 1] >arr[i])
            {
                flag2 = 1;
            }
        }
    }
    if (flag1 + flag2< 2)//即等于0或等于1
        printf("sorted\n");
    else
        printf("unsorted\n");
    return 0;
}

//奇偶排序:奇在前,偶在后

將一組數(shù)組中奇數(shù)放在前面,偶數(shù)放在后面

不強(qiáng)調(diào)新數(shù)組奇偶數(shù)有序

#define _CRT_SECURE_NO_WARNINGS
#includevoid move(int arr[], int sz)
{
	int left = 0;
	int right = sz - 1;
	//從前往后找偶數(shù),從后往前找奇數(shù)
	while (left< right)
	{
		//找偶數(shù)
		while ((left< right) && (arr[left] % 2 == 1))
		{
			left++;
		}
		//找奇數(shù)
		while ((left< right) && (arr[right] % 2 == 0))
		{
			right--;
		}
		//奇偶交換
		if (left< right)
		{
			int tmp = arr[left];
			arr[left] = arr[right];
			arr[right] = tmp;
			left++;
			right--;
		}
	}
}
int main()
{                      
	int arr[10] = { 0 };
	printf("請(qǐng)輸入十個(gè)整數(shù):");
	int i = 0;
	int sz = sizeof(arr)/sizeof(arr[0]);
	for (i = 0; i< sz; i++)
	{
		scanf("%d", &arr[i]);
	}
	move(arr, sz);
	for (i = 0; i< sz; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

j

好長(zhǎng)時(shí)間沒有更新小練習(xí)了,這七道題中有些題有一點(diǎn)點(diǎn)小難度,一起加油吧??!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁(yè)題目:C語(yǔ)言小練習(xí)(6)-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.muchs.cn/article8/pcsip.html

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

廣告

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

小程序開發(fā)