c語言案例分析
㈠ c語言項目案例分析 電子版pdf
㈡ c語言水仙花數
#include <stdio.h>
int main()
{
int start, end, i = 0, a, b, c, size = 0;
while (scanf("%d %d", &start, &end) == 2)
{
for (i = start; i <= end; i++)
{
a = i / 100;
b = i / 10 % 10;
c = i % 10;
//total = pow(c, 3) + pow(a, 3) + pow(b, 3);
if ((a*a*a + b*b*b + c*c*c) == i) //滿足水仙花條件
{
if (size == 0) //size=0輸出第一個水仙花數
{
printf("%d", i);
}
else //size++輸出第二。。第n個水仙花數
{
printf(" %d", i);
}
size++; //個數++;
}
}
if (size == 0) //范圍內個數為0,則說明沒有滿足條件的
{
printf("no");
}
printf(" ");
}
return 0;
}
(2)c語言案例分析擴展閱讀:
需要注意的地方:
1.將n整除以100,得出n在百位上的數字hun。
2.將(n-i*100)整除以10(或將n先整除以10再對10求模n/10%10),得出n在十位上的數字ten。
3.將n對10取余,得出n在個位上的數字ind。
4.求得這三個數字的立方和是否與其本身相等,若相等,則該數為水仙花數。
網路-水仙花數
㈢ . 輸入百分制的學生成績,輸出A(90-100),B(80-89),C(70-79),D(60-69),E(60分以下)等級C語言題目
案例五:給出一百分製成績,要求輸出成績等級A,B,C,D,E。90分以上為A,80~89分為B,70~79分為C,60~69分為D,60分以下為E。
1.程序分析:
設成績用score表示,並且score為整型數據。若score≥90,score可能是100,99,…90,把這些值都列出來太麻煩了,可以利用兩個整數相除,結果自動取整的方法,即當90≤score≤100時,score/10隻有10和9兩種情況,這樣用switch語句來解決便簡便了。
程序源代碼:
main( )
{
float score:
char grade;
printf(「請輸入學生成績:」);
scanf(「%f」,&score);
while(score>100||score<0)
{
printf(「\n輸入有誤,請重輸。」);
scanf(「%f」,& score);
}
switch((int)( score/10))
{
case 10:
case 9:grade=』A』;break;
case 8:grade=』B』;break;
case 7:grade=』C』;break;
case 6:grade=』D』;break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade=』E』;
}
printf(「成績是%5.1f,相應的等級是%c。\n」,socre,grade);
}
5.程序運行結果:
① 請輸入學生成績:90.5
成績是:90.5,相應的等級是A。
② 請輸入學生成績:59
成績是:59.0,相應的等級是E。
6.案例擴展:由鍵盤輸入學生成績等級,輸出成績范圍。等級評定同案例相同。
分享 分享到新浪Qing3
頂
閱讀(2015)┊ 評論 (0)┊ 收藏(0) ┊轉載(0) ┊ 頂▼ ┊列印┊舉報
轉載列表:
轉載
轉載是分享博文的一種常用方式...
前一篇:判斷某一年是否為閏年後一篇:企業發放的獎金根據利潤提成
㈣ C語言 字元輸入 scanf和getchar的區別
一、字元輸入格式與函數
在C語言中,字元輸入有兩種主要方式:scanf與getchar。
1. scanf
scanf是通用輸入函數,可以從標准輸入流讀取多個字元並存儲至對應變數。輸入多個變數時,通過空格、TAB或回車鍵分隔。
2. getchar
getchar從標准輸入流讀取單個字元。首次需要人工輸入,後續調用會直接讀取緩沖區內容,無需再次輸入。
二、stdin與緩沖區
stdin是標准輸入,通常指鍵盤輸入。緩沖區是內存中為輸入或輸出數據預留的空間。輸入字元進入緩沖區,等待讀取。
三、字元輸入案例分析
嘗試輸入字元a和b,發現字元a未被讀取。原因在於使用空格分隔時,空格也被讀入並存入緩沖區,導致下一個字元輸入後讀取緩沖區內容。用回車分隔後,字元a被正確讀取。
四、解決緩沖區問題
為解決緩沖區問題,可在scanf與字元輸入之間添加空格,吸收分隔符。或使用getchar讀取緩沖區內容,或使用fflush清空緩沖區。
實例驗證:
在程序中輸入字元a和b,用空格或回車分隔,觀察輸出結果。
正確使用分隔符、getchar或fflush可有效解決C語言字元輸入時的緩沖區問題。