国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

藍橋杯——計算機研究生機試真題(2017.2.18)

2019-11-08 02:59:24
字體:
來源:轉載
供稿:網友

1. (2011年西北工業大學計算機研究生機試真題)調整方陣題目描述:輸入一個N(N<=10)階方陣,按照如下方式調整方陣:1.將第一列中最大數所在的行與第一行對調。2.將第二列中從第二行到第N行最大數所在的行與第二行對調。依此類推...N-1.將第N-1列中從第N-1行到第N行最大數所在的行與第N-1行對調。N.輸出這個方陣輸入:包含多組測試數據,每組測試數據第一行為一個整數N,表示方陣的階數.接下來輸入這個N階方陣.輸出:調整后的方陣樣例輸入:43 6 8 76 7 5 38 6 5 39 8 7 2樣例輸出:9 8 7 26 7 5 33 6 8 78 6 5 3

源代碼:

#include <stdio.h>#define maxn 12int a[maxn][maxn]; void Fun(int a[][maxn],int N){	int i,j=0,k,temp;	int max,maxln;	while(j<N)	{		i=j;		max=a[i][j];		maxln=j;		for(i=j;i<N;i++)		{			if(a[i][j]>max)			{				max=a[i][j];				maxln=i;			}		}		for(i=j;i<N;i++)		{			if(i==maxln)			{				for(k=0;k<N;k++)				{					temp=a[j][k];					a[j][k]=a[maxln][k];					a[maxln][k]=temp;				}				break;			}		}		j++;	}	for(i=0;i<N;i++)	{		for(k=0;k<N-1;k++)			PRintf("%d ",a[i][k]);		printf("%d/n",a[i][N-1]);	}}int main(){	int N;	int i,j;	while(scanf("%d",&N)!=EOF)	{		for(i=0;i<N;i++)			for(j=0;j<N;j++)				scanf("%d",&a[i][j]);		Fun(a,N);	}	return 0;}程序截圖:

2. (2011年西北工業大學計算機研究生機試真題)合并符串題目描述:給定兩個字符串S1和S2,合并成一個新的字符串S。合并規則為,S1的第一個字符為S的第一個字符,將S2的最后一個字符作為S的第二個字符;將S1的第二個字符作為S的第三個字符,將S2的倒數第二個字符作為S的第四個字符,以此類推。輸入:包含多組測試數據,每組測試數據包含兩行,代表長度相等的兩個字符串S1和S2(僅由小寫字母組成,長度不超過100)。輸出:合并后的新字符串S樣例輸入:abcdef樣例輸出:afbecd

源代碼:

#include <stdio.h>#include <string.h>#define maxlen 210      //注意新字符串數組大小 至少為100*2=200 void Mystrcat(char s1[],char s2[]){	int i=0,j=strlen(s2)-1;	int k=0,t;	char s[maxlen];	while(s1[i]!='/0' && s2[j]!='/0')	{		s[k++]=s1[i];		s[k++]=s2[j];		i++,j--;	}	s[k]='/0';	printf("%s/n",s);}int main(){	char s1[maxlen],s2[maxlen];	while(scanf("%s",s1)!=EOF)	{		scanf("%s",s2);		Mystrcat(s1,s2);	}	return 0;}程序截圖:

拓展:“長度相等的兩個字符串S1和S2(僅由小寫字母組成,長度不超過100)” 條件改為“字符串S1和S2長度可不等”,其余條件不變源代碼:
#include <stdio.h>#include <string.h>#define maxlen 105void Mystrcat(char s1[],char s2[]){	int i=0,j=strlen(s2)-1,k=0;	char s[maxlen];	while(i<strlen(s1) && j>=0)	{		s[k++]=s1[i];		s[k++]=s2[j];		i++,j--;	}	while(i<strlen(s1))           //若串s1比s2長	{		s[k++]=s1[i];		i++;	}	while(j>=0)                   //若串s2比s1長	{		s[k++]=s2[j];		j--;	}	s[k]='/0';	for(i=0;i<k;i++)		printf("%c",s[i]);	printf("/n");}int main(){	char s1[maxlen],s2[maxlen];	while(scanf("%s",s1)!=EOF)	{		scanf("%s",s2);		Mystrcat(s1,s2);	}	return 0;}程序截圖:

3. (2012年北京郵電大學計算機研究生機試真題)二進制數題目描述:  大家都知道,數據在計算機里中存儲是以二進制的形式存儲的。  有一天,小明學了C語言之后,他想知道一個類型為unsigned int 類型的數字,存儲在計算機中的二進制串是什么樣子的。  你能幫幫小明嗎?并且,小明不想要二進制串中前面的沒有意義的0串,即要去掉前導0。輸入:第一行,一個數字T(T<=1000),表示下面要求的數字的個數。接下來有T行,每行有一個數字n(0<=n<=10^8),表示要求的二進制串。輸出:輸出共T行。每行輸出求得的二進制串。樣例輸入:523535262456275989835樣例輸出:101111000010111101001000000110110111101001111110001101010001011

源代碼:

#include <stdio.h>#include <string.h>#define maxlen 100000char num[maxlen];int main(){	int i,j,k,t,T;	unsigned int n;	scanf("%d",&T);	for(i=0;i<T;i++)	{		scanf("%d",&n);		j=0,t=n;		if(t==0)                //特別注意0也在數據范圍內		{			printf("0/n");			continue;		}		while(t)		{			num[j++]=(t%2)+'0';			t/=2;		}		num[j]='/0';		for(k=j-1;k>=0;k--)			printf("%c",num[k]);		printf("/n");	}	return 0;}程序截圖:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河曲县| 东平县| 旬阳县| 西藏| 平山县| 牟定县| 新疆| 武川县| 遂宁市| 故城县| 南京市| 二连浩特市| 黔西县| 体育| 扶风县| 雷州市| 邵武市| 沁源县| 安化县| 保康县| 焉耆| 遂昌县| 巩留县| 福鼎市| 禄丰县| 镇安县| 灵台县| 微山县| 白银市| 临漳县| 宜丰县| 灵宝市| 会昌县| 如东县| 九寨沟县| 芜湖市| 浮梁县| 武城县| 林周县| 井陉县| 前郭尔|