實驗2 格式化輸入輸出和分支語句

---恢復內容開始---編程

part 1  格式化輸出函數printf()和格式化輸入函數scanf() 數組

ex2_1.cpp   編輯器

#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);
    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);
    return 0;
}

ex2_2.cpp函數

#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);
    printf("%lf,%lf\n",x,y);
    return 0;
} 

scanf後的括號內要加地址符&spa

定義的數據類型要和scanf和printf的相同3d

 part 2 驗證性內容code

 #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;
} 

 

 

line 14~line 19改變後爲blog

#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 || a==c){
             if (a==b && a==c)
                 printf("構成等邊三角形\n");
             else
                 printf("構成等腰三角形\n");
         }
     else 
         printf("構成通常三角形\n");
        }
     else
         printf("不能構成三角形\n");
         
     return 0;
} 

 

是能夠的字符串

(2)修改前的代碼get

#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請輸入, 選擇你想使用的屏幕配色方案:    ");
    
    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;
} 

 

修改int後的代碼爲:

#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請輸入, 選擇你想使用的屏幕配色方案:    ");
    
    scanf("%d",&choice);
    
    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;
} 

 

 

part 3 編程練習

(1)迴文數

#include<stdio.h>
int main(){
    int x,a,b,c;
    printf ("請輸入一個三位數內的十進制整數:\n");
    
    scanf ("%d",&x);
    
    if(x>0&&x<10){
        printf("計算其逆序數...\n");
        printf("%d正序和逆序相同\n",x);
    }
    else if(x>=10&&x<100){
        a=x%10;
        b=x/10;
        if(x==a*10+b){
            printf("計算其逆序數...\n");
            printf("%d正序和逆序相同\n",x);
        }
        else{
        printf("計算其逆序數...\n");
        printf("%d正序和逆序不一樣\n",x);
        }
    } 
    else if(x>=100&&x<1000){
        c=x/100;
        b=(x-c*100)/10;
        a=x%10;
        if(x==a*100+b*10+c){
            printf("計算其逆序數...\n");
            printf("%d正序和逆序相同\n",x);    
        }
        else{
            printf("計算其逆序數...\n");
            printf("%d正序和逆序不一樣\n",x);
        }        
    }
    else 
        printf(""); 
    
return 0;    
}

(2)從鍵盤上輸入年份和月份,計算該月有多少天。

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

 

從鍵盤輸入一個百分制成績(整型量),要求輸出成績等級:優秀、良好、中等、及格、不及格。

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

 

 

 

 

---恢復內容結束---

相關文章
相關標籤/搜索