1.調(diào)和平均
N 個(gè)正數(shù)的算數(shù)平均是這些數(shù)的和除以 N,它們的調(diào)和平均是它們倒數(shù)的算數(shù)平均的倒數(shù)。
本題就請(qǐng)你計(jì)算給定的一系列正數(shù)的調(diào)和平均值。
輸入格式:
每個(gè)輸入包含 1 個(gè)測(cè)試用例。每個(gè)測(cè)試用例第 1 行給出正整數(shù) N(≤1000);第 2 行給出 N 個(gè)正數(shù),都在區(qū)間[0.1, 100] 內(nèi)。
輸出格式:
在一行中輸出給定數(shù)列的調(diào)和平均值,輸出小數(shù)點(diǎn)后2位。
思路
將每一個(gè)數(shù)的倒數(shù)算出再相加就是總的倒數(shù)和,再除以數(shù)目N,得到調(diào)和平均數(shù)
代碼實(shí)現(xiàn)
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
double sum = 0, t;
for (int i = 0; i < n; i++) {
scanf("%lf", &t);
sum += 1 / t;
}
sum = sum / n;
printf("%.2lf\n", 1 / sum);
}
運(yùn)行結(jié)果
2. 奇偶分家
給定N個(gè)正整數(shù),請(qǐng)統(tǒng)計(jì)奇數(shù)和偶數(shù)各有多少個(gè)?
輸入格式:
輸入第一行給出一個(gè)正整N(≤1000);第2行給出N個(gè)非負(fù)整數(shù),以空格分隔。
輸出格式:
在一行中先后輸出奇數(shù)的個(gè)數(shù)、偶數(shù)的個(gè)數(shù)。中間以1個(gè)空格分隔。
思路
輸入N次,對(duì)每次輸入的結(jié)果進(jìn)行判斷,判斷奇偶數(shù),數(shù)目加1
代碼實(shí)現(xiàn)
#include <stdio.h> // 引入標(biāo)準(zhǔn)輸入輸出庫,這個(gè)庫包含了scanf和printf函數(shù)
int main() // 主函數(shù),程序從這里開始執(zhí)行
{
int n, t, i; // 定義整數(shù)變量n、t和i
int even = 0, odd = 0; // 定義整數(shù)變量even和odd并初始化為0,用于存儲(chǔ)偶數(shù)和奇數(shù)的數(shù)量
scanf("%d", &n); // 從用戶輸入讀取一個(gè)整數(shù)并存儲(chǔ)在變量n中
for (i = 0; i < n; i++) // 循環(huán)從0到n-1
{
scanf("%d", &t); // 從用戶輸入讀取一個(gè)整數(shù)并存儲(chǔ)在變量t中
if (t % 2 == 1) // 如果t是奇數(shù)
{
odd++; // odd增加1
}
else
{
even++; // 否則,even增加1
}
}
printf("%d %d", odd, even); // 輸出odd和even的值
return 0; // 主函數(shù)返回0,表示程序成功結(jié)束
}
運(yùn)行結(jié)果
3.求最大值及其下標(biāo)
本題要求編寫程序,找出給定的n個(gè)數(shù)中的最大值及其對(duì)應(yīng)的最小下標(biāo)(下標(biāo)從0開始)。
輸入格式 :
輸入在第一行中給出一個(gè)正整數(shù)n(1 < n≤10)。第二行輸入n個(gè)整數(shù),用空格分開。
輸出格式 :
在一行中輸出最大值及最大值的最小下標(biāo),中間用一個(gè)空格分開。文章來源:http://www.zghlxwxcb.cn/news/detail-745577.html
思路
輸入數(shù)目,存入數(shù)組中,循環(huán)遍歷進(jìn)行比較,記得定義兩個(gè)新變量,進(jìn)行迭代比較,否則在比較得出大小值之時(shí)容易報(bào)錯(cuò)文章來源地址http://www.zghlxwxcb.cn/news/detail-745577.html
代碼實(shí)現(xiàn)
#include<stdio.h>
int main()
{
int i,j, index,outdex,n;
int a[10];
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
index = 0;
for (i = 1; i < n; i++) {
if (a[i] > a[index]) {
index = i;
}
}
outdex = 0;
for (j = 0; j < n; j++) {
if (a[j] < a[outdex]) {
outdex = j;
}
}
printf("%d %d", a[index],index);
return 0;
}
運(yùn)行結(jié)果
到了這里,關(guān)于C語言 每日一題 PTA 11.6 day10的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!