当前位置:文档之家› 西工大C语言上机考试题库

西工大C语言上机考试题库

1:2:3#include<stdio.h>#include<math.h>int main(){int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0;for(i=1;i<=3;i++){for(j=1;j<=9;j++){if(i!=j){for(k=1;k<=9;k++){if(k!=j&&i!=k){a=i*100+j*10+k;b=a*2;c=a*3;l=b%10,d=c%10;m=(b%100)/10,p=(c%100)/10;n=b/100,q=c/100;if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0)if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q)if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q)printf("%d %d %d\n",a,b,c);}}}}}return 0;}8#include"stdio.h"int main(){int a,b[10],m=0,n=0,p;int i,j,k;scanf("%d",&a);for(i=1;i<=a;i++){m=0;n=0;p=i;for(j=0;p!=0;j++){b[j]=p%10;p=p/10;}for(k=0;k<j;k++){m=m+b[k];if(b[k]==8){n=1;}}if(m%8==0){printf("%d ",i);continue;}if(i%8==0){printf("%d ",i);continue;}if(n==1){printf("%d ",i);continue;}}return 0;}8的次数A*B#include <stdio.h>#include <string.h>#include <stdlib.h>void cheng(char a[],char b[]){int i,j,ca,cb,*s;ca=strlen(a);cb=strlen(b);s=(int *)malloc(sizeof(int)*(ca+cb));for (i=0;i<ca+cb;i++) s[i]=0;for (i=0;i<ca;i++)for (j=0;j<cb;j++)s[i+j+1]+=(a[i]-'0')*(b[j]-'0');for (i=ca+cb-1;i>=0;i--)if (s[i]>=10){s[i-1]+=s[i]/10;s[i]%=10;}i=0;while(s[i]==0) i++;for (;i<ca+cb;i++) printf("%d",s[i]);printf("\n");free(s);}int main(){char a[100],b[100];gets(a),gets(b);if(a[0]=='-'&&b[0]!='-'){printf("-");cheng(&a[1],b);}else if(a[0]=='-'&&b[0]=='-'){cheng(&a[1],&b[1]);}else if(a[0]!='-'&&b[0]=='-'){printf("-");cheng(a,&b[1]);}elsecheng(a,b);return 0;}N边形面积#include<stdio.h>#include<math.h>#define PI 3.1415926int main(){double s,a;int n;scanf("%d %lf",&n,&a); s=a*a*n/(2*2*tan(PI/n)); printf("%.2lf\n",s); return 0;}参加竞赛#include<stdio.h>int main(){int a,b,c,d,e;for(a=0;a<2;a++)for(b=0;b<2;b++)for(c=0;c<2;c++)for(d=0;d<2;d++)for(e=0;e<2;e++)if(((a==1&&b==1)||(a==0&&b==0))&&((b==0&&c==1)||(b==1&&c==0))&&((c==1&&d==1)||(c==0&&d==0))&&(!(d==0&&e==0))&&((e==1&&a==1&&d==1)||(e==0))) { if(a==1){printf("A ");}if(b==1){printf("B ");}if(c==1){printf("C ");}if(d==1){printf("D ");}if(e==1){printf("E ");} } return 0;}草坪喷水插入排序#include<stdio.h>void sort(int a[],int n){int i;int k;int t;for(i=1;i<n;i++){t=a[i];k=i-1;while(t<a[k]){a[k+1]=a[k];k--;if(k==-1)break;}a[k+1]=t;}}int main(){int n;int a[100];int i;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);sort(a,n);printf("\n");for(i=0;i<n;i++)if(i==n-1)printf("%d\n",a[i]);else printf("%d ",a[i]);return 0;}查找车牌号#include<stdio.h>#include<math.h>int main(){int i,j,n;for(i=1;i<=9;i++){for(j=0;j<=9;j++){for(n=33;n<=100;n++){if((n*n)==(i*1100+j*11))printf("%d",i*1100+j*11);}}}return 0;}成绩转化乘完倒序尺子刻度大数除法大数减法#include <stdio.h>#include <string.h>#define max(a,b) a>b?a:b#define min(a,b) a>b?b:aint sum[101];void jia(char a[],char b[]){int flag=0,i,len1,len2,lenmax,lenmin;len1=strlen(a),len2=strlen(b);lenmax=max(len1,len2),lenmin=min(len1,len2); for(i=1;i<=lenmax;i++){if(i<=lenmin){sum[lenmax-i]=a[len1-i]+b[len2-i]-'0'-'0'+flag;if(sum[lenmax-i]>=10){sum[lenmax-i]=sum[lenmax-i]-10;flag=1;}else flag=0;}else{if(len1>len2){sum[lenmax-i]=a[len1-i]-'0'+flag;if(sum[lenmax-i]>=10){sum[lenmax-i]=sum[lenmax-i]-10;flag=1;}else flag=0;}else{sum[lenmax-i]=b[len2-i]-'0'+flag;if(sum[lenmax-i]>=10){sum[lenmax-i]=sum[lenmax-i]-10;flag=1;}else flag=0;}}}if(flag==1)printf("1");for(i=0;i<lenmax;i++)printf("%d",sum[i]);printf("\n");}void jian(char a[],char b[]){int flag=0,i;int len1,len2;len1=strlen(a),len2=strlen(b);for(i=1;i<=len1;i++){if(i<=len2){if(a[len1-i]-b[len2-i]-flag>=0){sum[len1-i]=a[len1-i]-b[len2-i]-flag;flag=0;}else{sum[len1-i]=a[len1-i]-b[len2-i]-flag+10;flag=1;}}else{if(a[len1-i]-flag-'0'>=0){sum[len1-i]=a[len1-i]-flag-'0';flag=0;}else{sum[len1-i]=a[len1-i]-flag+10-'0';flag=1;}}}for(i=0;i<len1&&sum[i]==0;i++);for(;i<len1;i++)printf("%d",sum[i]);printf("\n");}void compare(char a[],char b[]){int len1,len2;len1=strlen(a),len2=strlen(b);if(len1>len2||(len1==len2&&strcmp(a,b)>0)) jian(a,b);else if(strcmp(a,b)!=0){printf("-");jian(b,a);}elseprintf("0\n");}int main(){char a[100],b[100];gets(a);gets(b);if(a[0]=='-'&&b[0]!='-'){printf("-");jia(&a[1],b);}else if(a[0]=='-'&&b[0]=='-')compare(&b[1],&a[1]);else if(a[0]!='-'&&b[0]=='-')jia(a,&b[1]);elsecompare(a,b);return 0;}大写变小写#include<stdio.h>#include<string.h>int main(){char s[80];int len,i;gets(s);len=strlen(s);for(i=0;i<len;i++){if(s[i]>='a'&&s[i]<='z')s[i]=s[i]-32; }puts(s);return 0;}到底星期几等比数列#include <stdio.h>#include <stdlib.h>int main(){int m,n,sum;scanf ("%d",&m);for (n=1; ;n++) {sum=(3*n-1)*n/2; if (sum>m) break;}printf ("%d",n);return 0;}分数#include<stdio.h> int main(){int k,x=1,y=1;float a,b;scanf("%d",&k);for(;y<=5000;y++){for(x=y;x<=5000;x++){a=1.0/k;b=1.0/x+1.0/y;if(a==b)printf("1/%d=1/%d+1/%d\n",k,x,y);}}return 0;}韩信点兵#include<stdio.h>int main(){int n,i;for (i=0;;i++) {if (i%5==2&&i%6==3&&i%7==4&&i%11==5) {printf("%d",i);break;} }return 0;}回文字符串#include<stdio.h>#include<string.h>#include<ctype.h>#define MAXN 5000+10 char buf[MAXN],s[MAXN]; int p[MAXN];int main(){int n,m=0,max=0,x,y;int i,j;fgets(buf,sizeof(s),stdin);n=strlen(buf);for(i=0;i<n;i++){if(isalpha(buf[i])){p[m]=i;s[m++]=toupper(buf[i]);}}for(i=0;i<m;i++){for(j=0;i-j>=0&&i+j<m;j++){if(s[i-j]!=s[i+j])break;if(j*2+1>max){max=j*2+1;x=p[i-j];y=p[i+j];} }for(j=0;i-j>=0&&i+j+1<m;j++){if(s[i-j]!=s[i+j+1])break;if(j*2+2>max){max=j*2+2;x=p[i-j];y=p[i+j+1];} }}for(i=x;i<=y;i++)printf("%c",buf[i]);printf("\n");return 0;}#include<iostream>using namespace std;int main(){char A[5000],B[5000];int a=0,b,c,d,e,f,n=0,m,p,q,C[5000];while((A[a]=cin.get())!='\n') a++;for(b=0,c=0;b<=a-1;b++){if((A[b]>=65&&A[b]<=90)||(A[b]>=97&&A[b]<=122)){B[c]=A[b],C[c]=b;if(B[c]>=97&&B[c]<=122) B[c]=B[c]-32;c++;}}B[c]=32;for(d=0;d<=c-2;d++){if(B[d]==B[d+1]) e=d,f=d+1,a=1;else if(B[d]==B[d+2]) e=d,f=d+2,a=1;else continue;while(e-1>=0&&f+1<=c&&B[e-1]==B[f+1]) e--,f++;m=f-e;if(m>n) n=m,p=e,q=f;}for(a=C[p];a<=C[q];a++)cout<<A[a];cout<<endl;}鸡的体重计算数据整数部分加密#include<stdio.h>#include<string.h>int main(){FILE*pi;pi=fopen("in.dat","w");char A[1000],B[1000];int i,n;gets(A);n=strlen(A);for(i=0;i<n;i++){fprintf(pi,"%c",A[i]);if('A'<=A[i]<'Z'||'a'<=A[i]<'z')B[i]=A[i]+1;if(A[i]=='Z'||A[i]=='z')B[i]=A[i]-25;}for(i=0;i<n;i++)printf("%c",B[i]);fclose(pi);return 0;}阶乘#include<stdio.h>int main(){int n;int i=2;int j=1;scanf("%d",&n); while(1){j=j*i;if(j>n) break;i++;}printf("%d\n",i-1); return 0;}卡片恐怖水母#include<stdio.h>void paixu(int A[],int m){int i=1,n=0,j=0;for(;j<m;j++){for(i=j+1;i<m;i++){if(A[i]<A[j]){n=A[j];A[j]=A[i];A[i]=n;}}}}int main(){int n=0,m=0,A[100]={0},B[100]={0},i=0,j=0,k=0;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&A[i]); }for(i=0;i<m;i++){scanf("%d",&B[i]); }if(m<n){printf("NULL\n");}else{paixu(A,n);paixu(B,m);for(i=0;i<m;i++) {if(A[0]<=B[i]){if(m-i>=n){for(k=0;k<n;k++) {j+=B[i+k];}printf("%d\n",j);}else{printf("NULL\n");}break;}}}return 0;}快速排序#include<stdio.h>void QuickSort(int A[],int n,int L,int R) {int i,j,t;if(L<R){i=L;j=R+1;while(1){while(i+1<n&&A[++i]<A[L]);while(j-1>-1&&A[--j]>A[L]);if(i>=j)break;t=A[i];A[i]=A[j];A[j]=t;}t=A[L],A[L]=A[j],A[j]=t;QuickSort(A,n,L,j-1);QuickSort(A,n,j+1,R);}}int main(){int A[1000],n,i,j,p;scanf("%d",&n);if(n>=1000) {printf("Overflow") ;return 0; }//输入要排序的元素的数目,若大于1000则结束程序输出“Overflow”for(i=0;i<n;i++)scanf("%d",&A[i]); //输入元素QuickSort(A,n,0,n-1);for(i=n-1;i>=0;i--)printf("%d ",A[i]); //输出排序好的结果return 0;}两人三足#include<stdio.h>int main(){int n,a[50],i,j,t,sum=0;scanf("%d\n",&n);for (i=0;i<n;i++) scanf("%d",&a[i]);for (i=0;i<n;i++) {for (j=0;j<n-i-1;j++) {if (a[j]<a[j+1]) t=a[j],a[j]=a[j+1],a[j+1]=t;}}for (i=0;i<n;i+=2) sum+=a[i];printf("%d",sum);return 0;}逆序输出偶数和#include <stdio.h>#include <stdlib.h>int main(){int n,i,sum=0;scanf("%d",&n);int a[n];for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=0;i<n;i++){if(i%2==0)sum=sum+a[i];} printf("%d",sum);return 0;}三角形面积士兵移动输出位数#include<stdio.h>int main(){int i,n;scanf("%d",&n);for(i=1;;i++){if(n/10==0)break;else n=n/10;}printf("%d",i);}数列#include<stdio.h>int main(){int A[10],B[5],i;double C[5];for(i=0;i<5;i++)scanf("%d",&A[i]);for(i=0;i<4;i++){B[i]=A[i+1]-A[i];C[i]=(double)A[i+1]/A[i];}if(B[0]==B[1]&&B[1]==B[2]&&B[2]==B[3]){for(i=5;i<10;i++)A[i]=A[i-1]+B[0],printf("%d ",A[i]);return 0;}if(C[0]==C[1]&&C[1]==C[2]&&C[2]==C[3]){for(i=5;i<10;i++)A[i]=A[i-1]*C[0],printf("%d ",A[i]);return 0;}if((A[0]+A[1]==A[2])&&(A[1]+A[2]==A[3])&&(A[2]+A[3]==A[4])){ for(i=5;i<10;i++)A[i]=A[i-1]+A[i-2],printf("%d ",A[i]);return 0;}printf("NULL");return 0;}数字加密数组元素和水仙花数提取字符串#include <stdio.h>#include<string.h>int main(){char A[100];char l[100];gets(A);int m,n,i,j;scanf("%d",&m);n=strlen(A);for (i=m;i<n;i++){l[i]=A[i];}for (j=m;j<n;j++){printf("%c",l[j]);}printf("\n");return 0;}添加行号#include<stdio.h>#include<string.h>int main(){char A[3][100],B[3][100];int i;FILE*fp;fp=fopen("b.c","w");for(i=0;i<3;i++)gets(A[i]);fprintf(fp,"0001 ");fputs(A[0],fp);fprintf(fp,"\n""0002 ");fputs(A[1],fp);fprintf(fp,"\n""0003 ");fputs(A[2],fp);fprintf(fp,"\n");fclose(fp);printf("0001 ");puts(A[0]);printf("0002 ");puts(A[1]);printf("0003 ");puts(A[2]);return 0;}舞伴配对相乘后位数相加#include <stdio.h>int main(){int k;long a,b;scanf("%ld%ld",&a,&b);if(a==0||b==0)printf("0\n");else{k=(a%9)*(b%9)%9;if(k==0)printf("9\n");elseprintf("%d\n",k);}return 0;}#include <iostream>using namespace std;int main(){char A[13],B[13];int a=0,b=0,c,d,e,f,m=0,X[13],Y[13]; for(c=0;c<=12;c++)X[c]=0,Y[c]=0;while((A[a]=cin.get())!=32) a++; while((B[b]=cin.get())!='\n') b++; for(c=0,a--;a>=0;a--,c++)X[c]=A[a]-48;for(d=0,b--;b>=0;b--,d++)Y[d]=B[b]-48;for(e=0;e<=c-1;e++)for(f=0;f<=d-1;f++)m=m+X[e]*Y[f];while(m>10){a=m%10,m=(m-a)/10+a; }cout<<m<<endl;return 0;}销售记录#include<stdio.h>#include<string.h>typedef struct tagME{char a0[5];char a1[11];char a2[20];int a3;int a4;}tag;int main(){ tag a[100],b[100];int n,i,j=1,k=0;FILE *fp;scanf("%d",&n);for(i=0;i<=n-1;i++){scanf("%s %s %s %d %d",a[i].a0,a[i].a1,a[i].a2,&a[i].a3,&a[i].a4);} fp=fopen("out.dat","w");if(fp!=NULL){for(j=0;j<=n-1;j++){fscanf(fp,"%s%s%s%d%d",a[j].a0,a[j].a1,a[j].a2,&a[j].a3,&a[j].a4);}for(i=0;i<=n-2;i++){if(a[i].a4>=a[i+1].a4)b[0]=a[i],a[i]=a[i+1],a[i+1]=b[0];}printf("%s %s %s %d %d",a[i].a0,a[i].a1,a[i].a2,a[i].a3,a[i].a4);fclose(fp);}return 0;}星期几星座#include <stdio.h>int main(){int a,b;scanf("%d%d",&a,&b);switch (a){case 1:if(b<=19)printf("Capricorn");else printf("Aquarius");break;case 2:if(b<=18)printf("Aquarius");else printf("Pisces");break;case 3:if(b<=20)printf("Pisces");else printf("Aries");break;case 4:if(b<=20)printf("Aries");else printf("Taurus");break;case 5:if(b<=20)printf("Taurus");else printf("Gemini");break;case 6:if(b<=21)printf("Gemini");else printf("Cancer");break;case 7:if(b<=22)printf("Cancer");else printf("Leo");break;case 8:if(b<=22)printf("Leo");else printf("Virgo");break;case 9:if(b<=22)printf("Virgo");else printf("Libra");break;case 10:if(b<=22)printf("Libra");else printf("Scorpio");break;case 11:if(b<=21)printf("Scorpio");else printf("Sagittarius");break;case 12:if(b<=21)printf("Sagittarius");else printf("Capricorn");break;}return 0;}幸运数学号循环移位#include <stdio.h>int move(int value,int n){if(n<0){n=-n;value=(value<<n|value>>(32-n));}elsevalue=(value>>n|value<<(32-n));return(value);}int main(){int x,y;scanf("%d %d",&x,&y);printf("%d\n",move(x,y));return 0;}月份天数#include <stdio.h>int main(){int y,m,d;int A[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};int B[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d%d",&y,&m);if((y%4==0&&y%100!=0)||(y%400==0))d=A[m];elsed=B[m];printf("%d",d);return 0; }月份转换英语运费职工信息字符串替换#include<stdio.h> #include<string.h> int main(){char A[100],B[100];int i;gets(A);for(i=0;i<100;i++){if(A[i]=='y'&&A[i+1]=='o'&&A[i+2]=='u') {A[i]='w';A[i+1]='e';A[i+2]=' ';}}for(i=0;A[i]!='\0';i++){if(A[i-2]=='w'&&A[i-1]=='e'&&A[i]==' ') continue;elseprintf("%c",A[i]);}printf("\n");return 0;}字符串长度字符输出#include<stdio.h>#include<string.h>int main(){char A[200],B[200];int p,n,i,j=0;gets(A);scanf("%d%d",&p,&n);for(i=p;i<=p+n-1;i++,j++){B[j]=A[i];}puts(B);}。

相关主题