浙江省计算机等级二级考试(C语言)机考题库 下载本文

内容发布更新时间 : 2024/5/13 6:49:56星期一 下面是文章的全部内容请认真阅读。

#include #include void main()

{ FILE *p; int i,w; char *s=\ p=fopen(“Design1.dat”,”w”); for(i=0;s[i]!=’\\0’;i++) { w=s[i]*(i+1);

fprintf(p,“%d”,w); } fclose(p); }

运算结果:1192021562122102288474081026350396588 35.将字符串中的某个字符删除。

#include void main()

{ char s[80]; int i,j; gets(s);

for(i=j=0;______1______;i++) // s[i]!=’\\0’ if(s[i] != 'c') { s[j]=s[i];

______2_____ //j++; }

s[j]='\\0'; puts(s); } 36.计算表达式值。

#include void main()

{ FILE *p; long s=1,k=1; int i; for(i=2;i<=12;i++) { k*=i; s+=k; }

p=fopen(“Design2.dat”,”w”); fprintf(p,”%ld”,s); fclose(p); }

运算结果:522956313

37.求满足表达式要求的最小值。

#include #include void main() { FILE *p;

int x,y,x1,y1; float z,z1;

p=fopen(\z1=10*cos(0-4)+5*sin(0-2); for(x=0;x<=10;x++)

for(y=0;y<=10;y++)

{z=10*cos(x-4)+5*sin(y-2); if(z

38.计算亲密数对。

#include void main()

{ FILE *p; int a,b,c,k;

p=fopen(\ for(a=6;a<=5000;a++)

{ for(k=1,b=0;k<=a/2;k++) if(a%k= =0) b+=k; for(k=1,c=0;k<=b/2;k++) if(b%k= =0) c+=k; if(a= =c&&a!=b)

fprintf(p,\} fclose(p); } 运行结果: 220, 284 284, 220 1184, 1210 1210, 1184 2620, 2924

2924, 2620

39.十进制转换为十六进制数。

# include # include char trans(int x)

{if(x<10) return '0'+x; /********1********/

else return 'a'+x; // else return 'a'+(x-10); } int DtoH(int n,char *str) {int i=0; while(n!=0)

{str[i]=trans(n); /********2********/ n%=16; // n/=16; i++;}

return i-1; } void main()

{int i,k,n; char *str;

scanf(\

for (i=0;i<=k;i++) printf(\ }

40.将字符串中的所有非英文字母删除后输出。

#include #include void main() { char str[256]; int i,j,k=0,n;

gets(str); n=strlen(str); for(i=0;i

/********1********/

if (tolower(str[i])<'a' || tolower(str[i])>'z') //if (tolower(str[i])>='a' &&tolower(str[i])<'=z') { /********2********/ str[n]=str[i]; n++; // str[k]=str[i]; k++; } str[k]='\\0';

printf(\ }

题目有错,程序开头必须加上ctype.h 41.输出整数的质数因子。

#include void main() { int n,i;

scanf(\ /****** 1 ******/ i=1; // i=2; while(n>1)

if(n%i= =0) { printf(\ } else

/******** 2 *******/ n++; // i++; }

42.计算整数各位数字之和。

#include #include void main() { int n,s=0;

scanf(\ /******** 1 *******/

while(n>1) { // while(n!=0) s=s+n;

/******** 2 ******/

n=n; // n=n/10; } printf(\

43.在字符串中查找单词。

#include int find(char *str)

{ char *fstr=\ while (str[i]!='\\0') {for(_____1______) // j=0;fstr[j]!=’\\0’;j++ if (str[j+i]!=fstr[j]) break; if (____2_______) n++; // fstr[j]==’\\0’ i++; } return n; } void main()

{ char a[80]; gets(a); printf(\ } 44.逆序连接字符串。

#include #include void fun(char *s,char *t) { int i,sl;

sl=strlen(s);

for(i=0;i

/********1********/

t[sl+i]=s[sl-i]; // t[2*sl - 1]=s[i]; /********2********/

t[sl]=\ // t[2*sl]=’\\0’; } void main()

{ char s[100],t[100]; scanf(\ fun(s,t); printf(\ } 45.统计字符串中英文字母、数字、其他字符出现的次数。

#include #include void main()

{ char a[80]; int n[3]={0},i; gets(a);

_______1_______ // for(i=0;a[i]!=’\\0’;i++) {if (tolower(a[i])>='a' && tolower(a[i])<='z') /*统计字母个数*/ n[0]++;