A-第一题 正方形 (20分)
问题描述
给定一个字符,请输出一个由该字符构成的边长为4的正方形。
输入
输入只有一行,该行只有一个字符。
输出
输出一个边长为4的正方形,正方形的四条边均由输入的字符构成,正方形的内部由空格构成。
输入样列
*
输出样例
****
* *
* *
****
××××××××××答案见作业或实验××××××××××
×××××××××××××××××××××××××××××××××××
B-第二题 奇偶和(20分)
问题描述
给定n个正整数,求这些整数中奇数的和与偶数的和。
输入
有多组测试数据。
第一行是一个整数T,表示有T组测试数据。
每个测试数据有有2行。
第一行是一个正整数n。
第二行有n个由空格分开的正整数。
输出
输出有T行,每行两个整数,整数之间由一个空格分开。这两个整数分表表示对应测试数据块的奇数和与偶数和。
输入样列
2
4
1 2 3 4
6
1 6 3 4 7 9
输出样例
4 6
20 10
*******************************************************************************************
#include
main ()
{
int t,n,x,i,j,sumeven,sumodd;
scanf("%d",&t);
for(i=1;i<=t;i++){
scanf("%d",&n);
sumeven=sumodd=0;
for(j=1;j<=n;j++){
scanf("%d",&x);
if(x%2==0)
sumeven=sumeven+x;
else
sumodd=sumodd+x;
}
printf("%d %d\n",sumodd,sumeven);
}
}
*******************************************************************************************
C-第五题 加密10分)
问题描述
给定一行由文本,把这行文本加密后输出。
这里的加密算法非常简单:小写字母a,b,c,...,z转化为1,2,3,...,26后输出。大写字母A,B,C,...,Z转化为27,28,29,...,52后输出,其它所有的字符保持不变。
输入
输入有若干行,处理到文件结尾。
输出
把输入的文本加密后输出。
输入样列
Hello,
Welcome to c!
输出样例
345121215,
49512315135 2015 3!
****************************************************************************************
#include
main()
{
char ch;
while((ch=getchar())!=EOF){
if(ch>='a'&&ch<='z'){
ch=ch-'a'+1;
printf("%d",ch);
}
else if(ch>='A'&&ch<='Z'){
ch=ch-'A'+27;
printf("%d",ch);
}
else
putchar(ch);
;
}
}
******************************************************************************************
D-第六题 直角三角形 10分)
问题描述
本题要求用函数完成!!
三条边的边长均为整数的直角三角形称为整数直角三角形。
给定一个整数n,求斜边的边长不超过n的所有整数直角三角形的个数。
输入
输入有多行。
第一行是一个整数T,表示有T个测试数据。
接下来的T行,每行有一个正整数n。
输出
每个测试数据的输出有两行,第一行先输出测试数据的编号,格式如case#i,其中i为测试数据编号。
第二行是一个整数,表示对应的整数直角三角形的个数。
输入样列
4
5
10
20
30
输出样例
case#1
1
case#2
2
case#3
6
case#4
11
**********************************************************************************************
#include
main()
{
int i,n,j,t,k,num,p;
scanf("%d",&t);
for(k=1;k<=t;k++){
scanf("%d",&n);
num=0;
for(p=1;p<=n;p++){
for(i=1;i
num++;
}
printf("case#%d\n%d\n",k,num);
}
}
************************************************************************************************
E-第七题 数独 10分)
问题描述
数独是一种源自18世纪末的瑞士,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。
数独是一个9x9的方阵(如图1),它是由九个"小九宫格"(图中黑色实线围住的3x3的方阵)构成的,每个小九宫格是由九个小格子构成的,数独的游戏规则如下:
1、在9×9的大正方形中,每一行和每一列都必须填入1至9的数字,不能重复也不能少;
2、在每个由粗线隔开的小九宫格中,也必须填入1至9的数字,同样不能重复也不能少。
这里不需要你考虑如何解数独,而是给定9x9的数独棋盘,每个位置已经填好了数字,你需要写一个程序判断棋盘上的数字是否符合数独的规则。
输入
有多组测试数据。
第一行是一个正整数n,表示后面有n个测试数据。
每一个测试数据占9行,两个测试数据之间有一个空行
每个测试数据的每一行有9个由1~9的数字构成,数字之间没有空格。
输出
对于每个测试数据输出一行。
如果该测试数据符合数独的规则,则输出yes,否则输出no
输入样列
2
143628579
572139468
986754231
391542786
468917352
725863914
237481695
619275843
854396127
572139468
143628579
391542786
986754231
468917352
725863914
237481695
619275843
854396127
输出样例
yes
no
*************************************************************************************
#include
int fun(char a[][10])
{
int i,j,m,l,k,res=1,sum=0;
int b[10];//b[1]到b[9]保存是否有1-9的数字
//判断每行是否满足题意
for(i=0;i<9;i++){
for(j=0;j<10;j++)
b[j]=0;
for(j=0;j<9;j++)
b[a[i][j]-'0']=1;
sum=0;
for(j=0;j<10;j++)
sum=sum+b[j];
if(sum!=9)
re
turn 0;
}
//判断每列是否满足题意
for(i=0;i<9;i++){
for(j=0;j<10;j++)
b[j]=0;
for(j=0;j<9;j++)
b[a[j][i]-'0']=1;
sum=0;
for(j=0;j<10;j++)
sum=sum+b[j];
if(sum!=9)
return 0;
}
//判断每个九宫是否满足题意
for(i=0;i<9;i=i+3){
for(j=0;j<9;j=j+3){
for(k=0;k<10;k++)
b[k]=0;
for(m=i;mfor(l=j;l
sum=0;
for(k=0;k<10;k++)
sum=sum+b[k];
if(sum!=9)
return 0;
}
}
return res;
}
main ()
{
char s[9][10];
int i,j,n;
scanf("%d",&n);
getcha