机试练习题.docx
- 文档编号:3261168
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:31
- 大小:24.34KB
机试练习题.docx
《机试练习题.docx》由会员分享,可在线阅读,更多相关《机试练习题.docx(31页珍藏版)》请在冰豆网上搜索。
机试练习题
1题目描述:
输入n,
求y1=1!
+3!
+...m!
(m是小于等于n的最大奇数)
y2=2!
+4!
+...p!
(p是小于等于n的最大偶数)。
输入:
每组输入包括1个整数:
n
输出:
可能有多组测试数据,对于每组数据,
输出题目要求的y1和y2
样例输入:
4
样例输出:
726
#include
intmain(){
intn,i,j;
longdoubley1,y2,y;
while(scanf("%d",&n)!
=EOF){
y1=y2=0;
for(i=1;i<=n;i=i+2){
y=1;
for(j=1;j<=i;j++)
y=y*j;
y1=y1+y;
}
for(i=2;i<=n;i=i+2){
y=1;
for(j=1;j<=i;j++)
y=y*j;
y2=y2+y;
}
printf("%.0llf%.0llf\n",y1,y2);}
return0;
}
2题目描述:
输入一个N维矩阵,判断是否对称。
输入:
输入第一行包括一个数:
N(1<=N<=100),表示矩阵的维数。
接下来的N行,每行包括N个数,表示N*N矩阵的元素。
输出:
可能有多组测试数据,对于每组数据,
输出"Yes!
”表示矩阵为对称矩阵。
输出"No!
”表示矩阵不是对称矩阵。
样例输入:
4
1619166
1916145
1614163
65316
2
12
34
样例输出:
Yes!
No!
#include
#include
#defineMax100
intmain()
{
intn,i,j;
inta[Max][Max];
inttag;
while(scanf("%d",&n)<0&&n>=1&&n<=100)
{
tag=1;
for(i=0;i for(j=0;j scanf("%d",&a[j]); for(i=0;i { for(j=0;j if(a[j]! =a[j]) { tag=0; break; } } if(tag==1) printf("YES! \n"); else printf("NO! \n"); } return0; } 3题目描述: 编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词) 输入: 输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。 输出: 可能有多组测试数据,对于每组数据, 输出字符串中每个单词包含的字母的个数。 样例输入: hellohowareyou. 样例输出: 5333 一直提示RuntimeError 哪位大神给看看哇~~ #include #include intmain() { inti,L,R,len,count; charstr[100]; while(gets(str)) { len=strlen(str); if(str[len-1]! ='.') printf("InputError! \n"); else { i=0; while(str[i]! ='.'&&i<(len-1)) { count=0; while(str[i]==''&&i<(len-1)) i++; while(str[i]! =''&&str[i]! ='.'&&i<(len-1)) i++,count++; if(count! =0) printf("%d",count); } printf("\n"); } } return0; } 题目描述: 守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。 输入: 输入包括1个整数N,2<=N<100。 输出: 可能有多组测试数据,对于每组数据, 输出"Yes! ”表示N是守形数。 输出"No! ”表示N不是守形数。 样例输入: 25 4 样例输出: Yes! No! #include #include intmain(){ intn,n2,k,i,j,count; chars1[10],s2[10]; while(scanf("%d",&n)! =EOF){ n2=n*n; sprintf(s1,"%d",n); sprintf(s2,"%d",n2); k=strlen(s1)-1; j=strlen(s2)-1; count=0; for(i=k;i>=0;i--){ if(s1[i]==s2[j])count++; j--; } if(count==strlen(s1)) printf("Yes! \n"); elseprintf("No! \n"); } return0; } 题目描述: 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。 建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。 输入: 输入包括1行字符串,长度不超过100。 输出: 可能有多组测试数据,对于每组数据, 输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。 每个输出结果占一行。 样例输入: abc##de#g##f### 样例输出: cbegdfa #include #include intmain() { chara[101],b[101]; inti,j,lens; while(gets(a)) { lens=strlen(a); for(i=0;i { if(a[i]=='#') { for(j=i-1;j>=0;j--) { if(a[j]! ='#') { printf("%c",a[j]); a[j]='#'; break; } } } } printf("\n"); } return0; 题目描述: 输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。 输入: 输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。 接下来的一行有N个整数。 输出: 可能有多组测试数据,对于每组数据, 第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。 第二行将排序的结果输出。 样例输入: 4 1342 样例输出: 4 123 #include intmain(){ inti,n,t,j,a[1000]; while(scanf("%d",&n)! =EOF){ for(i=0;i scanf("%d",&a[i]); t=a[i]; j=i-1; while(j>=0&&a[j]>t){a[j+1]=a[j];j--;} a[j+1]=t; } printf("%d\n",a[n-1]); if(n==1)printf("-1\n"); elsefor(i=0;i printf("%d",a[i]); if(i! =n-2)printf(""); elseprintf("\n");} } return0; } 题目描述: 给出年分m和一年中的第n天,算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 练习题