主题:入门必做的题
GCC
[专家分:14380] 发布于 2006-04-14 11:53:00
1. 给定等式 A B C D E 其中每个字母代表一个数字,且不同数字对应不
D F G 同字母。编程求出这些数字并且打出这个数字的
+ D F G 算术计算竖式。
───────
X Y Z D E
2. A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
人参加了竞赛:
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)C和D或者都参加,或者都不参加;
(4)D和E中至少有一个人参加;
(5)如果E参加,那么A和D也都参加。
3. 打印一个 N*N 的方阵,N为每边 N=15 打印出下面图形
字符的个数(3<N<20), 要求最 TTTTTTTTTTTTTTT
外一层为"T", 第二层为"J", 从第三层 TJJJJJJJJJJJJJT
起每层依次打印数字 1,2,3,... TJ11111111111JT
(右图以N为15为例) TJ12222222221JT
TJ12333333321JT
TJ12344444321JT
TJ12345554321JT
TJ12345654321JT
TJ12345554321JT
TJ12344444321JT
TJ12333333321JT
TJ12222222221JT
TJ11111111111JT
TJJJJJJJJJJJJJT
TTTTTTTTTTTTTTT
4. 在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅
出现一次,这样的数阵叫N阶拉丁方阵。例如下图就是一个五阶拉丁方阵。
编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
5. 输入一个十进数,将其转换成 N 进制数(0<N<=16)。
回复列表 (共635个回复)
161 楼
apollobookab [专家分:30] 发布于 2006-05-10 14:31:00
既然大家都参加了!!
那我也来了^^^^^
162 楼
que1 [专家分:110] 发布于 2006-05-10 15:36:00
哈哈
比较难
不过还是来看一下^_^
163 楼
cosixu [专家分:70] 发布于 2006-05-10 20:04:00
第七题用vb 做的
Option Base 1
Dim temp As String
Dim filenum As Integer
Private Sub Command1_Click()
filenum = FreeFile
Open "d:\f1.txt" For Output As #filenum
Print #filenum, Text1.Text
Text1.Text = ""
MsgBox "文件己写入", 48, "文件写入"
Close #filenum
End Sub
Private Sub Command2_Click()
Dim t As String, n As Integer, msg As String
Dim c As String, msg1 As String, whole As String, whold As String
filenum = FreeFile
Open "d:\f1.txt" For Input As #filenum
Do While Not EOF(filenum)
Line Input #filenum, temp
whole = whole + temp
Loop
Close #filenum
Open "d:\f2.txt" For Output As #2
n = Len(whole)
For i = 1 To n + 1
c = Mid(whole, i, 1)
If c <> " " And i <> n + 1 Then
msg = msg + c
Else
If Left(msg, 1) <> "a" And Right(msg, 1) <> "n" Then
whold = whold + msg + Space(1)
Else
For j = Len(msg) To 1 Step -1
msg1 = msg1 + Mid(msg, j, 1)
Next j
whold = whold + msg1 + Space(1)
msg1 = ""
End If
msg = ""
End If
Next i
Print #2, whold
Close #2
Open "d:\f2.txt" For Input As #3
Do While Not EOF(3)
Line Input #3, temp
Loop
Text2.Text = temp
Close #3
End Sub
Private Sub Command3_Click()
Open "d:\f1.txt" For Input As #1
Input #1, temp
Close #1
Text1.Text = temp
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
164 楼
cosixu [专家分:70] 发布于 2006-05-10 20:07:00
用VC写的
// 4. 在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅
// 出现一次,这样的数阵叫N阶拉丁方阵。例如下图就是一个五阶拉丁方阵。
// 编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。
// 1 2 3 4 5
// 2 3 4 5 1
// 3 4 5 1 2
// 4 5 1 2 3
// 5 1 2 3 4
#include <iostream>
#define n 5
using namespace std;
void display(int m[],int p)
{for (int i=0;i<p;i++)
cout<<m[i]<<" ";
cout<<endl;
}
int main()
{int a[n],t;
for (int i=0;i<n;i++)
cin>>a[i];
for (i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<endl;
for (int count=0;count<n-1;count++)
{t=a[0];
for (i=0;i<n-1;i++)
a[i]=a[i+1];
a[n-1]=t;
display(a,n);
}
return 0;
}
165 楼
ztsdc3102 [专家分:0] 发布于 2006-05-11 12:39:00
这么多啊
166 楼
wss2468hm [专家分:220] 发布于 2006-05-12 17:15:00
第二题 c语言
#include<stdio.h>
int judge_1(int *a)
{
if(a[0]==1 && a[1]==1) return 1;
return 0;
}/*第一条件*/
int judge_2(int *a)
{
if(a[1]!=a[2]) return 1;
return 0;
}
/*第二条件*/
int judge_3(int *a)
{
if(a[2]==a[3]) return 1;
return 0;
}
/*第三条件*/
int judge_4(int *a)
{
if(a[3]+a[4]!=0) return 1;
return 0;
}
/*第四条件*/
int judge_5(int *a)
{
if(a[0]*a[3]*a[4]==1) return 1;
return 0;
}
/*第五条件*/
int judge(int *a)
{ int s=1;
if(a[0]==1) s*=judge_1(a);
s*=judge_2(a);
s*=judge_3(a);
s*=judge_4(a);
if(a[4]==1)
s*=judge_5(a);
return s;
}
/*判断条件*/
print(int *a)
{
int i;
for (i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
return (0);
}
/*打印*/
main ()
{ int a[5]={0};
int i,n,s,j;
for (i=0;i<32;i++)
{ n=0;s=i;
while(s!=0)
{
a[n++]=s%2;s/=2;
}
while(n<5) a[n++]=0;
s=judge(a);
if(s==1) print(a);
} getch();
}
167 楼
wss2468hm [专家分:220] 发布于 2006-05-12 17:16:00
第三题
#include <stdio.h>
void print_1(int n,int m) /*打印中间部分,n控制列*/
{
int i;
for(i=0;i<n;i++)
if(m>0) printf("%d",m);
else if(m==0) printf("J");
else printf("T");
}
void print_2(int n,int m,int flag) /*打印两边部分,n控制列*/
{
int i;
for(i=0;i<n;i++) {
if(flag==1) /*后半部分*/
{ m--;
if(m>0) printf("%d",m);
else if(m==0) printf("J");
else printf("T");
}
else /*前半部分*/
{
if(m>0) printf("%d",m);
else if(m==0) printf("J");
else printf("T");
m++;
}
}
}
main()
{
int n,i,j=0,m;
printf("please put in NO:");
scanf("%d",&n);
for(i=-1;i<((n-1)/2+(n-1)%2);i++)
{
print_2(j,-1,0);
print_1(n-2*j,i);
print_2(j,i,1);
j++;
printf("\n");
}
i-=3;j-=2;
for(;i>=-1;i--)
{
print_2(j,-1,0);
print_1(n-2*j,i+1);
print_2(j,i+1,1);
printf("\n");
j--;
}
printf("\n");
getch();
}
168 楼
wss2468hm [专家分:220] 发布于 2006-05-12 17:17:00
第四题
#include <stdio.h>
int num,count=0;
void print(int n)
{
int i;
for(i=0;i<num;i++)
{
if(n>num) n=1;
printf("%d",n);
n++;count++;
}
printf("\n");
}
main()
{
int i;
printf("please put in NO:");
scanf("%d",&num);
for(i=1;i<=num;i++)
print(i);
printf("count=%d\n",count);
getch();
}
169 楼
huaxiao [专家分:0] 发布于 2006-05-13 13:10:00
会的都做做啊,再把答案发出来.让我们参考一下.不过,入门题是不是太难了?
170 楼
28836780 [专家分:0] 发布于 2006-05-13 19:34:00
[em13][em13][em13][em13]
我来回复