目錄
成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比洛隆網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式洛隆網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋洛隆地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。//完全平方數(shù)且其中兩位數(shù)字兩相等
//回文數(shù)
//求a+aa+aaa+aaaa+aaaaa+……的和,其中a是一個(gè)數(shù)字
//喝汽水問(wèn)題
//上三角矩陣判斷
//有序數(shù)列合并
//有序數(shù)列判斷
//奇偶排序:奇在前,偶在后
編寫(xiě)程序?qū)ふ壹仁峭耆椒綌?shù),又有兩位數(shù)字相同的三位正整數(shù),例如121、144等。要求統(tǒng)計(jì)滿(mǎn)足該條件的整數(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元,可以買(mǎi)多少汽水
其實(shí)由數(shù)學(xué)歸納法不難得出 total = empty * 2 - 1 ,不過(guò)這樣這題就沒(méi)有意義了,這里用點(diǎn)不一樣的~
#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
int money = 0;//你有多少錢(qián)
int total = 0;//一共能買(mǎi)多少瓶
int empty = 0;//空瓶數(shù)量
scanf("%d", &money);
total = money;//一開(kāi)始買(mǎi)了多少瓶
empty = money;//一開(kāi)始喝完后空瓶的數(shù)量
//從這里開(kāi)始漫漫環(huán)保路(省錢(qián)路)
while (empty >= 2)//只要空瓶剩兩個(gè)以上就可兌換
{
total += (empty / 2);//空瓶能兌換的汽水
empty = empty / 2 + empty % 2;//前面是兌換后喝完的空瓶,后面是兌換前落單的空瓶
}
printf("%d\n", total);
return 0;
}
//上三角矩陣判斷對(duì)角線(xiàn)以下元素均為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++)
{
//觀察可知滿(mǎn)足條件的矩陣中對(duì)角線(xiàn)下 j 都小于 i
for (j = 0; j< i; j++)
{
if (arr[i][j] != 0)
{
flag = 0;
goto end;//break只能跳出一層循環(huán),而goto end 想去哪就去哪
} //哦吼吼 ,新用法,有沒(méi)有學(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ù)組訪(fǎng)問(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先訪(fǎng)問(wèn)完
{
//把a(bǔ)rr2中剩余元素放在arr3中
while (j< n)
{
arr3[k] = arr2[j];
j++;
k++;
}
}
else//arr2先訪(fǎng)問(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,我愿稱(chēng)之為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ù)開(kāi)始就可以和第一個(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í)間沒(méi)有更新小練習(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)查看詳情吧