一、实验目的
- 掌握格式化输出函数printf()和格式化输入函数scanf()的用法
- 掌握单个字符输出函数putchar()和单个字符输入函数getchar()的用法
- 理解结构化程序设计的三种基本结构:顺序结构、分支结构、循环结构
- 熟练掌握分支语句和循环语句
- 理解并掌握控制语句continue和break在循环中的应用
- 理解并掌握循环的嵌套
- 训练设计算法逻辑并用c语言编程解决实际问题的能力
实验一
#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; }

1.
%4d的作用是当此数字满4位时输出,如果不满,则用0补到4位
2.
#include <stdio.h> int main() { int num; while(~scanf("%d", &num)) printf("2049%04d\n", num); return 0; }

实验二
#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; }

实验三
#include <stdio.h> int main() { char x; x = getchar(); if (x>='0'&&x<='9') // ´ý²¹×ã¢Ù£¬ÅжÏxÊÇÊý×Ö×Ö·û±í´ïʽ printf("%cÊÇÊý×Ö×Ö·û\n", x); else if ((x>='a'&&x<='z') || (x>='A'&&x<='Z')) // ´ý²¹×ã¢Ú£¬ÅжÏxÊÇ´óд»òСдӢÎÄ×ÖĸµÄ±í´ïʽ printf("%cÊÇÓ¢ÎÄ×Öĸ\n", x); else printf("%cÊÇÆäËü×Ö·û\n", x); return 0; }

实验四
#include<stdio.h> #include<ctype.h> #include<math.h> #include<string.h> #include<stdlib.h> typedef long long LL; #define debug(a) cout << #a": " << a << endl; #define rep(i, ll,rr) for(int i = ll; i <= rr; ++i) #define N 100010 int gcd(int a,int b){return b ? gcd(b,a%b) : a;} int n,m,a; int main(){ while(~scanf("%d%d",&n,&a)){ double ans = 0; int base = 0; rep(i,1,n){ base = base * 10 + a; ans += 1.0*i/base; } printf("ans=%.5lf\n",ans); } 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() % 100; // 生成一个0~99之间的随机整数 printf("%3d", x); } printf("\n"); return 0; }

(1)如果要生成1-31,则%32即可
实验六
#include <stdio.h> #include <stdlib.h> #include <time.h> const int N = 5; int main() { int ans, n=3,x; srand(time(0)); // 以当前系统时间作为随机种子 ans = rand() % 31; // 生成一个0~99之间的随机整数 while(n--){ scanf("%d",&x); if(x==ans) puts("luck day"); else if(x > ans) puts("你猜的时间晚了,luck day 悄悄溜到前面拉"); else if(x < ans) puts("你猜的时间早了,luck day 悄悄溜到后面啦"); } printf("\n"); return 0; }

实验七
(1)
#include <stdio.h> #include <stdlib.h> #include <time.h> const int N = 5; void op(){ printf(" O \n"); printf("<H>\n"); printf("I I\n"); puts(""); } int main() { int n; puts("input n:"); scanf("%d",&n); while(n--){ op(); } return 0; }

(2)
#include <stdio.h> #include <stdlib.h> #include <time.h> #define rep(i,ll,rr) for(int i=ll;i<=rr;++i) const int N = 5; int n; void op(){ rep(i,1,n) {printf(" O ");printf(" ");}puts(""); rep(i,1,n) {printf("<H>");printf(" ");} puts(""); rep(i,1,n) {printf("I I");printf(" ");} puts(""); puts(""); } int main() { puts("input n:"); scanf("%d",&n); // while(n--){ op(); // } return 0; }

(3)
#include <stdio.h> #include <stdlib.h> #include <time.h> #define rep(i,ll,rr) for(int i=ll;i<=rr;++i) const int N = 5; int n,m; void op(){ rep(i,1,m-n) printf(" "); rep(i,1,2*n-1) {printf(" O ");printf(" ");}puts(""); rep(i,1,m-n) printf(" "); rep(i,1,2*n-1) {printf("<H>");printf(" ");} puts(""); rep(i,1,m-n) printf(" "); rep(i,1,2*n-1) {printf("I I");printf(" ");} puts(""); puts(""); } int main() { puts("input n:"); scanf("%d",&n); m = n; rep(i,1,m){ // rep(i,1,2*n-1) op(); n --; } return 0; }

浙公网安备 33010602011771号