首页 > 其他 > 详细

实验二

时间:2019-11-06 09:47:26      阅读:87      评论:0      收藏:0      [点我收藏+]

 

#include <stdio.h>
int main() {
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch=a;
    char a[]="Hello, world!"; // 定义一个数组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向左空出来,第四行第三个保留小数点后一位同时左边空出来,第四行第四个保留两位小数左边按原来的样子输出,第五个按指数形式输出。

第六行%c输出单个字符a,前面有3所以左边空出来数字

第七行%s输出字符串,第二个左补空格,第三个.5显示五位左补五个空格,第四个就输出前三个数字,

 

这个是正确的

scanf后面那里要地址符&

不用f用lf

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

 技术分享图片

(这个为什么123后面有0,0)

 #include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);
     
     if(a<0 || b<0 || c<0)
         printf("不能构成三角形\n");
     else if(a+b>c && a+c>b && b+c>a) {
         if(a==b && a==c)   
             printf("构成等边三角形\n");
         else if(a==b || a==c || b==c)   
             printf("构成等腰三角形\n");    
         else
             printf("构成一般三角形\n");
     }
     else
         printf("不能构成三角形\n");
         
     return 0;
} 

技术分享图片

 

终于发现 逗号空格

 #include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);
     
     if(a<0 || b<0 || c<0)
         printf("不能构成三角形\n");
     else if(a+b>c && a+c>b && b+c>a) {
     if(a==b || a==c || b==c) {
        if (a==b && a==c)
        printf("构成等边三角形\n");
    else
        printf("构成等腰三角形\n");
    } 
    else
    printf("构成一般三角形\n");
      }
     else
         printf("不能构成三角形\n");
         
     return 0;
} 

这个算法逻辑上也是成立的

#include <stdio.h>
#include <stdlib.h>
int main() {
    char choice;
    
    // 显示菜单 
    printf("输入0~9以内的数字,选择屏幕背景色前景色方案: \n");
    printf("1-\t黑底绿色\n");
    printf("2-\t白底黑色\n");
    printf("3-\t蓝底白色\n");
    printf("其它-\t黑底白色(默认)\n");
    printf("\n请输入, 选择你想使用的屏幕配色方案:    ");
    
    // 要求用户从键盘输入0~9的数字,选择屏幕配色方案 
    choice = getchar();
    
    // 根据用户输入,设置屏幕配色方案 
    if (choice == 1) {
        system("color 02");
        printf("《黑客帝国》一类的影视剧常见这种屏幕色:)\n"); 
    } 
        
    else if(choice == 2) {
        
        system("color f0");
        printf("大部分编辑器默认是这种配色:)\n");    
    }
        
    else if(choice == 3) {
        system("color 1f");
        printf("这是机器蓝屏故障时的不讨喜色:)\n");
    }
        
    else {
        system("color 0f");
        printf("控制台程序默认小黑窗:)\n");        
    }
        
        
    printf("programming is fun, just try@_@\n");
    
    
    return 0;
} 

该程序也可以运行成功

#include <stdio.h>
int main() 
{
    int a;
    scanf("%d",&a);
    if(a<10)
    {
        printf("%d正序和逆序相同",a); 
    }
    if(a<100&&a>=10)
    {
        if(a/10==a%10)
        printf("%d正序和逆序相同",a);
        else
        printf("%d正序和逆序不同",a);
    }
    if(a<1000&&a>=100)
    {
        if(a/100==a%10)
        printf("%d正序和逆序相同",a);
        else
        printf("%d正序和逆序不同",a);
     } 
    return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int year,month ,day,leapyear;
    scanf("%d %d,&year,&month");
    if(year<0||month<1||month>12)
    {
        printf("输入的数据错误\n");
        exit(0);
     } 
     leapyear=year%4==0&&year%100!=0||year%400==0;
     if(month=1||month==3||month==7||month==5||month==8||month==10||month==12)
     printf("%d年%d月有%d天!",year,month,day=31); 
        else if(month==4||month==6||month==9||month==11) 
     printf("%d年%d月有%d天!",year,month,day=30);
        else 
     day=28+leapyear;
     printf("%d年%d月有%d天!",year,month,day=28+leapyear); 
     
     return 0;
      
 }
#include<stdio.h>
#include<stdlib.h>
int main()
{
  int s;
  scanf("%d",&s);
 if(s<0||s>100)
    {
        printf("分数不在有效区间内");
        exit(0);
    }
    switch(s/10)
    {
    
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:printf("不合格");
        
        case 6:printf("合格");
        
        case 7:printf("中等");
        case 8:printf("良好");
        case 9:
        case 10:printf("优秀");
            }
    return 0;
}

技术分享图片忘记打break会出现不合格合格中等良好优秀挤在一起

 

 

 

实验二

原文:https://www.cnblogs.com/runwild/p/11802855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!