一、字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式 输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。 输出格式 输出n行,每个m个字符,为你的图形。 样例输入 5 7 样例输出 ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 数据规模与约定 1 <= n, m <= 26。 #include <stdio.h> int main() { int m; int n; int i; int j; char a[27] = {' ','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; scanf("%d %d",&m, &n); for(i = 1; i <= m; i++) { int k = 0; for(j = i;j > 1 && k < n;j--) { k++; printf("%c",a[j]); } for(j = 1; j <= n - i + 1; j++) { printf("%c",a[j]); } printf("\n"); } return 0; }二、01字串
问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式 本试题没有输入。 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 00010 00011 <以下部分省略> #include <stdio.h> int main() { int a[5] = {0}; int t = 0; int temp = 0; printf("00000\n"); for(t = 1; t < 32; t++) { int i = 0; a[i] = a[i] + 1; while(a[i] > 1) { temp = a[i] / 2; a[i] = a[i] % 2; i++; a[i] = a[i] + temp; } for(i= 4; i >= 0; i--) { printf("%d",a[i]); } printf("\n"); } return 0; }三、闰年判断
问题描述给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年:
1. 年份是4的倍数而不是100的倍数;
2. 年份是400的倍数。
其他的年份都不是闰年。
输入格式 输入包含一个整数y,表示当前的年份。 输出格式 输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。
样例输入 2013 样例输出 no 样例输入 2016 样例输出 yes 数据规模与约定 1990 <= y <= 2050。 #include <stdio.h> int main() { int y; scanf("%d",&y); if(((y % 4 == 0) && (y % 100 != 0 )) || (y % 400 == 0)) { printf("yes\n"); } else { printf("no\n"); } return 0; }