實驗一第一部分:理解各種數據類型的意義及各種輸出方式

#include<stdio.h>
int main()
{
int x=1234;
float f=123.456;
double m=123.456;
char ch='a';
char 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;
}

 

part 1 第二部分 改錯

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

 

 part 2

①三角形形狀判斷

#include<stdio.h>
#include<stdlib.h>
int main() {
double a,b,c;
while(1){
printf("請輸入三條線段的長度,我將為你判斷他們是否可以構成一個三角形\n請輸入:");
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)
if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))
printf("構成等腰直角三角形\n");
//加入了判斷等腰三角形中,若是等腰直角三角形的情況的判斷
else
printf("構成等腰三角形\n");
else if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))
printf("構成一般直角三角形\n");
//加入了判斷直角三角形的情況
else
printf("構成一般三角形\n");
}
else
printf("不能構成三角形\n");
}
system("pause");
return 0;
}

 

 ②三角形的代碼替換后的邏輯仍然正確

 

 part 2 屏幕顏色

 

#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("這個程序很好玩哈哈哈哈哈哈哈\n");
return 0;
}

 

②配色的char被改為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("這個程序很好玩哈哈哈哈哈哈哈\n");
return 0;
}

 

 

 

 

 

 part 3 《判斷數字的正序和逆序是否相同》

#include<stdio.h>
int main()
{
int a,m,n,l;
printf("請輸入一個三位數以內的數:");
scanf("%d",&a);

if(a<=99&&a>=10)
{
m=a%10;
n=a/10;
if(m==n)
printf("這個兩位數的正序和逆序數相等");
else
printf("這個兩位數的正序和逆序數不相等");
}
else if(a>=100&&a<=999)
{
m=a%100;
n=m%10;
l=a/100;
if(l==n)
printf("這個三位數的正序和逆序數相等");
else
printf("這個三位數的正序數和逆序數不相等");
}
else
printf("輸入的數字不在范圍內");
return 0;
}

 

 

《判斷天數》

#include<stdio.h>
int main()
{
int a,b;
printf("請輸入年份和月份:\n");
scanf("%d%d",&a,&b);
if(a%4==0&&a%100!=0)
{
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("這個月有31天");
else if(b==2)
printf("這個月有29天");
else
printf("這個月有30天");
}
else
{
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
printf("這個月有31天");
else if(b==2)
printf("這個月有28天");
else
printf("這個月有30天");
}
return 0;
}

 

《分數》