? 求完數
題目:一個數如果恰好等于它的因子之和,這個數就稱為完數,C語言編程找出1000之內的所有完數,并輸出其因子,
解題思路:6的因子為1,2,3,而6=1+2+3,因此6是“完數”,1不用判斷,直接從2開始,因為1的因子只有1,
源代碼演示:
#include<stdio.h>//頭檔案 int main()//主函式 { int number,s,i;//定義變數 for(number=2;number<1000;number++)//for回圈 { //直接從2開始 s=0; for(i=1;i<number;i++) { //檢查i是否是m的因子 if((number%i)==0) { //如果是的話 s=s+i; } } if(s==number) { printf("%d的因子為:",number); for(i=1;i<number;i++) { if(number%i==0) { //判斷是否是因子,是的話就輸出 printf("%d ",i); } } printf("\n");//換行 } } return 0;//主函式回傳值為0 }
——————————
編譯運行結果如下:
6的因子為:1 2 3
28的因子為:1 2 4 7 14
496的因子為:1 2 4 8 16 31 62 124 248
? 求某個數列前20項和
題目:有一個分數列:2/1,3/2,5/3,8/5,13/8,21/13...,C語言編程求出這個數列的前20項之和,
決議思路:讀者看著道題的時候,首先要觀察一下有什么規律,這種型別的題都是有規律的,先觀察出來規律,然后思考怎么寫代碼,
源代碼演示:
#include//頭檔案 intmain()//主函式 { int i;//定義整型變數,用于for回圈 double a=2,b=1,sum=0,temp;//定義雙精度浮點型變數 for(i=1;i<=20;i++)//for回圈 { sum=sum+a/b;//分母為前面的分子和分母之和 temp=a; a=a+b; b=temp;//分子為前面的分母 } printf("sum=%7.7f\n",sum);//輸出和 return 0;//主函式回傳值為0 }
————————
編譯運行結果如下:
sum=32.6602608
? 輸出水仙花數
題目:C語言編程輸出100-1000之間所有的“水仙花數”,所謂的“水仙花數”是指一個3位數,其各位數字立方和等于該數本身,
解題思路:153是一個水仙花數,因為153=1^3+5^3+3^3,逐個位數判斷即可,寫代碼的時候要考慮到每一位,
源代碼演示:
#include//頭檔案 intmain()//主函式 { int i,j,k,narcissistic_Number;//定義整型變數 printf("水仙花數是:\n");//提示陳述句 //小林這里要測驗的100~1000之間的水仙花數 for(narcissistic_Number=100;narcissistic_Number<1000;narcissistic_Number++) { i=narcissistic_Number/100;//百位數字 j=narcissistic_Number/10-i*10;//十位數字 k=narcissistic_Number%10;//各位數字 if(narcissistic_Number==i*i*i+j*j*j+k*k*k)//符合其各位數字立方和等于該數本身 { printf("%d ",narcissistic_Number);//輸出這個數 } } printf("\n");//換行 return 0;//主函式回傳值為0 }
————————
編譯運行結果如下:
水仙花數是:153 370 371 407
? 求1!+2!+3!+...20!
題目:C語言編程求1!+2!+3!+...20!
解題思路:sum不應該定義為int或者long型,假如使用的編譯器是Visual C++6.0時,int和long型資料在記憶體都占4個位元組,資料的范圍在 -21億~21億,如果將sum定義為double型,以得到更多的精度,在輸出時,用22.15e格式,使資料寬度為22,數字部分中小數位數為15位,
源代碼演示:
#include//頭檔案 intmain()//主函式 { double sum=0,temp=1;//雙精度浮點型變數 int i;//定義整型變數 for(i=1;i<=20;i++)//for回圈 { temp=temp*i; sum=sum+temp; } printf("結果:%22.15e\n",sum);//輸出結果,注意輸出的格式 return 0;//主函式回傳值為0 }
————————
編譯運行結果如下:
結果:2.561327494111820e+018

最后,不管你是轉行也好,初學也罷,進階也可,如果你想學編程~
【值得關注】我的 C/C++編程學習交流俱樂部!【點擊進入】
問題答疑,學習交流,技術探討,還有超多編程資源大全,零基礎的視頻也超棒~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250435.html
標籤:C
下一篇:嵌入式開發中,C語言結構體詳解
