实验二
#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使输出的数据占四位,不足的位数在左边用0补齐。
#include<stdio.h> int main(){ int num,i=0; while(i<3) { scanf("%d",&num); printf("2049%04d\n",num); i++; } return 0; }

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



task3
#include<stdio.h> int main(){ char x; x=getchar(); if(x>='0'&&x<='9') printf("%c是数字字符\n",x); else if(x>='A'&&x<='z') printf("%c是英文字母\n",x); else printf("%c是其他字符\n",x); return 0; }



task4
#include <stdio.h> int main() { int n, a; while (scanf("%d%d", &n, &a)!= EOF) { int i, bot=0; double sum=0; for (i = 1;i <= n;i++) { bot = bot * 10 + a; sum += 1.0*i / bot; } printf("n=%d,a=%d,sum=%lf\n\n", n, a, sum); } return 0; }

task5
#include<stdio.h> #include<stdlib.h> #include<time.h> const int N = 5; int main() { int x,n; srand(time(0)); for(n=1;n<=N;n++) { x=rand()%100; printf("%3d",x); } printf("\n"); return 0; }

task6
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int luck_day,n,i=0; srand(time(0)); luck_day=rand()%31+1; printf("猜猜2021年12月哪一天会是你的luck day\n"); printf("开始喽,你有三次机会,猜吧(1~31):"); scanf("%d",&n); while(i<2) { if(n==luck_day) { printf("猜对啦!\n"); break; } else if(n<luck_day) { printf("你猜的日期早了,luck day悄悄溜到后面啦\n再猜(1~31):"); scanf("%d",&n); i++; } else { printf("你猜的日期晚了,luck day悄悄溜到前面啦\n再猜(1~31):"); scanf("%d",&n); i++; } } if(i==2) { if(n==luck_day) printf("猜对啦!\n"); else if(n<luck_day) printf("你猜的日期早了,luck day悄悄溜到后面啦\n\n次数用完啦,偷偷告诉你:12月,你的luck day是%d号\n",luck_day); else printf("你猜的日期晚了,luck day悄悄溜到前面啦\n\n次数用完啦,偷偷告诉你:12月,你的luck day是%d号\n",luck_day); } system("pause"); return 0; }

task7
int main() { int i,n; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf(" O \n"); printf("<H>\n"); printf("I I\n"); printf("\n"); } return 0; }

#include<stdio.h> int main(){ int i,n; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf(" O \t"); } printf("\n"); for(i=1;i<=n;i++) { printf("<H>\t"); } printf("\n"); for(i=1;i<=n;i++) { printf("I I\t"); } return 0; }

#include<stdio.h> int main() { int a,i,n,j; printf("input n:"); scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<i;j++) printf(" \t"); for(a=0;a<2*(n-i)-1;a++) printf(" o\t"); printf("\n"); for(j=0;j<i;j++) printf("\t"); for(a=0;a<2*(n-i)-1;a++) printf("<H>\t"); printf("\n"); for(j=0;j<i;j++) printf("\t"); for(a=0;a<2*(n-i)-1;a++) printf("I I\t"); printf("\n"); } }

实验总结
熟悉了循环中的嵌套,要理清思路,一步一步完成整个框架。比如打印小人,可以现在纸上列出他们的关系,防止把自己绕晕。
在实验六中,体会到了根据运行结果不断发现源代码中的小问题,最终排除所有问题。
字符型常量要加单引号。

浙公网安备 33010602011771号