实验2
实验任务1
#include<stdio.h> int main() { int num; scanf_s("%d", &num); printf("2049%04d\n", num); scanf_s("%d", &num); printf("2049%04d\n", num); scanf_s("%d", &num); printf("2049%04d\n", num); return 0; }

A1格式符%04d所起的作用是使打印的数据占4为,前面的数位用0补足
A2用while循环进行改写
#include <stdio.h> int main() { int num; int i = 0; while (i < 3) { scanf_s("%d", &num); printf("2049%04d\n", num); i++; } return 0; }

实验任务2
#include<stdio.h> int main() { char ans1, ans2; printf("复习了没?(输入Y或y表示复习了,输入N或n表示没复习):"); ans1 = getchar();//从键盘输入一个字符,赋值给ans1 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; }



实验任务3
#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; }



实验任务4
#include<stdio.h> int main() { int n, a; while ((scanf_s("%d", &n) != EOF) ) { scanf_s("%d", &a); int i = 0; double s = 0; long b = a; for (; i < n; i++) { s += (i + 1.0) / b; b=a+(b * 10); } printf("n=%d,a=%d,sum=%llf", n, a,s); } return 0; }

实验任务5
#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;//生成一个0~99之间的随机整数 printf("%3d", x); } printf("\n"); return 0; }

#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() % 31+1;//生成一个1~31之间的随机整数 printf("%3d", x); } printf("\n"); return 0; }

实验任务6
#include<stdio.h> int main() { printf("猜猜2021年5月哪一天会是你的luck day"); int date; int i; int ans; srand(time(NULL)); date=rand()%31+1; scanf("%d",&ans); for(i=0;i<=1;i++) { if(ans==date) { printf("恭喜你,猜对啦"); i=4; } if(ans!=date) { if(ans<date) { printf("你猜的日期早啦,luck day 还没到呢\n再试一次:"); } else { printf("你猜的日期晚了,luck day悄悄溜到前面了\n再试一次:"); } } if(ans!=date) scanf("%d",&ans); } if(ans<date) { printf("你猜的日期早啦\n"); printf("次数用完了,偷偷告诉你:5月,你的luck day是%d号",date); } else if(ans>date) { printf("你猜的日期晚啦\n"); printf("次数用完了,偷偷告诉你:5月,你的luck day是%d号",date); } return 0; }

实验任务7
#include<stdio.h> int main() { int n; int i = 0; scanf_s("%d", &n); while (i < n) { printf(" o\n "); printf("<H>\n"); printf(" I I\n"); printf("\n\n"); i++; } return 0; }

#include<stdio.h> int main() { int n; printf("Input:"); scanf_s("%d", &n); int i=0, m=0, b=0; while (i < n) { printf(" o\t"); i++; } printf("\n"); while (m < n) { printf("<H>\t"); m++; } printf("\n"); while (b < n) { printf("I I\t"); b++; } printf("\n"); return 0; }

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

实验总结
\t是制表符,可以让打印的字符整齐排列
使用循环的嵌套需要理清思路,一步一步完成整个框架
字符型常量要记得加单引号
在循环的最开始经常定义一个变量的初始值为零,导致循环内部出现问题

浙公网安备 33010602011771号