中南大学21级期末C语言oj机试补考题代码

 A题目比较简单,主要涉及了数据的输入与输出。中南大学21级期末C语言oj机试补考题代码_第1张图片

//A 时间转换
#include
int main()
{ int t;
  while(scanf("%d",&t)!=EOF)  
    {   int H,M,S;
        H=t/3600;
        M=(t-3600*H)/60;
        S=t-3600*H-60*M;
        printf("%d:%d:%d\n",H,M,S);
    }
    return 0;
}

 B题目比较简单,主要考察了对字符串数组的理解,长度的计算等知识点。

中南大学21级期末C语言oj机试补考题代码_第2张图片

//B 奇数序列
#include 
int main()
{
	long long int n,i,x,sum=0;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=1;i<=n;i++)
		{
			scanf("%d",&x);
			sum+=x;
        } 
        if(sum==0)
        {
           printf("NO\n"); 
        }
		if(n%2!=0&&sum%2!=0)
		{
			printf("YES\n");
		} 
		else 
		{
			printf("NO\n");
		}
		sum=0;
    }
	return 0;
}

C题目比较简单,主要考察了字符串数组的逆序输出问题。

中南大学21级期末C语言oj机试补考题代码_第3张图片

 

//C 加密算法
#include
#include
int main()
{    
    char arr[1000];
    while(scanf("%s",arr)!=EOF)
    {   int n;
	    n=strlen(arr);
	    char brr[n-1];
        int i,j;
        for(i=0,j=n-1;i

 D题目难度中等,涉及问题包括26个字母的数组创建、每行代码涉及“空格——字母——空格”三次循环、对于26字母数组的调用。其中创建字母数组采用ASCII码值的方法构建。

中南大学21级期末C语言oj机试补考题代码_第4张图片

//D 字母图形
#include
int main()
{   char arr[26];
    for(int A=0;A<26;A++)
    {
      arr[A]='a'+A;
    }
	int T;
    while(scanf("%d",&T)!=EOF)
    {
    int j;//j是第几行
       
          for(j=1;j<=T;j++)
          {
              for(int k1=1;k1<=T-j;k1++)//k1是第几个字符位,打印前半部分空格
              {
                  printf(" ");
              }
              
              for(int k2=j-1;k2>=0;k2--)//打印前半部分字母(含中间值)
              {
                  printf("%c",arr[k2]);
              }
              
              for(int k4=1;k4<=j-1;k4++)//打印后半部分字母(不含中间值)
              {
                  printf("%c",arr[k4]);
              }
              
              printf("\n");
          }
       
	}
    return 0;
}

E题目比较简单。我称其为不进位加法,采用枚举的形式定义出每一位的数字,两组数a、b中对应位相加,大于10就减去10,取剩余的部分存入c中。当然,本题也可以构建arr、brr、crr三个数组,对应a、b、c,配合一组for循环使代码更简洁。

中南大学21级期末C语言oj机试补考题代码_第5张图片

//E 按位相加
#include
int main()
{int a,b;
 int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
 int b1,b2,b3,b4,b5,b6,b7,b8,b9,b10;
 int c1,c2,c3,c4,c5,c6,c7,c8,c9,c10;
    while(scanf("%d %d",&a,&b)!=EOF)
    {   
	    int i,j;
        a1=a%10;
        a2=(a/10)%10;
        a3=(a/100)%10;
        a4=(a/1000)%10;
        a5=(a/10000)%10;
        a6=(a/100000)%10;
        a7=(a/1000000)%10;
        a8=(a/10000000)%10;
        a9=(a/100000000)%10;
        a10=(a/1000000000)%10;
        b1=b%10;
        b2=(b/10)%10;
        b3=(b/100)%10;
        b4=(b/1000)%10;
        b5=(b/10000)%10;
        b6=(b/100000)%10;
        b7=(b/1000000)%10;
        b8=(b/10000000)%10;
        b9=(b/100000000)%10;
        b10=(b/1000000000)%10;
        c10=a10+b10;
        if(c10>=10)
         {c10=c10-10;}
        c9=a9+b9;
        if(c9>=10)
         {c9=c9-10;}
         c8=a8+b8;
        if(c8>=10)
         {c8=c8-10;}
        c7=a7+b7;
        if(c7>=10)
         {c7=c7-10;}
         c6=a6+b6;
        if(c6>=10)
         {c6=c6-10;}
         c5=a5+b5;
        if(c5>=10)
         {c5=c5-10;}
         c4=a4+b4;
        if(c4>=10)
         {c4=c4-10;}
         c3=a3+b3;
        if(c3>=10)
         {c3=c3-10;}
         c2=a2+b2;
        if(c2>=10)
         {c2=c2-10;}
         c1=a1+b1;
        if(c1>=10)
         {c1=c1-10;}
         int arr[10]={c10,c9,c8,c7,c6,c5,c4,c3,c2,c1};
         if(c1==0&&c2==0&&c3==0&&c4==0&&c5==0&&c6==0&&c7==0&&c8==0&&c9==0&&c10==0)
         {
           printf("0");  
         }
        for(i=0;i<10;i++)
		    {
		    	if(arr[i]==0)				
					continue;
				
				else 
				{
					for(j=i;j<10;j++)
					{
						printf("%d",arr[j]);
					}
				goto correct;
				}
		    }    
		        correct:
			printf("\n");  
    }
  
    
    return 0;
}

F题目难度较大,属于选拔性质的题目。主要考察了结构体语句的掌握,在熟悉此知识点的基础上,解题将容易许多。

中南大学21级期末C语言oj机试补考题代码_第6张图片

中南大学21级期末C语言oj机试补考题代码_第7张图片

//F 考试测评
#include
struct{
	int x;
	int ma;
	int en;
	int cc;
	int sum;
}st[1001];

int main()
{
	int n;
	while(scanf("%d",&n)!=EOF){
		int i,j;
		for(i=0;ist[j].sum){
					st[1000]=st[i];st[i]=st[j];st[j]=st[1000];
				}
				if(st[i].sum==st[j].sum){
					if(st[i].x

 好啦,以上就是中南大学21级期末C语言oj机试补考的全部内容,答案以及知识点分析,如果大家觉得有用,就请点个赞吧。

你可能感兴趣的:(oj题目,c语言)