实验二
#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;
}

执行结果与分析的不一致。对应的数学计算式是5/7*100 ,5*100/7 ,100/7*5 .计算结果不同的原因:d中,先运算5/7并取整数0再乘以100,故得0。e中先运算a*c得500再除以7并取整得71 。f中先运算100除以7并取整得14再乘以5得70。
#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; }

c表示按字符输出前面的数字表示占多少个格;d表示按十进制整数输出;f 按浮点数输出,前面的".n"表示保留小数点后n位(按四舍五入);s 按字符串输出;e 表示按指数形式输出;在e,f,g前加上l表示按double型数据输出。
#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\n",&c1,&c2,&c3);
printf("%c%c%c\n",c1,c2,c3);
scanf("%lf%lf",&x,&y);
printf("%lf,%lf\n",x,y);
return 0 ;
}

#include<stdio.h>
int main(){
char x;
x=getchar();
if(x>='0'&&x<='9')
printf("%c是数字字符\n",x);
else if(x>='a'&&x<='z'||x>='A'&&x<='Z')
printf("%c是英文字符\n",x);
else
printf("%c是其他字符\n",x);
return 0;
}



#include<stdio.h>
int main(){
char ans1,ans2;
printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习):");
ans1=getchar();
getchar();
printf("\n手动敲代码了没?(输入n或N表示敲了,输入n或N表示木有敲):");
ans2=getchar();
if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))
printf("\n罗马不是一天建成的:)\n");
else
printf("\n罗马不是一天毁灭的。。。\n");
return 0;
}



#include<stdio.h>
#include<math.h>
int main(){
int n,a1,q,sum;
scanf("%d",&n);
a1=1,q=2;
sum=a1*(1-pow(q,n))/(1-q);
printf("n=%d时,sum=%d\n",n,sum);
return 0;
}



浙公网安备 33010602011771号