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

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

藍橋杯——2011 吉大計算機研究生機試真題(節選,2017.2.6)

2019-11-11 05:05:37
字體:
來源:轉載
供稿:網友

1. 數字之和

源代碼:

#include <stdio.h>int main(){	int n,pown;	int sum1,sum2;	while(scanf("%d",&n)!=EOF)	{		if(n==0)			break;		pown=n*n;		sum1=0,sum2=0;		while(n)		{			sum1+=n%10;			n/=10;		}		while(pown)		{			sum2+=pown%10;			pown/=10;		}		PRintf("%d %d/n",sum1,sum2);	}	return 0;}程序截圖:

2. 字符串的反碼

源代碼:

#include <stdio.h>#include <string.h>#define maxlen 81int main(){	int i;	char str[maxlen];	while(gets(str)!=NULL)                              //需注意字符串中可能含有空格,不能用scanf("%s",str)!=EOF	{		if(strcmp(str,"!")==0)			break;		for(i=0;i<strlen(str);i++)		{			if(str[i]>='A' && str[i]<='Z')				str[i]=155-str[i];			else if(str[i]>='a' && str[i]<='z')				str[i]=219-str[i];		}		puts(str);	}	return 0;}程序截圖:

3. 搬水果

【分析】貪心算法,每次找出數組里面最小的兩個數組合,用sort排序一次一次求出最小的兩個值一定會超時,所以用特殊的選擇排序,每次都使數組前兩個數最小(只排前兩個),測試數組可能很大,其余后面的沒必要排序,節省時間。        其中要注意的一點,找出數組中最小值時,只需要統計下標,跳出循環后再讓他與首元素進行交換,防止在循環內交換次數過多造成超時!

源代碼:

#include <stdio.h>#define maxn 10010int main(){	int i,j,k,n,a[maxn];	int sum,t,x;    while(scanf("%d",&n)!=EOF)    {    	if(n==0)    		break;		for(i=0;i<n;i++)        	scanf("%d",&a[i]);        x=0,sum=0;        while(x<n-1)        {            for(i=x;i<x+2;i++)            {                k=i;                for(j=i+1;j<n;j++)                {                   if(a[k]>a[j])				   		k=j;                //標記最小值                }               t=a[i];                      //在循環外面交換,不需要每次交換,節省了交換時間                a[i]=a[k];               a[k]=t;                     }           a[x+1]=a[x]+a[x+1];           sum+=a[x+1];                x++;       }       printf("%d/n",sum);    }    return 0;}程序截圖:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东明县| 鹰潭市| 金沙县| 潜江市| 邢台市| 定襄县| 光泽县| 荥经县| 翼城县| 衡阳县| 宜川县| 东宁县| 普兰县| 芦溪县| 莱阳市| 商河县| 西贡区| 海门市| 林西县| 永昌县| 邻水| 栾川县| 和平区| 昭平县| 三原县| 红桥区| 聊城市| 玛曲县| 深泽县| 灵石县| 灵璧县| 睢宁县| 乌兰察布市| 个旧市| 雷山县| 郁南县| 岱山县| 岚皋县| 彭泽县| 滨州市| 滨州市|