西電電腦研究生複試上機題

來源:互聯網
上載者:User

如果有問題歡迎指出......本代碼只在本地測試,無法提交OJ測試。難免會有問題。共同學習.......

#include<stdio.h>#include<string.h>#include<stdlib.h>int cmp(const void *a,const void *b){return *(int *)a - *(int *)b;}int main (){int N,index,i;int Sum[1001];//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);  memset(Sum,0,sizeof(Sum));index = 0;while(scanf("%d",&N) != EOF){if(N == 0){//排序qsort(Sum,index,sizeof(Sum[0]),cmp);for(i = 0;i < index;i++){if(i == index-1){printf("%d\n",Sum[i]);}else{printf("%d ",Sum[i]);}}break;}//計算各位之和while(N){Sum[index] += N % 10;N /= 10;}index++;}return 0;}

#include<stdio.h>#include<stdlib.h>#include<limits.h>int Matrix[101][101];typedef struct MinMax{int x;int y;int value;}MM;int main (){int N,M,i,j;MM Min[101],Max[101];//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);  while(scanf("%d %d",&N,&M) != EOF){for(i = 0;i < N;i++){Min[i].value = INT_MAX;for(j = 0;j < M;j++){scanf("%d",&Matrix[i][j]);//每行的最小值if(Matrix[i][j] < Min[i].value){Min[i].value = Matrix[i][j];}}}for(j = 0;j < M;j++){Max[j].value = INT_MIN;for(i = 0;i < N;i++){//每列的最大值if(Max[j].value < Matrix[i][j]){Max[j].value = Matrix[i][j];}}}//輸出馬鞍點int flag= 0;for(i = 0;i < N;i++){for(j = 0;j < M;j++){if(Min[i].y == Max[j].y && Min[i].x == Max[j].x && Min[i].value == Max[j].value){flag = 1;printf("%d %d %d\n",i,j,Min[i].value);}}}//如果沒有馬鞍點輸出noif(flag == 0){printf("no\n");}}return 0;}

#include<stdio.h>#include<stdlib.h>#include<limits.h>int Matrix[101][101];int main (){int N,M,i,j,index,flag,mark;int Min;//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);  while(scanf("%d %d",&N,&M) != EOF){mark = 0;//輸入資料for(i = 0;i < N;i++){for(j = 0;j < M;j++){scanf("%d",&Matrix[i][j]);}}for(i = 0;i < N;i++){Min = INT_MAX;for(j = 0;j < M;j++){//每行的最小值if(Min > Matrix[i][j]){Min = Matrix[i][j];index = j;}}//在其所在的列判斷他是不是最大值flag = 0;for(j = 0;j < N;j++){if(Min < Matrix[j][index]){flag = 1;break;}}if(flag == 0){printf("%d %d %d\n",i,index,Min);mark = 1;}}//如果沒有馬鞍點輸出noif(mark == 0){printf("no\n");}}return 0;}

#include<stdio.h>#include<stdlib.h>#include<string.h>int main (){int i,j,len,num;char str[101];char pre;//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);  while(scanf("%s",str) != EOF){len = strlen(str);num = 0;//輸出解壓縮for(i = 0;i < len;i++){if(str[i] < '0' || str[i] > '9'){for(j = 0;j < num-1;j++){printf("%c",pre);}num = 0;//要輸出的字元pre = str[i];printf("%c",str[i]);}else{//提取數字num = num * 10 + str[i] - '0';}}for(i = 0;i < num - 1;i++){printf("%c",pre);}printf("\n");}return 0;}

測試案例:

a5b3aba13b4

輸出:aaaaabbbabaaaaaaaaaaaaabbbb
bbabab3a5abb

輸出:

bbababbbaaaaaabb

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.