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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

textarea限制字符数_PAT乙级-1002 写出这个数

發布時間:2024/4/19 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 textarea限制字符数_PAT乙级-1002 写出这个数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PAT乙級-1002 寫出這個數

本文作者:Shen,JQ

來源 https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384

作者 CHEN, Yue

單位 浙江大學

代碼長度限制 16 KB

時間限制 400 ms

內存限制 64 MB

PAT乙級-1002 寫出這個數

讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。

輸入格式:

每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這里保證 n 小于 10?100??。

輸出格式:

在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最后一個拼音數字后沒有空格。

輸入樣例:

1234567890987654321123456789

輸出樣例:

yi san wu

代碼:

/** * 總體思路: * 1、使用字符串接收輸入的數組 * 2、循環獲取每位的字符,轉為整數,相加 * 3、將相加結果轉為字符串 * 4、循環字符串,將每位字符轉為整數,用于取拼音的下標 * 5、輸出 **/#include #include //strlenint main(){ //數字拼音化數組,0-9 char shuzi[10][5] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; //讀入所有的數字,由于輸入的數字很長,所有考慮使用字符串方式讀入 //題目說不會超過100位數,所以留點余量定義了105個空間的數組 char words[105] = {'0'}; //獲取輸入數字,%s為以字符串方式獲取,存儲至words,此處可以不加&,因為數組的變量名就是數組的內存地址 int ic = scanf("%s", words); //不判斷ic或產生變量未使用警告scanf也要判斷讀入數據是否>0 if (ic) { //存儲所有位數字相加的和 int sum = 0; //使用strlen獲取輸入字符串的長度,strlen獲取長度到第一次出現0的位置 //參考 https://www.runoob.com/cprogramming/c-function-strlen.html int c = strlen(words); //循環變量整個輸入字符串 for (int i = 0; i < c; i++) { //整數字符轉整數的方法,就是減去字符'0',請自行做實驗驗證,這是常用方法 sum += (words[i] - '0'); } //存儲sum整數轉為字符串 char sum_str[5]; //跨平臺通用數字和字符串互轉的函數,定義在stdio.h中 //!!還可以理解為,參數3按照參數2的格式打印輸入到參數1 //參數1,轉換后存儲的變量 //參數2,轉換格式 //參數3,數據來源 sprintf(sum_str, "%d", sum); //遍歷sum_str字符串 for (int i = 0, len = strlen(sum_str); i < len; i++) { //轉為整數,用作拼音數組的下表 int c = sum_str[i] - '0'; //打印輸出 printf("%s", shuzi[c]); //如果不是最后一個輸出的字符串,則加上空格 //!!題目要求,否則提示格式錯誤 if (i < len - 1) { printf(" "); } } } return 0;}

提交結果

總結

以上是生活随笔為你收集整理的textarea限制字符数_PAT乙级-1002 写出这个数的全部內容,希望文章能夠幫你解決所遇到的問題。

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