实验二

任务1

#include<stdio.h>
int main(){
    int num;
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    return 0;
    
}

控制符%04d的作用是:给输入的数据留出四个位置以供填写

循环语句代码和结果如下

#include<stdio.h>
int main(){
    int num,n;
    n=1;
    do
    {scanf("%d",&num);
    printf("2049%04d",num);
    n++;
        
    }while(n<=3);
    return 0;
    
}

实验二任务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("%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;

 } 

%8d:表示输出8位整型数据,如果输入的数据不够就在前面补齐相应位置的空格,如本题空出了4个空格在前;

%2d:表示输出2位整型数据,本题输入的数据大于两位,那么按原数据输出;

%f:表示输出单精度浮点型数据,而且默认为小数点后6位

%8f:表示从小数点前的数据位数和小数点后位数包括小数点本身一共有8位有效数据,如果输入小于8位,则按原数据输入。但如果大于8位,则数据会失真,比如输入1234.5678一共9位时,尾数8将失真结果变成1234.567749,即四舍五入为原数据,而且6位小数特征并不会因此改变,失真数据将由计算机随机固定生成,而且发现小数点前数据大于8位,则小数点后数据全部都是0,即6个0,小数点前数据四舍五入现象。

%8.1f:单精度浮点型数据在四舍五入得到1位小数(.1f的作用),比如此处为5,与原数据对接后若小于8位,则按本题一样在前面用空格补齐。如果大于8位,则和上述同理。

%.2e:指的是按指数形式输出字符

%lf:指的是输出长整型单精度浮点型数据,这样就避免了上述%8f中输入数据位数过长带来的弊端;

%3c:指的是在第三个位置打印出定义的字符,前两个位置用空格补齐;

%s:就纯粹的该打啥就打啥,正常输出字符串;

%15s:可以填入十五个单位,包括使用的逗号和感叹号,不足用空格向前补齐;

%10.5s:该表达从前往后看,.5表示的是从原来数据中筛选前5位,本题为hello,然后再来看10的意义,10表示经过筛选过后,能放下数据的个数,即筛选后得到的hello,只有5位,不足十位,则往前补空格5个。大于则原数据输出。

%.3s:则为纯粹的筛选3位hel,然后就行了。

#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("%f,%lf\n",x,y);
    
    return 0;
}

#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'&&ans2=='y'||ans1=='y'&&ans2=='Y'||ans1=='Y'&&ans2=='y'||ans1=='Y'&&ans2=='Y') 

       printf("牛蛙牛蛙\n");
    else
       printf("给爷滚去敲代码\n");
       
       return 0;      
}

#include<stdio.h>
int main()
{
    char x;
    x=getchar();

    if(x>='0'&&x<='9')
      printf("%c是数字字母\n");
    else if(x>='a'&&x<='z')
      printf("%c是英文字母\n");
    else
      printf("%c是其他字符\n");
     
      
      
      return 0; 
    
}

实验6

#include<stdio.h>
#include<math.h>
int main()
{
    int n,sum,q,a1,m;
    q=2;
    a1=1;
    scanf("%d",&n);
if(n>='0'&&n<='9'){ m
=pow(2,n+1); sum=a1*(m-1)/(q-1); printf("当n等于%d时,sum=%d",n,sum);
)
else
printf("数据输入有误");
return 0; }

posted on 2021-03-28 13:08  Mrfixer  阅读(94)  评论(3)    收藏  举报