C程序设计第五版谭浩强 第四章答案

输入4个整数,要求按由小到大的顺序输出。

采用暂时变量x:

#include <stdio.h>
int main()
{
	int a ,b,c,d;
	int x;
	printf("请输入四个数字:"); 
	scanf("%d %d %D %d", &a,&b,&c,&d);
	
	if(a>b){
		x=a,a=b,b=x;
	}
	if(a>c){
		x=a,a=c,c=x;
	}
	if(a>d){
	    x=a,a=d,d=x;
	}
	if(b>c){
		x=b,b=c,c=x;
	}
	if(b>d){
		x=b,b=d,d=x;
	}
	if(c>d){
		x=c,c=d,d=x;
	}
	
	printf("%d %d %d %d", a,b,c,d);
	
	system("pause");
	
	return 0;
}

不加暂时变量: 

#include <stdio.h>
int main()
{
	int a ,b,c,d;
	printf("请输入四个数字:"); 
	scanf("%d %d %D %d", &a,&b,&c,&d);
	
	if(a>b){
		a=a+b,b=a-b,a=a-b;
	}
	if(a>c){
		a=a+c,c=a-c,a=a-c;
	}
	if(a>d){
	    a=a+d,d=a-d,a=a-d;
	}
	if(b>c){
		b=b+c,c=b-c,b=b-c;
	}
	if(b>d){
		b=d+b,d=b-d,b=b-d;
	}
	if(c>d){
		c=c+d,d=c-d,c=c-d;
	}
	
	printf("%d %d %d %d", a,b,c,d);
	
	system("pause");
	
	return 0;
}

1. 编写一个程序,输入两个整数,求它们的和、差、积、商、余数。 ``` #include <stdio.h> int main() { int a, b; printf("请输入两个整数:\n"); scanf("%d%d", &a, &b); printf("%d + %d = %d\n", a, b, a + b); printf("%d - %d = %d\n", a, b, a - b); printf("%d * %d = %d\n", a, b, a * b); printf("%d / %d = %d\n", a, b, a / b); printf("%d %% %d = %d\n", a, b, a % b); return 0; } ``` 2. 输入圆半径,求圆的周长和面积。 ``` #include <stdio.h> #define PI 3.14159 int main() { double r, c, s; printf("请输入圆的半径:\n"); scanf("%lf", &r); c = 2 * PI * r; s = PI * r * r; printf("圆的周长为%.2lf,面积为%.2lf。\n", c, s); return 0; } ``` 3. 输入一个三位数,分离出它的百位、十位和个位,然后输出它们。 ``` #include <stdio.h> int main() { int n, b, s, g; printf("请输入一个三位数:\n"); scanf("%d", &n); b = n / 100; s = n % 100 / 10; g = n % 10; printf("%d的百位为%d,十位为%d,个位为%d。\n", n, b, s, g); return 0; } ``` 4. 输入一个字符,判断它是否为大写字母。 ``` #include <stdio.h> int main() { char ch; printf("请输入一个字符:\n"); scanf("%c", &ch); if (ch >= 'A' && ch <= 'Z') { printf("%c是大写字母。\n", ch); } else { printf("%c不是大写字母。\n", ch); } return 0; } ``` 5. 输入一个分数,输出它的等级。等级分为优、良、中、及格和不及格。 ``` #include <stdio.h> int main() { int score; printf("请输入分数:\n"); scanf("%d", &score); if (score >= 90 && score <= 100) { printf("优\n"); } else if (score >= 80 && score < 90) { printf("良\n"); } else if (score >= 70 && score < 80) { printf("中\n"); } else if (score >= 60 && score < 70) { printf("及格\n"); } else { printf("不及格\n"); } return 0; } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值