日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言之字符个数统计、 统计成绩、打印沙漏 、整数的分类处理 、不变初心数

發布時間:2024/1/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言之字符个数统计、 统计成绩、打印沙漏 、整数的分类处理 、不变初心数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符個數統計

從鍵盤輸入一串字符,統計出其中的英文字母個數、數字字符個數以及其他字符個數并輸出。

輸入格式:

輸入一行字符,以回車結束。

輸出格式:

輸出英文字母個數、數字字符個數以及其他字符個數,中間用逗號進行分隔。

輸入樣例:

abzxAXZ0123456789&&&&%%%@@@

輸出樣例:

7,10,10 #include<stdio.h> int main() {int a, b, c;char k;a = 0;b = 0;c = 0; while ((k = getchar()) != '\n') {if (('A' <= k && k <= 'Z') || ('a' <= k && k <= 'z')) a++; else if ('0' <= k && k <= '9')b++;elsec++;}printf("%d,%d,%d", a, b, c); return 0; }

?統計成績

輸入一個班的成績,輸出最高分、最低分和平均分。

輸入格式

班級人數n?(n>0)
n?名學生的成績?s1?,s2?,?,sn??(0≤si?≤100,1≤i≤n)

輸出格式

最高分、最低分、平均分

要求:所有分數只輸出1位小數。

輸入樣例

15 98.5 67.3 45.5 90 75.2 65 77 99.5 20 100 80.5 69.5 88.5 66.5 87.5

輸出樣例

100.0 20.0 75.4 #include<stdio.h> int main() {int number = 0;scanf("%d", &number);double grade = 0;double max = 0;double min = 100;double sum = 0;for (int i = 0; i < number; i++){scanf("%lf", &grade);sum += grade;if (grade > max) max = grade;if (grade < min) min = grade;}printf("%.1lf %.1lf %.1lf", max, min, sum / number);return 0; }

打印沙漏?

本題要求你寫個程序把給定的符號打印成沙漏的形狀。例如給定17個“*”,要求按下列格式打印

************ *****

所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。

給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉盡可能多的符號。

輸入格式:

輸入在一行給出1個正整數N(≤1000)和一個符號,中間以空格分隔。

輸出格式:

首先打印出由給定符號組成的最大的沙漏形狀,最后在一行中輸出剩下沒用掉的符號數。

輸入樣例:

19 *

輸出樣例:

************ ***** 2 #include<stdio.h> int main() {int hang, sum = -1, n, i, yu, b, k; char a;scanf("%d %c", &n, &a);for (i = 1;; i++){sum = sum + 2 * (2 * i - 1);if (n - sum < 0) break;b = sum;}yu = n - b;hang = i - 1;for (i = hang; i > 0; i--){for (k = hang - i; k > 0; k--)printf(" ");for (k = 1; k <= 2 * i - 1; k++)printf("%c", a);printf("\n");}for (i = 2; i <= hang; i++){for (k = hang - i; k > 0; k--)printf(" ");for (k = 1; k <= 2 * i - 1; k++)printf("%c", a);printf("\n");}printf("%d", yu);return 0; }

整數的分類處理?

給定 N 個正整數,要求你從中得到下列三種計算結果:

  • A1 = 能被 3 整除的最大整數
  • A2 = 存在整數 K 使之可以表示為 3K+1 的整數的個數
  • A3 = 存在整數 K 使之可以表示為 3K+2 的所有整數的平均值(精確到小數點后 1 位)

輸入格式:

輸入首先在第一行給出一個正整數 N,隨后一行給出 N 個正整數。所有數字都不超過 100,同行數字以空格分隔。

輸出格式:

在一行中順序輸出 A1、A2、A3的值,其間以 1 個空格分隔。如果某個數字不存在,則對應輸出NONE。

輸入樣例 1:

8 5 8 7 6 9 1 3 10

輸出樣例 1:

9 3 6.5

輸入樣例 2:

8 15 18 7 6 9 1 3 10

輸出樣例 2:

18 3 NONE #include <stdio.h>int main() {int N,n,i,t,k,o,b;float j=0;scanf("%d",&N);int a[N];for (n=0;n<N;n++)scanf("%d",&a[n]); for(n=0;n<N-1;n++)for(i=0;i<N-n-1;i++){if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t; }}k=0; for (n=0;n<N;n++){if(a[n]%3==0){printf("%d",a[n]);k=1; break;}}if (k==0){ printf("NONE");}o=0;j=0;b=0;for (n=0;n<N;n++){if (a[n]%3==1){o++; }if (a[n]%3==2){j+=a[n]; b++;}}if(o==0)printf(" NONE");elseprintf(" %d",o);if(b==0)printf(" NONE");elseprintf(" %.1f",j/b);return 0; }

不變初心數

不變初心數是指這樣一種特別的數,它分別乘 2、3、4、5、6、7、8、9 時,所得乘積各位數之和卻不變。例如 18 就是這樣的數:18 的 2 倍是 36,3+6=9;18 的 3 倍是 54,5+4=9;…… 18 的 9 倍是 162,1+6+2=9。對于 18 而言,9 就是它的初心。本題要求你判斷任一個給定的數是否有不變的初心。

輸入格式:

輸入在第一行中給出一個正整數 N(≤?100)。隨后 N 行,每行給出一個不超過?105?的正整數。

輸出格式:

對每個給定的數字,如果它有不變的初心,就在一行中輸出它的初心;否則輸出?NO。

輸入樣例:

4 18 256 99792 88672

輸出樣例:

9 NO 36 NO #include<stdio.h>int main() {int t, c, f, a, n;scanf("%d", &n);while (n--){scanf("%d", &a);for (int i = 1; i <= 9; i++){t = a * i;f = 0;if (i == 1){c = 0;while (t){c += t % 10;t /= 10;}}else//與2~9相乘時{int b = 0;while (t){b += t % 10;t /= 10;}if (b == c){f = 1;}else break;}}if (f == 0)printf("NO\n");else printf("%d\n", c);}return 0; }

總結

以上是生活随笔為你收集整理的c语言之字符个数统计、 统计成绩、打印沙漏 、整数的分类处理 、不变初心数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。