zoukankan      html  css  js  c++  java
  • 华中科技大学_2008___考研计算机_复试上机

    1。八进制

    题目描写叙述:

    输入一个整数,将其转换成八进制数输出。

    输入:

    输入包含一个整数N(0<=N<=100000)。

    输出:

    可能有多组測试数据,对于每组数据。
    输出N的八进制表示数。

    例子输入:
    7
    8
    9
    例子输出:
    7
    10
    11

    总结:模8就是取低3位。然后右移三位;不是必需翻转。放在数组中,从后向前输出就可以。

    #include<iostream>
    using namespace std;
    
    int main(){
    	int n,i,j;
    	int num[10000];
    
    	while(cin>>n){
    		i=0;
    		while(n){
    			num[i++] = n%8;
    			n = n>>3;
    		}
    		
    		for(j = i-1;j>0;j--){
    			cout<<num[j];
    		}
    		cout<<num[0]<<endl;
    	}
    
    
    	return 0;
    }


    2,最长&最短文本

    题目描写叙述:

        输入多行字符串。请依照原文本中的顺序输出当中最短和最长的字符串,假设最短和最长的字符串不止一个,请所有输出。

    输入:

    输入包含多行字符串。字符串的长度len,(1<=len<=1000)。

    输出:

    依照原文本中的顺序输出当中最短和最长的字符串,假设最短和最长的字符串不止一个,请所有输出。

    例子输入:
    hello
    she
    sorry
    he
    例子输出:
    he
    hello
    sorry

    总结:这个是自己想出来的,有些。

    。。

    。。。

    #include<stdio.h>
    #include<string.h>
    
    int main(){
    	int i=0;
    	int h=0;
    	int max[200];
    	int k=0;
    	int min[200];
    
    	int len;
    	char str[1000][1001];
    	
    	while(scanf("%s",str[i]) != EOF){
    		len=strlen(str[i]);
    
    		if(k==0){
    			min[199] = len;
    			min[k++] = i;
    			i++;
    			continue;
    		}
    
    		if(min[199]==len){
    			min[k++] = i;
    		}
    		
    		if(min[199] > len){
    			k=0;
    			min[k++] = i;
    			min[199] = len;
    		}
    
    		if(min[199] < len){
    			if(h==0){
    				max[199] = len;
    				max[h++] = i;
    				i++;
    				continue;
    			}
    			if(max[199] == len){
    				max[h++] =i;
    			}
    			if(max[199] < len){
    				h=0;
    				max[h++] =i;
    				max[199] = len;
    			}
    		}
    
    		i++;
    	}
    
    	for(i=0;i<k;i++){
    		printf("%s
    ",str[min[i]]);
    	}
    	for(i=0;i<k;i++){
    		printf("%s
    ",str[max[i]]);
    	}
    
    	return 0;
    }


    总结:这个是參考的,结构体不是须要的,感觉还是有些问题:假设输入的都是一样的字符串。会输出两遍,会不会题目就是这样要求的。操,上面的代码我还单步调试了,没发现错误,就是没有accepted。

    #include <stdio.h>
    #include <string.h>
     
    typedef struct
    {
            char str[1001];
            int len;
    }CharString;
     
    int main()
    {
            CharString arr[1000];
            int cnt = 0;
            int i,max,min;
     
            while(scanf("%s",arr[cnt].str) != EOF)
            {
                    arr[cnt].len = strlen(arr[cnt].str);
                    cnt++;
            }
     
            max = min = arr[0].len;
     
            for(i = 0;i < cnt;i++)
            {
                    if(min > arr[i].len)
                    {
                            min = arr[i].len;
                    }
                    if(max < arr[i].len)
                    {
                            max = arr[i].len;
                    }
            }
     
            for(i = 0;i < cnt;i++)
            {
                    if(arr[i].len == min)
                    {
                            printf("%s
    ",arr[i].str);
                    }
            }
     
            for(i = 0;i < cnt;i++)
            {
                    if(arr[i].len == max)
                    {
                            printf("%s
    ",arr[i].str);
                    }
            }
            return 0;
    }






  • 相关阅读:
    Springboot 2响应式编程 WebFlux 初体验
    MyBatis集成到Spring
    Java 常用的转换、排序
    Springboot 2使用外部Tomcat源码分析
    Springboot 2启动内置Tomcat源码分析
    Springboot 2启动源码流程
    Springboot 2使用SpringApplication
    IDEA效率插件JRebel的使用
    Spring 源码总结
    Spring事件监听器源码
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5080037.html
Copyright © 2011-2022 走看看