18摸底考试答案

选择题:CCDAC   BBCCD
 
填空题:
1.主函数(main()函数)
2.数字、字母、下划线、$(美元符号)、数字
3.整型数据
4.1
5.i=14
6.36
7.9 11
8.1 -3
9.x%100/10
10.2
 
程序补全答案:
1.g=n%10; s=n%100/10; q=n%10000/1000; w=n/10000;   g==w&&s==q (推荐答案)
或者g=n%10;  s=n/10%10;  q=n/1000%10;   w=n/10000%10;   g==w&&s==q (w%答案不改变)
2.z=x%y;   x=y;   y=z;
3.j=0;j<10-1-i;(或者 j<10-i )j++   tmp=a[j];    a[j]=a[j+1];    a[j+1]=tmp;
4.a[i]=a[i-1]+a[i-2];   i%5==0
 
编程题:
1.输入年份,判断该年为平年还是闰年
#include<stdio.h>
int main()
{
  int year;
  scanf("%d",&year);
  if((year%4==0&&year%100!=0)||(year%400==0)){
  printf("%d是闰年",year);
}else{
printf("%d是平年",year);
}
return 0;
2.输入一个数,求这个数阶乘n! 
#include<stdio.h>
int main()
{
int n;
int sum=1;
scanf("%d",&n);
while(n>=1){
sum*=n;
n--;
printf("%d",sum);
return 0;
}
3.输出1-100之间的所有素数
#include<stdio.h>
int main()
{
int m=0,i,j;
for(i=2;i<=100;i++){
m=0;
for(j=2;j<=i/2;j++){
if(i%j==0){
m=1;
break;
}
}
if(m==0){
printf("%d ",i);
}
}
return 0;
4.逆序排列用交换算法,求出字符串最后一个字符的下标,然后将第一个和最后一个交换,第二个和倒数第二个交换...
#include<stdio.h>
#include<string.h>
int main()
{
  char a[100];
gets(a);
char temp;
for(int i=0;i<strlen(a)/2;i++){
temp=a[i];
a[i]=a[strlen(a)-1-i];
a[strlen(a)-1-i]=temp;
}
puts(a);
return 0;
5.输入一个3*3的矩阵
①求出对角线元素的和;
②输出最小元素及其所在的行和列。
#include<stdio.h>
int main()
{
  int a[3][3];
  int sum=0;
  int min,m,n;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
scanf("%d",&a[i][j]);
}
}
min=a[0][0];
m=1;n=1;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(((i+j==2)&&(i!=j))||(i==j)){
sum+=a[i][j];
if(a[i][j]<min){
min=a[i][j];
m=i+1,n=j+1;;
}
}
printf("对角线元素的和为:%d\n",sum);
printf("最小值在第%d行,第%d列",m,n);
return 0;
加强题:有一行电文,已按下面规律译成密码:
A->Z     a->z
B->Y     b->y 
C->X     c->x
即第一个字母变成第26个字母。第i个字母变成第(26- i+1)字母,非字母字符不变。要求编程序输入电文输出密码。
#include<stdio.h>
#include<string.h>
int main()
{
  char a[100];
  gets(a);
  for(int i=0;i<strlen(a);i++){
  if(a[i]>='a'&&a[i]<='z'){
  a[i]=122+(97-a[i]);
}
if(a[i]>='A'&&a[i]<='Z'){
a[i]=90+(65-a[i]);
}
}
puts(a);
return 0;
 
 

发布者:陈宏松   点击数:514   发布时间:2018-10-20   更新时间:2018-10-27