标签:lse 复习 etc 不同 超过 不同的 精度 没有 英文
#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; }
数学计算式:d=5/7*100=0*100=0
e=5*100/7=71
f=100/7*5=70
计算结果不同的原因:a,b,c均为整型,输出结果也应为整形,乘除运算符是优先级同级,结合方向应为从左向右,三个式子乘除运算符位置不相同,结果则不相同
任务2
#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("%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.5\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }
%d表示输出的为十进制整数
%8d表示以8个数字为宽度进行右对齐,不足左补空白
%2d表示以2个数字为宽度进行右对齐,超过两位按实际位数输出
%f表示输出浮点数
%8f表示以8个数字为宽度右对齐
%8.1f表示数字整体长度包括小数点为6位进行右对齐,保留2位小数,不足以空格补齐
%0.2f表示输出浮点数并保留两位小数
%.2e表示以指数形式输出,小数位数为2
%lf表示输出精度为double型
%3c表示输出一个字符站三个位置进行右对齐,不足空格补齐
%s表示字符串格式符
%15s表示输出15个字符位的字符串右对齐,不足左补空格
%10.5表示输出10个字符位的字符串右对齐,取前五位字符串
%2.5表示输出2个字符位的字符串右对齐,取前五位字符串,超出两个字符位,按原字符串输出
%.3s表示取前三位字符串
任务3
#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",&c1,&c2,&c3); printf("\‘%c\‘\‘%c\‘\‘%c\‘\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%.1lf,%.1lf\n",x,y); return 0; }
任务4
#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; }
任务5
#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罗马不是一天毁灭的。。。\n"); return 0; }
若没有line6的getchar()无法进行第二个步骤的选择
任务6
#include<stdio.h> #include<math.h> int main(){ int a1=1,sum; double q=2,n; scanf("%lf",&n); sum=a1*(1-pow(q,n))/(1-q); printf("n=%.0lf时,sum=%d",n,sum); return 0; }
标签:lse 复习 etc 不同 超过 不同的 精度 没有 英文
原文地址:https://www.cnblogs.com/18014365962s/p/13905146.html