選擇結構程式設計之習題

EricsT發表於2024-10-20

有3個整數 a,b,c,由鍵盤輸入,輸出其中最大的數


//有3個整數 a,b,c,由鍵盤輸入,輸出其中最大的數

#include <stdio.h>

int main(void)
{
	int a, b, c;

	scanf("a=%d b=%d c=%d", &a, &b, &c);

	if (a > b)
	{
		int temp = a;
		a = b;
		b = temp;
	}//a < b

	if (a > c)
	{
		int temp = a;
		a = c;
		c = temp;
	}//a < c

	if (b > c)
	{
		int temp = b;
		b = c;
		c = temp;
	}//b < c

	printf("max = %d", c);

	return 0;
}

在VS編譯器內會報C4996錯誤,解決見下文:(下同)

C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. - EricsT - 部落格園 (cnblogs.com)

執行結果:

選擇結構程式設計之習題

從鍵盤輸入一個小於1000的正數,要求輸出它的平方根(如平方根不是整數,則輸出其整數部分)要求在輸入資料後先對其進行檢查是否為小於1000的正數。若不是,則要求重新輸入。


//從鍵盤輸入一個小於1000的正數
// 要求輸出它的平方根(如平方根不是整數,則輸出其整數部分)要求在輸入資料後先對其進行檢查是否為小於1000的正數。
// 若不是,則要求重新輸入。

#include <stdio.h>
#include <math.h>

int main(void)
{
	int a;

	printf("請輸入小於1000的正數\n");
	scanf("%d", &a);

	while ((a >= 1000) || (a <= 0))
	{
		printf("請重新輸入\n");
		scanf("%d", &a);
	}

	double sq = sqrt(a);

	int iSq = (int)sq;

	printf("%d", iSq);

	return 0;
}

執行結果:

選擇結構程式設計之習題

有一個函式,當 x < 1 時,y = x;當 x >= 1 且 x < 10 時,y = 2x - 1;當 x >= 10時,y = 3x - 11;寫程式,輸入 x 的值,輸出 y 相應的值


//有一個函式,當 x < 1 時,y = x;當 x >= 1 且 x < 10 時,y = 2x - 1;當 x >= 10時,y = 3x - 11;寫程式,輸入 x 的值,輸出 y 相應的值

#include <stdio.h>

int main(void)
{
	double x;

	scanf("%lf", &x);

	double y;

	if (x < 1)
		y = x;
	else if (x < 10)
		y = 2 * x - 1;
	else
		y = 3 * x - 11;

	printf("y=%lf\n", y);

	return 0;
}

執行結果:

結果一:選擇結構程式設計之習題  結果二:選擇結構程式設計之習題  結果三:選擇結構程式設計之習題

給出一百分制的成績,要求輸出成績等級‘A’‘B’‘C’‘D’‘E’90以上為‘A’[80,89]為‘B’[70,79]為‘C’[60, 69]為‘D’60以下為‘E’


//給出一百分制的成績,要求輸出成績等級‘A’‘B’‘C’‘D’‘E’90以上為‘A’[80,89]為‘B’[70,79]為‘C’[60, 69]為‘D’60以下為‘E’

#include <stdio.h>

int main(void)
{
	int a;

	scanf("%d", &a);

	if (a < 60)
	{
		printf("E");
		return 0;
	}

	int i = a / 10;
	switch (i)
	{
	case 6:
		printf("D");
		break;
	case 7:
		printf("C");
		break;
	case 8:
		printf("B");
		break;
	case 9:
	case 10:
		printf("A");
		break;
	}

	return 0;
}

執行結果:

結果一:選擇結構程式設計之習題  結果二:選擇結構程式設計之習題  結果三:選擇結構程式設計之習題  結果四:選擇結構程式設計之習題  結果五:選擇結構程式設計之習題

給出一個不多於5位的正整數,要求:

  1. 求出它是幾位數
  2. 分別輸出每一位數字
  3. 按逆序輸出各位數字

//求出它是幾位數

#include <stdio.h>

int main(void)
{
	int a;

	scanf("%d", &a);

	int i = 0;
	while (a > 0)
	{
		a = a / 10;
		i++;
	}

	printf("是%d位數", i);

	return 0;
}

執行結果:

選擇結構程式設計之習題


//分別輸出每一位數字

#include <stdio.h>

int main(void)
{
	int a;

	scanf("%d", &a);

	while (a > 0)
	{
		printf("%d\n", a % 10);
		a = a / 10;
	}

	return 0;
}

執行結果:

選擇結構程式設計之習題


//按逆序輸出各位數字

#include <stdio.h>

int main(void)
{
	int a;

	scanf("%d", &a);

	while (a > 0)
	{
		printf("%d", a % 10);
		a = a / 10;
	}

	return 0;
}

執行結果:

選擇結構程式設計之習題

選擇結構程式設計之習題


#include <stdio.h>

int main(void)
{
	double I, p;

	scanf("%lf", &I);

	if (I <= 100000)
		p = I * 0.01;
	else if (I <= 200000)
		p = 100000 * 0.01 + (I - 100000) * 0.075;
	else if (I <= 400000)
		p = 100000 * 0.01 + 100000 * 0.075 + (I - 200000) * 0.05;
	else if (I < 600000)
		p = 100000 * 0.01 + 100000 * 0.075 + 200000 * 0.05 + (I - 400000) * 0.03;
	else if (I < 1000000)
		p = 100000 * 0.01 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (I - 600000) * 0.015;
	else
		p = 100000 * 0.01 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (I - 1000000) * 0.01;

	printf("%lf", p);

	return 0;
}

執行結果:

結果一:選擇結構程式設計之習題  結果二:選擇結構程式設計之習題  結果三:選擇結構程式設計之習題  結果四:選擇結構程式設計之習題  結果五:選擇結構程式設計之習題  結果六:選擇結構程式設計之習題

輸入4個整數,要求按由小到大的順序輸出


//輸入4個整數,要求按由小到大的順序輸出

#include <stdio.h>

void swap(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;
}

int main(void)
{
	int a, b, c, d;

	scanf("%d %d %d %d", &a, &b, &c, &d);

	if (a > b)
		swap(a, b);//a < b

	if (a > c)
		swap(a, c);//a < c

	if (a > d)
		swap(a, d);//a < d

	//至此,a < ...

	if (b > c)
		swap(b, c);// b < c

	if (b > d)
		swap(b, d);//b < d

	//至此,a < b < ...

	if (c > d)
		swap(c, d);//c < d

	printf("%d %d %d %d", a, b, c, d);

	return 0;
}

執行結果:

選擇結構程式設計之習題

選擇結構程式設計之習題


#include <stdio.h>
#include<math.h>

int main(void)
{
	double x, y, d;

	scanf("%lf %lf", &x, &y);

	if (x < 0)
	{
		if (y < 0)//-2, -2
			d = sqrt(pow(x - (-2), 2) + pow(y - (-2), 2));
		else//-2, 2
			d = sqrt(pow(x - (-2), 2) + pow(y - 2, 2));
	}
	else
	{
		if (y < 0)//2, -2
			d = sqrt(pow(x - 2, 2) + pow(y - (-2), 2));
		else//2, 2
			d = sqrt(pow(x - 2, 2) + pow(y - 2, 2));
	}

	if (d <= 1)
		printf("10");
	else
		printf("0");

	return 0;
}

執行結果:

選擇結構程式設計之習題

相關文章