C言語のブラシの質問
ブロガーが質問に答えるための Web サイト:質問バンク - 蘭橋クラウドコース (lanqiao.cn)
友達も試してみよう!!!
最初の質問
トピック: 統計
トピックの説明: Xiaolan は学生のために試験を企画しました。論文の合計スコアは 100 点で、各学生のスコアは 0 から 100 までの整数です。
少なくとも 60 点を合格と呼びます。少なくとも 85 のスコアが優れているとみなされます。
合格率と優秀率をパーセントで表し、パーセント記号の前の部分を四捨五入して整数に計算してください。
説明を入力してください
入力の最初の行には、テストを受ける人の数を示す整数 n (1≤n≤10^4) が含まれています。
次のn行には、各行に生徒のスコアを表す 0 から 100 までの整数が含まれます。
出力の説明
合格率と優秀率をそれぞれ示すパーセンテージを含む 2 行を出力します。パーセント記号の前の部分は整数に丸められます。
入力サンプルと出力サンプル
例
入力
7
80
92
56
74
88
100
0
出力
71%
43%
一連の考え: まず、人数の合計を入力し、そのスコアを配列に入れます。次に、for ループを使用して 60 ~ 85 のスコアの数を数え、次に 85 を超えるスコアを数えて、2 つのクラスの割合を計算します。 C 言語で % を表現する場合、コードを記述するときは、代わりに 2 つの %% を使用します。
デモ:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
int peopleNumber = 0;
int arr[10] = {
0 };
float pass = 0.0;
int count = 0;
int count2 = 0;
float outstanding = 0.0;
printf("请输入人数:\n");
scanf("%d", &peopleNumber);
for (int i = 0; i < peopleNumber; i++)
{
scanf("%d", &arr[i]);
}
for (int j = 0; j < peopleNumber; j++)
{
if (arr[j] >= 60)
{
count++;
}
if (arr[j] >= 85)
{
count2++;
}
}
pass = (count *100)/( peopleNumber*1.0);
outstanding = (count2*100) / (peopleNumber*1.0);
printf("%.0f%%\n", pass);
printf("%.0f%%\n", outstanding);
return 0;
}
2番目の質問
トピック: 飲み物の引き換え
トピックの説明: 楽陽陽飲料工場はプロモーションを開催しています。楽陽陽Cタイプ飲料は、ボトルキャップ3個を別のCタイプ飲料と交換でき、永久にリサイクル可能です(ただし、一時的なローンやクレジットは不可)。
シャオミンがペットボトルのキャップを無駄にせず、できるだけ活動に参加した場合、最初に買った飲み物のn本に対して、最終的には合計何本の飲み物が飲めるか計算してください。
説明を入力してください
購入を開始する飲み物の数を示す整数n (0< n <1000) を入力します。
出力の説明
実際に取得したドリンクの数を整数で出力
入力サンプルと出力サンプル
例
入力
100
出力
149
一連の考え: 1 サイクルだけを使用します。ボトル キャップ 3 つごとに 1 つのボトルに変更されるため、%3 までのボトルの初期合計数として 1 を使用します。結果が 0 に等しい場合は、3 の倍数であることを意味します。ループ条件 i<=n になるまでのボトルの総数 Count + 1。
デモ:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
if(i%3==0)
n++;
printf("%d",n);
return 0;
}