码迷,mamicode.com
首页 > 其他好文 > 详细

实验2

时间:2020-11-01 09:40:48      阅读:10      评论:0      收藏:0      [点我收藏+]

标签: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;
} 

技术图片

技术图片

技术图片

 

实验2

标签:lse   复习   etc   不同   超过   不同的   精度   没有   英文   

原文地址:https://www.cnblogs.com/18014365962s/p/13905146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!