/* 《C語言程式設計教程學習指導》p118 實驗內容(1) 這是一個常用格式控制符使用示例運行程式,觀察行結果,對照每一行printf()中的格式控制符,理解其功能和用法*/ #include <stdio.h>int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="Hello, world!"; // 定義一個陣列a,陣列中連續存放了字串常量hello,world! int y=3, z=4; printf("%d %d\n", y, z);//一致 printf("y=%d, z=%d\n", y,z);//一致 printf("%8d,%2d\n", x,x);//一致,只是寬度不同 printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);//不一致 ,f前沒有加l,系統默認六位小數,但原值只有三位,由于精度問題,多了個1 printf("%lf\n",m);//一致 printf("%3c\n", ch);//一致,但寬度不同 printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);//前兩給一致只是寬度不同,后三個不同,因為s前有點,所取的位數發生變化 return 0;}
/*C語言程式設計教程學習指導》p119 實驗內容(2) 這是一個格式化輸入輸出函式及格式符使用練習找出兩處錯誤,修改并運行程式 為a1,a2,a3,c1,c2,c3,x,y輸入資料,使得:a1=1,a2=2,a3=3,c1='a',c2='b',c3='c', x=1.5, y=2.5 */ #include <stdio.h>int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3);//少了地址符 printf("%d,%d,%d\n",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("%c%c%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y);//雙精度型資料f前要加l printf("%lf,%lf\n",x,y); return 0;}
/*《C語言程式設計教程學習指導》p122 實驗內容(1):判斷三角形型別:一般三角形、等腰三角形、等邊三角形 這是一個使用多分支if陳述句編程解決非數值類問題示例 運行程式,輸入不同邊長資料進行測驗,觀察輸出結果是否正確,理解和鞏固if陳述句功能和用法*/ #include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a<0 || b<0 || c<0) printf("不能構成三角形\n"); else if(a+b>c && a+c>b && b+c>a) { if(a==b && a==c) printf("構成等邊三角形\n"); else if(a==b || a==c || b==c) printf("構成等腰三角形\n"); else printf("構成一般三角形\n"); } else printf("不能構成三角形\n"); return 0;}





/*《C語言程式設計教程學習指導》p122 實驗內容(1):判斷三角形型別:一般三角形、等腰三角形、等邊三角形 這是一個使用多分支if陳述句編程解決非數值類問題示例 運行程式,輸入不同邊長資料進行測驗,觀察輸出結果是否正確,理解和鞏固if陳述句功能和用法*/ #include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a<0 || b<0 || c<0) printf("不能構成三角形\n"); else if(a+b>c && a+c>b && b+c>a) { if(a==b||a==c||b==c){ if(a==b && a==c) printf("構成等邊三角形\n"); else printf("構成等腰三角形\n"); } else printf("構成一般三角形\n"); } else printf("不能構成三角形\n"); return 0;}





// 功能: 從鍵盤上輸入數字選擇螢屏配色方案,列印字串 // 輸入1, 選擇黑底綠色配色方案 // 輸入2,選擇白底黑色配色方案 // 輸入3,選擇藍底黑色配色方案 // 輸入其它,選擇黑底白字配色方案(默認) #include <stdio.h>#include <stdlib.h>int main() { char choice; // 顯示選單 printf("輸入0~9以內的數字,選擇螢屏背景色前景色方案: \n"); printf("1-\t黑底綠色\n"); printf("2-\t白底黑色\n"); printf("3-\t藍底白色\n"); printf("其它-\t黑底白色(默認)\n"); printf("\n請輸入, 選擇你想使用的螢屏配色方案: "); // 要求用戶從鍵盤輸入0~9的數字,選擇螢屏配色方案 choice = getchar(); // 根據用戶輸入,設定螢屏配色方案 if (choice == '1') { system("color 02"); printf("《黑客帝國》一類的影視劇常見這種螢屏色:)\n"); } else if(choice == '2') { system("color f0"); printf("大部分編輯器默認是這種配色:)\n"); } else if(choice == '3') { system("color 1f"); printf("這是機器藍屏故障時的不討喜色:)\n"); } else { system("color 0f"); printf("控制臺程式默認小黑窗:)\n"); } printf("programming is fun, just try@_@\n"); return 0;}





