textarea限制字符数_PAT乙级-1002 写出这个数
生活随笔
收集整理的這篇文章主要介紹了
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 写出这个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python开发cs软件_python
- 下一篇: vivo手机解锁_vivo“手术刀”再营