实验2

// ex1.cpp
#include <stdio.h>
int main() {
	int a=5, b=7, c=100, d, e, f;
	
	d = a/b*c;
	e = a*c/b;
	f = c/b*a;
	printf("d=%d, e=%d, f=%d\n",d,e,f);
	
	return 0;
}

line 6:a除以b的商乘以c;

line 7:a乘以c的积除以b取商;
line 8:c除以b的商乘以a;
不同原因:计算顺序不同

 

// ex2.cpp

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

line 12:输出y,z的值; 

line 13:输出y= ,z= ; 
line 14:最小宽度为8个字符输出x,不足位前补空格;
line 15:保留小数点后六位输出, 保留八位数输出,保留一位小数左边补齐三个空格输出,保留两位小数输出,保留两位小数以指数形式输出;
line 16:以double型输出,保留小数点后六位;
line 17:在a字符前空两格输出;
line 18:直接输出,最小宽度为15个字符输出,前用五个空格代替输出五个字符 ,至少输出两个字符 ,保留前三位输出。

 

 

// ex3.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("a1=%d,a2=%d,a3=%d\n",a1,a2,a3);
scanf("%c %c %c ",&c1,&c2,&c3);
printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3);
scanf("%lf %lf",&x,&y);
printf("x=%.1lf,y=%.1lf\n",x,y);

return 0;
}

 

// ex4.cpp
//判断字符类型
#include <stdio.h>
int main() {
char x;

x = getchar();

if(x>='1'&&x<='9')
printf("%c是数字字符\n", x);
else if(x>='A'&&x<='Z')
printf("%c是英文字母\n", x);
else
printf("%c是其他字符\n", x);


return 0;
}

 

// ex5.cpp
#include <stdio.h>
int main() {
char ans1, ans2;

printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习):");
ans1 = getchar();

getchar();

printf("\n动手敲代码了没?(输入y或Y表示敲了,输入n或N表示没有敲):");
ans2 = getchar();

if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))
printf("\n罗马不是一天建成的:)\n");
else
printf("罗马不是一天毁灭的。。。\n");

return 0;
}

getchar()用来填补回车键,若是不加则将回车键赋值给第二个问

 

// ex6.cpp
#include <stdio.h>
#include <math.h> 
int main() {
int n,q,sum;
q = 2;
printf("请输入一个数,(数字在1-10之间):");
scanf("%d",&n);
sum = pow(q,n)-1;
printf("n=%d时,sum=%d",n,sum);

return 0;
}

posted @ 2020-11-02 22:06  林静耶  阅读(67)  评论(0)    收藏  举报