东北大学2014年C语言程序设计

第一题
5余1,6余5,7余4,11余10的最小数
#include<stdio.h>

#define max 1000000

int main()
{
    for(int i = 1 ; i < max ;i++)
    {
    	int a = (i - 1) % 5;
    	int b = (i - 5) % 6;
    	int c = (i - 4) % 7;
    	int d = (i - 10)% 11;
    	if(a == 0 && a == b && b == c && c == d)
    	{
    		printf("%d ",i);
    		break;
		}
	}
    return 0;
}


第二题
//输入一个字符串,统计大写小写字符个数,并将大写字符反序输出 
#include<stdio.h>
#include<string>

#define maxsize 100

void reverse(char *str)
{
	char *p = str;
	while(*p)
	{
		p++;	
	}		
	p = p - 1;
	while(p >= str)
	{
		if((*p>='A')&& (*p<='Z'))
		{
			printf("%c",*p);
		}
		p--;
	}
} 

int main()
{
	int lower = 0;
    int upper = 0 ;
    char str[maxsize];
    gets(str);
    for(int i = 0 ; str[i]!='\0';i++)
    {
    	if (str[i] >= 'A' && str[i] <= 'Z')
			upper++;
		else if (str[i] >= 'a' && str[i] <= 'z')
			lower++;
	}
    printf("%d,%d",lower,upper);
    reverse(str);
    return 0;
}


第三题 给定一个二维数组,M行N列,输出满足行最大列最小条件的元素
#include<stdio.h>
#include<stdlib.h>


void  andian(int **arr,int m,int n)
    {
    	int k,flag = 0;
    	for(int i = 0 ; i < m ; i++)
    	{
    		int max = arr[i][0];
    		for(int j = 0 ; j < n; j++)
    		{
    			if(max < arr[i][j])
    			{
    				max = arr[i][j];
				}
				k  = j ; //行最大 
			}
			int min = arr[i][k];
			for(int i = 0 ; i < m; i++)
			{
				if(min > arr[i][k])
				{
					min = arr[i][k];
				}
			}
			if(min == max)
			{
				printf("第%d行第%d个元素,鞍点为:%d",i+1,k+1,max);
				flag = 1;
			}
		}
		if(flag == 0)
		{
			printf("没有鞍点");	
		}	
	}
	 
 int main()
 {
     int i,j,k,max,min;
     int M,N;
     scanf("%d %d",&M,&N);
     int** array;
     //分配指针空间 
     array = (int **)malloc(sizeof(int *) * M);
	for (i = 0; i < M; i++)
		array[i] = (int *)malloc(sizeof(int) * N); 

     printf("请输入数组元素:\n");
     for(i=0;i<M;i++)
     {
         for(j=0;j<N;j++)
            scanf("%d",&array[i][j]);
            //scanf("%d",&*((*array+i)+j));
     }
     printf("数组有:\n");
     for(i=0;i<M;i++)
     {
         for(j=0;j<N;j++)
            printf("%-5d\t",array[i][j]);
            printf("\n");
     }
	andian(array,M,N);
     return 1;
 }
posted @ 2020-09-02 17:20  Akmf's_blog  阅读(87)  评论(0)    收藏  举报