实验一
- 编写程序,程序中使用两种方法,将两个变量的值互换后输出。
#include<stdio.h>
int main(){
int a, b , temp;
printf("请输入两个用空格相间隔的数字");
scanf("%d %d", &a, &b);
temp = a;
a = b;
b = temp;
printf("互换后:%d %d\n", a, b);
return 0;
}
#include<stdio.h>
int main(){
int a, b, sum;
printf("请输入两个用空格相间隔的数字");
scanf("%d %d",&a, &b);
sum = a + b;
a = sum - a;
b = sum - b;
printf("互换后:%d %d\n", a,b);
return 0;
}
2.从键盘输入一个四位正整数,首先分离出该整数中的每一位数字,并按升序显示输出各位数字;然后用分离出的最大数做为十位数,最小数做为个位数组成一个新的数字,并显示输出结果。例如,若输入的四位正整数为 9215,按升序显示输出分离出的各位数字为 1 2 5 9;组成数字为 91。
具体要求: ①四位正整数由键盘输入,程序应该对输入的数字是否为四位正整数进行简单的判断; ②对输出结果要有具体说明。
#include<stdio.h>
void swap(int *i, int *n){
int temp;
temp = *i;
*i = *n;
*n = temp;
}
int main(){
int number, a, b, c, d,e;
printf("输入数字:");
scanf("%d", &number);
if(number < 10000 && number >= 1000){
d = number % 10;
c = (number % 100 - d) / 10;
b = (number % 1000 - number % 100)/100;
a = (number - b*100 - c*10 - d) / 1000;
int str[4] = {
a, b, c, d};
for(int f = 0; f < 4; f++){
for(int m = 0; m < 3-f; m++){
if (str[m] > str[m+1]){
swap(&str[m], &str[m+1]);
}
}
}
printf("排序后升序显示:");
int i;
for(i = 0; i < 4; i++){
if(i != 0)printf(",");
printf("%d", str[i]);
if(i == 3)printf("\n");
}
printf("新组成的数字:%d%d\n", str[3], str[0]);
}else{
printf("输入的数字不符合要求!\n");
}
return 0;
}
3.编写程序,计算并输出下面分段函数的值:
x*x x<10
y= 2x+5 10≤x≤20
3x-7 其它
#include<stdio.h>
int main(){
double x;
printf("请输入数字x的值");
scanf("%lf", &x);
printf("分段函数计算结果为:");
if(x < 10){
printf("%lf\n", x * x);
}else if(x <= 20 && x >&#