实验2 C语言分支语句、循环语句应用编程
task 1
#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; }
04表示取四位右对齐,多出的位数用0补全
#include<stdio.h> int main() { int num; while(scanf("%d",&num)!=EOF) printf("2049%04d\n", num); 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<='9'&&x>='0') 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,i,denominator,numerator; //分母 分子 double sum; while(scanf("%d%d",&n,&a) != EOF) { sum = 0.0; denominator = 0; numerator=0; for(i=1;i<=n;i++) { denominator = denominator*10 + a; numerator=numerator+1; sum = sum + (double)numerator/denominator; } printf("n = %d, a = %d, sum = %f\n",n,a,sum); getchar(); } 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() { srand(time(0)); int x,i,n; x = rand()%31+1; for(i=1;i<=3;i++) { printf("输入:"); scanf("%d",&n); if(n<x) printf("小了\n"); else if(n>x) printf("大了\n"); else { printf("答对了"); return 0; } } printf("%d",x); return 0; }
task7
#include<stdio.h> int main() { int n,i; scanf("%d",&n); for(i=1;i<=n;i++) { printf(" O \n"); printf("<H>\n"); printf("I I\n\n"); } return 0; }
#include<stdio.h> int main() { int n,a,b,c; scanf("%d",&n); for(a=1;a<=n;a++) printf(" O \t"); printf("\n"); for(b=1;b<=n;b++) printf("<H>\t"); printf("\n"); for(c=1;c<=n;c++) printf("I I\t"); printf("\n"); return 0; }
#include<stdio.h> int main() { int n,a,b,c,x,line,d,e; scanf("%d",&n); x = 2*n+1; for(line=1;line<=n;line++){ e=1; for(d=line-1;e<=d;e++){ printf("\t"); } x = x -2; for(a=1;a<=x;a++) printf(" O \t"); printf("\n"); e=1; for(d=line-1;e<=d;e++){ printf("\t"); } for(b=1;b<=x;b++) printf("<H>\t"); printf("\n"); e=1; for(d=line-1;e<=d;e++){ printf("\t"); } for(c=1;c<=x;c++) printf("I I\t"); printf("\n"); printf("\n"); } return 0; }
总结:知道了for循环的基本用法,并且发现for能在处理一些问题上比while更加方便。