0117521-  
task6
#include<stdio.h>
#include<stdlib.h>
int main()
{ 
    int answer;
    char words[5000];

    printf("网课学习让一些人欢喜一些人忧.\n");
    printf("1. 作为喜欢自学且自律的人,觉得这样很好. 有网络,自主学习,很ok.\n");
    printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n");
    printf("3. 中间派. 不知道. 说不清.\n");
    printf("4. 其它...\n");
    printf("你的选择: ");
    scanf("%d", &answer);

if(answer == 4)
{
        printf("请补充说明你的想法: \n");
        getchar(); // 
        gets(words); 
}
  printf("\n");


  printf("当遇到问题时, 你会选择:\n");
  printf("1. 遇到问题, 就解决问题。不懂的,搜索式学习,逐个攻破.\n");
  printf("2. 遇到问题, 不高兴。然后,...,没有了.\n");
  printf("3. 其它...\n");
  printf("你的选择: ");
  scanf("%d", &answer);
   
  if(answer == 1)
   printf(":)\n");
  else if(answer == 2)
   printf("这样不能解决问题啊...我们选择1好不好:)\n");
else if(answer == 3)
{
     printf("请补充说明你的想法: \n");
     getchar(); 
    gets(words); 
}
system("pause");
return 0;

}

task3


#include<stdio.h>
#include<stdlib.h>
int main()
{
    double x,y;

   char c1,c2,c3;
int a1,a2,a3;
    
    scanf("%d%d%d%*c",&a1,&a2,&a3); //后边变量前加地址运算符,*c跳过空格,防止空格被赋予c1
    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",x,y);
   
    system("pause");
}

 



 

task4


#include<stdio.h> int main() { int age1,age2; char gender1,gender2; scanf("%d %c%d %c",&age1,&gender1,&age2,&gender2); printf("age1=%d,gender1=%c\n",age1,gender1); printf("age2=%d,gender2=%c\n",age2,gender2); system("pause"); return 0; }

task5


#include<stdio.h> #include<stdlib.h> int main() { char ans1,ans2; printf("第3章认真学完了没?(输入y或Y表示认真学完一遍了,输入n或N表示没有):"); ans1=getchar(); getchar(); printf("\n动手敲代码实践了没?(输入y或Y表示敲了,输入n或N表示木有敲):"); ans2=getchar(); if(ans1=='y'&&ans2=='y'||ans1=='Y'&&ans2=='Y') printf("\n罗马不是一天建成的,继续保持哦:)"); else printf("\n罗马不是一天建成的,我们回头建设吧\n"); system("pause"); return 0; }

 


task1-1

#include<stdio.h>
#include<stdlib.h>
int main()
{
    printf(" o\n");
    printf("<H>\n");
    printf("I I\n\n");

    printf(" o\n");
    printf("<H>\n");
    printf("I I\n");

    system("pause");
    return 0;





}

task1-2


#include<stdio.h> #include<stdlib.h> int main() { printf(" o o\n"); printf("<H> <H>\n"); printf("I I I I\n"); system("pause"); return 0; }

task2-2
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{ 
    double x,ans;

    
    while(scanf("%lf",&x)!=EOF)
    {ans=pow(x,365);
    printf("%.2f的365次方:%.2f\n",x,ans);
    printf("\n");
    }
    

    system("pause");
    return 0;





}

 

 



task2-3

#include<stdio.h> #include<stdlib.h> int main() { double c,f; while(scanf("%lf",&c)!=EOF) { f=c*9/5+32; printf("摄氏温度c=%.2lf时,华氏度f=%.2lf",c,f); } system("pause"); }


 

实验总结:

1. double型输出用%lf

2.输入字符的时候要注意空格也是会被当作字符输出的,可以在输入两个字符之间加空格,跳过字符前的空格

3.多组输入用scanf("%d",&a)!=EOF实现

4.我在用getchar时会容易忘记把这个赋值给需要的东西,就只是用了而已

5.要区分好==还有=,==是等于,=是赋值,把右边的赋值给左边的;最容易错就是判断语句,用if时,应该判断是否等于,结果赋值了,就永远都是对的

6.scanf后面一定不能忘记&

7.注意判断字符型变量与某个字母相等时,字母要用’‘引起来

8.if 和 else的配对问题要重视!

问题

1.scanf在字符的输入上还是没有特别清楚

2.在数据类型需要注意的一点是有时计算分数时,就是两个整形相除不能得到分数,想得到分数,其中一个得是浮点型

3,计算%时,必须两边全是整形,如果不是,那就用(int)强制类型转换;但是,类型转换可能会损失精度,这个需要注意

4.break跳出循环,只是跳出这层循环,不是直接就跳到结束。

5.在计算一些跟数值有关的题,要逻辑清晰,比如i++是要先加再赋值给一些东西还是先赋值,再加。

 


posted on 2022-03-22 20:38  董璇  阅读(115)  评论(5编辑  收藏  举报