C——教你如何得到一個數的每一位
阿新 • • 發佈:2018-11-02
//1.1.在螢幕上輸出以下圖案: //* //*** //***** //******* //********* //*********** //************* //*********** //********* //******* //***** //*** //* //圖形1: //#include<stdio.h> //#include<stdlib.h> //int main() //{ // int i = 0; // int j = 0; // int k = 0; // for (i = 0; i <= 6; i += 2) // { // for (j = 0; j <= 5 - i; j++) // printf(" "); // for (k = 0; k <= 2 * i; k++) // printf("*"); // printf("\n"); // } // for (i = 1; i <= 5; i += 2) // { // for (j = 0; j <= i; j++) // printf(" "); // for (k = 0; k <= 10 - 2 * i; k++) // printf("*"); // printf("\n"); // } // system("pause"); // return 0; //} ////圖形2: //#include<stdio.h> //#include<stdlib.h> //int main() //{ // int i = 0; // int j = 0; // int k = 0; // for (i = 0; i <= 6; i ++) // { // for (j = 0; j <= 5 - i; j++) // printf(" "); // for (k = 0; k <= 2 * i; k++) // printf("*"); // printf("\n"); // } // for (i = 1; i <= 5; i ++) // { // for (j = 0; j <= i; j++) // printf(" "); // for (k = 0; k <= 10 - 2 * i; k++) // printf("*"); // printf("\n"); // } // system("pause"); // return 0; //} ////2.求出0~999之間的所有“水仙花數”並輸出。 ////“水仙花數”是指一個三位數,其各位數字的立方和恰好等於該數本身,如;153=1+5+3 ? ,則153是一個“水仙花數”。 ////在數論中,水仙花數(Narcissistic number)也稱為自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),是指一N位數,其各個數之N次方和等於該數。 ////例如153、370、371及407就是三位數的水仙花數,其各個數之立方和等於該數: ////153 = 1^3 + 5^3 + 3^3。 ////370 = 3^3 + 7^3 + 0^3。 ////371 = 3^3 + 7^3 + 1^3。 ////407 = 4^3 + 0^3 + 7^3。 ////分析: ////首先我們需要知道對於一個整數它的個位數字、十位數字、百位數字應該怎麼計算 ////然後對三位數進行討論,再設定一個計數器,當遇到水仙花數的時候就加1 //#include<stdio.h> //#include<stdlib.h> //#include<math.h> //int main() //{ // int n = 100; // int sum = 0; // int unit = 0; // int decade = 0; // int hundreds = 0; // printf("水仙花數:\n"); // for (n = 100; n < 1000; n++) // { // // hundreds = n / 100; // decade = n / 10 % 10; // unit= n % 10; // if ((hundreds * hundreds * hundreds + decade * decade * decade + unit * unit * unit) == n) // { // sum += 1; // //輸出的時候有兩種模式 // //(1) // printf("%d%d%d\n", hundreds, decade, unit); // //(2) // //printf("%d\n", n); // } // } // printf("1—999共有水仙花數:%d\n", sum); // system("pause"); // return 0; //} ////3.求Sn=a+aa+aaa+aaaa+aaaaa的前5項之和,其中a是一個數字, ////例如:2 + 22 + 222 + 2222 + 22222 ////對於這個題先分別定義個、十、百、千、萬變數 ////然後從鍵盤輸入一個數分別得到它的前五項 ////最後進行求和輸出即可 //#include <stdio.h> //#include<stdlib.h> //int main() // { // int ag = 0;//個位 // int as = 0;//十位 // int ab = 0;//百位 // int aq = 0;//千位 // int aw = 0;//萬位 // int sn = 0;//前五項和 // int i = 0;//輸入的數字 // printf("請輸入一個1—9之間的數:\n"); // scanf_s("%d", &i); // ag = i; // as = 10 * i; // ab = 100 * i; // aq = 1000 * i; // aw = 10000 * i; // sn = ag + (ag + as) + (ag + as + ab) + (ag + as + ab + aq) + (ag + as + ab + aq + aw); // printf("前五項之和為:%d\n", sn); // system("pause"); // return 0; // }