// 功能: 從鍵盤上輸入數字選擇螢屏配色方案,列印字串 // 輸入1, 選擇黑底綠色配色方案 // 輸入2,選擇白底黑色配色方案 // 輸入3,選擇藍底黑色配色方案 // 輸入其它,選擇黑底白字配色方案(默認) #include <stdio.h>#include <stdlib.h>int main() { int choice; // 顯示選單 printf("輸入0~9以內的數字,選擇螢屏背景色前景色方案: \n"); printf("1-\t黑底綠色\n"); printf("2-\t白底黑色\n"); printf("3-\t藍底白色\n"); printf("其它-\t黑底白色(默認)\n"); printf("\n請輸入, 選擇你想使用的螢屏配色方案: "); // 要求用戶從鍵盤輸入0~9的數字,選擇螢屏配色方案 choice = getchar(); // 根據用戶輸入,設定螢屏配色方案 if (choice == 1) { system("color 02"); printf("《黑客帝國》一類的影視劇常見這種螢屏色:)\n"); } else if(choice == 2) { system("color f0"); printf("大部分編輯器默認是這種配色:)\n"); } else if(choice == 3) { system("color 1f"); printf("這是機器藍屏故障時的不討喜色:)\n"); } else { system("color 0f"); printf("控制臺程式默認小黑窗:)\n"); } printf("programming is fun, just try@_@\n"); return 0;}





#include<stdio.h>int main(){ int x,y; printf("輸入三位數以內的十進制整數:\n"); scanf("%d",&x); printf("計算其逆序數:\n"); if(x<=0||x>=1000) { printf("資料輸入錯誤,請重新輸入"); } if(x>0&&x<=9) { y=x; printf("%d",y); printf("正序和逆序相同"); } if(x>=10&&x<=99) { y=(x/10)%10+x%10*10; if(y==x) printf("正序和逆序相同"); else printf("正序和逆序不同"); } if(x>=100&&x<=999) { y=(x/10)%10*10+(x/100)%10+(x%10)*100; if(y==x) printf("正序和逆序相同"); else printf("正序和逆序不同"); } return 0; }





#include<stdio.h>int main(){ int year,month,day,leapyear; printf("輸入年份 月份:\n"); scanf("%d %d",&year,&month); if(year<=0||month<=0||month>=13) { printf("輸入的資料錯誤,請重新輸入;\n"); } leapyear=year%4==0&&year%100!=0||year%400==0; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { printf("%d年%d月是:31天",year,month,day); } if(month==4||month==6||month==9||month==11) { printf("%d年%d月是;30天",year,month,day); } if(month==2) { day=28+leapyear; printf("%d年%d月是;%d天",year,month,day); } return 0; }




#include<stdio.h>#include<stdlib.h>int main(){ int score; printf("輸入分數;\n"); scanf("%d",&score); if(score<0||score>100) { printf("分數不在有效區間內\n"); exit(0); } switch(score/10) { case 10: case 9:printf("優秀\n");break; case 8:printf("良好\n");break; case 7:printf("中等\n");break; case 6:printf("及格\n");break; default:printf("不及格\n");break; } return 0; }






實驗總結與體會:
scanf中,若輸入double型,要用%lf
scanf()的格式字串中最好不要加入不必要的字符
if陳述句和switch陳述句差不多明白了一些東西;
使用if陳述句嵌套時,總是容易因{}的位置問題而出錯;
輸入法的切換很煩,害得我總是打錯一些關鍵字,
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/4073.html
標籤:其他
