《C语言程序设计实践教程》实验题源程序
#include <stdio.h> main() { printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n "); printf(" 欢迎光临C语言世界\n"); printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n "); } ////////////////////////////0 #include <stdio.h> main() { printf("表达式1的值:%f\n",99.7*0.26+4.25); printf("表达式2的值:%d\n",1/2+1/3+1/4+1/5); printf("表达式3的值:%f\n",3.5/(6.1+2.0*(2.9-1.4*2.7))); } ////////////////////////////1 #include <stdio.h> main() { printf("表达式结果:%d\n",23+(16*16-15)/(9+14)); } ////////////////////////////2 #include <stdio.h> main() { printf(" A\n"); printf(" AAA\n"); printf(" AAAAA\n"); printf(" AAAAAAA\n"); printf(" VVVVVVV\n"); printf(" VVVVV\n"); printf(" VVV\n"); printf(" V\n"); } ////////////////////////////3 #include <stdio.h> main() { printf("结果为:%d\n",16*16*16%93); } ////////////////////////////4 #include <stdio.h> main() { printf("和是%f ",16.8+27.5); printf("差是%f \n",16.8-27.5); printf("积是%f ",16.8*27.5); printf("商是%f \n",16.8/27.5); } ////////////////////////////5 #include <stdio.h> main() { printf("星期%d\n",(2+160)%7); } ////////////////////////////6 #include <stdio.h> main() { printf("一月:%f万\n",26.43); printf("二月:%f万\n",26.43*1.12); printf("三月:%f万\n",26.43*1.12-1.62); printf("总共:%f万\n",26.43+26.43*1.12+26.43*1.12-1.62); } ////////////////////////////7 #include <stdio.h> main() { printf("%d点%d分\n",8+3+(50+25)/60, (50+25)%60); } ////////////////////////////8 #include <stdio.h> main( ) { int a[5],place,i; /* 在a中找23,得到其下标place */ printf("输入数组元素:"); for(i=0;i<5;i++) scanf("%d",&a[i]); place=-1; for(i=0;i<=4;i++) if(a[i]==23){place=i;break;} printf("23的位置是 %d\n",place); } ////////////////////////////9 #include <stdio.h> main( ) { int a[8],i,minf,temp; for(i=0;i<8;i++) scanf("%d",&a[i]); minf=0; for(i=0;i<8;i++) { if(a[minf]>a[i]) minf=i;} temp=a[7]; a[7]=a[minf]; a[minf]=temp; /* 交换 */ for(i=0;i<8;i++) printf("%d ",a[i]); } ////////////////////////////10 #include <stdio.h> main( ) { int x[10]={24,19,28,15,17,20,14,23,21,22},i,minf,maxf,temp; minf=0; for(i=0;i<10;i++) { if(x[minf]>x[i]) minf=i; if(x[maxf]<x[i]) maxf=i; } temp=x[maxf]; x[maxf]=x[minf]; x[minf]=temp; /* 交换 */ for(i=0;i<10;i++) printf("%d ",x[i]); } ////////////////////////////11 #include <stdio.h> main( ) { int x[10]={24,19,28,15,17,20,14,23,21,22},i; int p; p=-1; for(i=9;i>=0;i--) { if(x[i]<20) { p=i; break; } } x[p]=x[p]+10; for(i=0;i<10;i++) printf("%d ",x[i]); } ////////////////////////////12 #include <stdio.h> main( ) { int x[10]={27,9,28,15,17,20,14,23,21,4},i; int p; int count; p=-1; for(i=0;i<10;i++) { if(x[i]%2==0) { p=i; break; } } /* 计算第一个偶数的位置 */ count=0; for(i=p+1;i<10;i++) /* 从p+1开始统计 */ if(x[i]%2!=0) count++ ; printf("第一个偶数后面有%d个奇数\n",count); } ////////////////////////////13 #include <stdio.h> main( ) { int x[5]={8,16,13,19,10}, y[6]={24,19,28,15,17,20}, i,j,k; int n,t; n=5; for(i=0; i<=n-2; i++) /* 选择法排序 */ { /* 找i~n-1元素中的最小元素与x[i]互换 */ k=i; for(j=i+1; j<=n-1; j++)if(x[j]<x[k])k=j; /* 找i~n-1元素中的最小元素的位置k */ if(k!=i){t=x[k]; x[k]=x[i]; x[i]=t;} /* 最小元素如果不是第一个元素则它们交换位置 */ } n=6; for(i=0; i<=n-2; i++) /* 选择法排序 */ { /* 找i~n-1元素中的最小元素与y[i]互换 */ k=i; for(j=i+1; j<=n-1; j++)if(y[j]<y[k])k=j; /* 找i~n-1元素中的最小元素的位置k */ if(k!=i){t=y[k]; y[k]=y[i]; y[i]=t;} /* 最小元素如果不是第一个元素则它们交换位置 */ } printf("x排序后:"); for(i=0;i<5;i++)printf("%d ",x[i]); printf("\ny排序后:"); for(i=0;i<6;i++)printf("%d ",y[i]); } ////////////////////////////14 #include <stdio.h> main( ) { int x[10]={3,6,8,4,5,66,80,72,69,70}, i,j; int t; for(i=0,j=9; i<j; i++,j--) { t=x[j]; x[j]=x[i]; x[i]=t; } printf("逆置后:"); for(i=0;i<10;i++)printf("%d ",x[i]); } ////////////////////////////15 #include <stdio.h> main( ) { int a[6],b[4], i,j; int p; for(i=0;i<6;i++)scanf("%d",&a[i]); for(i=0;i<4;i++)scanf("%d",&b[i]); printf("输出:"); for(i=0;i<6;i++) /* 逐个判断a中的元素 */ { /*在b中查找a[i] */ p=-1; for(j=0;j<4;j++)if(b[j]==a[i]){p=j; break;} if(p==-1)printf("%d ",a[i]); /*在b中找不到,则输出a[i] */ } printf("\n"); } ////////////////////////////16 #include <stdio.h> main( ) { int a[11]={11,12,13,14,15,16,17,18,19,20},i; int p; for(i=9;i>=0;i--)a[i+1]=a[i]; a[0]=a[10]; printf("输出:"); for(i=0;i<10;i++)printf("%d ",a[i]); printf("\n"); } ////////////////////////////17 #include <stdio.h> main( ) { int a[3][4],i,j; int sum1, sum2, sum3; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); /* 所有元素求和 */ sum1=0; for(i=0;i<3;i++) for(j=0;j<4;j++) sum1=sum1+a[i][j]; /* 第1行的元素之和 */ sum2=0; for(i=0;i<4;i++) sum2=sum2+a[0][i]; /* 第3列的元素之和。 */ sum3=0; for(i=0;i<3;i++) sum3=sum3+a[i][2]; printf("三个和分别是:%d, %d, %d\n",sum1, sum2, sum3); } ////////////////////////////18 #include <stdio.h> main( ) { int a[4][4],i,j; int count; printf("输入元素:\n"); for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); count=0; for(i=0;i<4;i++) for(j=0;j<4;j++) if(a[i][j]%2==0)count++; printf("偶数有%d个\n",count); printf("小于5的数:"); for(i=0;i<4;i++) for(j=0;j<4;j++) if(a[i][j]<5)printf("%d ",a[i][j]); printf("\n"); } ////////////////////////////19 #include <stdio.h> main( ) { int a[4][4]={{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}},i,j; int max2,min3; /* 第2行的最大值 */ max2=a[1][0]; for(i=1;i<4;i++) if(a[1][i]>max2)max2=a[1][i]; /* 第3列的最小值 */ min3=a[0][2]; for(i=1;i<4;i++) if(a[i][2]<min3)min3=a[i][2]; printf("结果:%d,%d\n",max2,min3); } ////////////////////////////20 #include <stdio.h> main( ) { int a[4][4]={{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}},i,j; int hang,lie; /* 第三行的所有元素都减去5 */ for(i=0;i<4;i++) a[2][i]=a[2][i]-5; /* 最小元素的行下标与列下标 */ hang=lie=0; for(i=0;i<4;i++) for( j=0;j<4; j++) if(a[i][j]<a[hang][lie]){hang=i; lie=j;} printf("最小元素的行下标与列下标:%d,%d\n",hang, lie); } ////////////////////////////21 #include <stdio.h> main( ) { int a[4][4]={{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}},i,j; int sum; sum=0 ; for(i=0;i<4;i++) sum=sum+a[i][i]; printf("主对角元素的和:%d\n",sum); } ////////////////////////////22 #include <stdio.h> main( ) { int a[4][4]={{14,26,18,17},{24,8,21,37},{19,31,22,16},{7,8,11,9}},i,j; int hang,lie,t; for(i=0;i<4;i++) { t=a[i][i]; for( j=0;j<4; j++) a[i][j]=a[i][j]+t; } /* 最大元素的行下标与列下标 */ hang=lie=0; for(i=0;i<4;i++) for( j=0;j<4; j++) if(a[i][j]>a[hang][lie]){hang=i; lie=j;} printf("最大元素的行下标与列下标:%d,%d\n",hang, lie); } ////////////////////////////23 #include <stdio.h> main( ) { int a[4][4]={{14,26,18,17},{24,8,21,37},{19,31,22,16},{7,8,11,9}}, b[4],i,j; for(i=0;i<4;i++) { b[i]=a[i][0]; for( j=1;j<4; j++) if(a[i][j]>b[i]){b[i]=a[i][j];} printf("%d ",b[i]); } printf("\n"); } ////////////////////////////24 #include <stdio.h> main( ) { int a[4][4]={{14,26,18,17},{24,8,21,37},{19,31,22,16},{7,8,11,9}},i,j,t; printf("原数组:\n"); for(i=0;i<4;i++) { for( j=0;j<4; j++) printf("%d\t",a[i][j]); printf("\n"); } for(i=0;i<4;i++) { for( j=0;j<i; j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } } printf("行列互换后:\n"); for(i=0;i<4;i++) { for( j=0;j<4; j++) printf("%d\t",a[i][j]); printf("\n"); } } ////////////////////////////25 #include <stdio.h> #include <string.h> main( ) { char s1[30], s2[30],s3[30]; /* 如果输入字符串较长,则长度30还要更大些 */ gets(s1); gets(s2); if(strcmp(s1,s2)>0)strcpy(s3,s1); else strcpy(s3,s2); printf("s3: %s\n", s3); } ////////////////////////////26 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int i; printf("输入:"); scanf("%s",s1); for(i=0;s1[i]!='\0';i++) if(s1[i]=='a')s1[i]='b'; printf("输出:%s\n",s1); } ////////////////////////////27 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int i,sum; printf("输入:"); scanf("%s",s1); sum=0; for(i=0;s1[i]!='\0';i++) if(s1[i]>='0' && s1[i]<='9')sum=sum+s1[i]-'0'; printf("输出:%d\n",sum); } ////////////////////////////28 #include <stdio.h> #include <string.h> main( ) { char s1[30],s2[30],s3[30]; int i; printf("输入:"); scanf("%s %s",s1,s2); for(i=0;i<=4;i++) s3[i]=s1[i]; for(i=0;i<=4;i++) s3[i+5]=s2[i]; s3[10]='\0'; printf("输出:%s\n",s3); } ////////////////////////////29 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int i; printf("输入:"); scanf("%s",s1); for(i=0;s1[i]!='\0';i++) s1[i]=s1[i+1]; printf("输出:%s\n",s1); } ////////////////////////////30 #include <stdio.h> #include <string.h> main( ) { char s1[30], s2[30],s3[30]; gets(s1); gets(s2); if(strlen(s1)>strlen(s2))strcat(s1,"8899"); else strcat(s2,"8899"); printf("s1:%s s2:%s\n", s1,s2); } ////////////////////////////31 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int i; printf("输入:"); scanf("%s",s1); printf("输出:"); for(i=0;s1[i]!='\0';i++) if(s1[i]>='A' && s1[i]<='Z')putchar(s1[i]); printf("\n"); } ////////////////////////////32 #include <stdio.h> #include <string.h> main( ) { char s1[30],lastch; /* 分别代表字符串、最后字符 */ int len,count,i; /* len代表字符串长度,count代表个数 */ printf("输入1个字符串:"); scanf("%s",s1); len=strlen(s1); lastch=s1[len-1]; count=0; for(i=0;s1[i]!='\0';i++) if(s1[i]!=lastch && s1[i]>='a' && s1[i]<='z')count++; printf("与最后一个字符不相同的小写字母有%d个\n",count); } ////////////////////////////33 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int count,i; printf("输入:"); count=0; for(i=1;i<=6;i++) { scanf("%s",s1); if(strcmp(s1,"abcd")==0)count++; } printf("结果:有%d个\n",count); } ////////////////////////////34 #include <stdio.h> #include <string.h> main( ) { char s1[30]; printf("输入:"); scanf("%s",s1); s1[strlen(s1)-1]='9'; printf("输出:%s\n",s1); } ////////////////////////////35 #include <stdio.h> #include <string.h> main( ) { char s1[30],ch; int i,f; printf("输入字符和字符串:"); scanf("%c %s",&ch,s1); f=-1; for(i=0;s1[i]!='\0';i++) if(s1[i]==ch){f=i; break; } if(f==-1) printf("字符不存在\n"); else printf("字符存在\n"); } ////////////////////////////36 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int i; printf("输入:"); scanf("%s",s1); printf("输出:"); for(i=strlen(s1)-1;i>=0;i--) putchar(s1[i]); printf("\n"); } ////////////////////////////37 #include <stdio.h> #include <string.h> main( ) { char s1[30]; int i; printf("输入:"); scanf("%s",s1); s1[5]='\0'; printf("输出:%s\n",s1); } ////////////////////////////38 #include "stdio.h" int jiecheng(int n) { int i, jc; jc=1; for(i=1;i<=n;i++)jc=jc*i; return jc; } main() { int result; result=jiecheng(5)-jiecheng(2)+jiecheng(4); /* 函数使用 */ printf("结果是 %d\n",result); } ////////////////////////////39 #include "stdio.h" float shouru(float xiaoshou) { float x; /* 收入 */ if(xiaoshou<11000)x=xiaoshou*0.06; else x=11000*0.06+(xiaoshou-11000)*0.09; return x; } main() { float xs[6],sr[6],psr; int i; for(i=0;i<=5;i++) { scanf("%f",&xs[i]); } for(i=0;i<=5;i++) { sr[i]=shouru(xs[i]); } psr=0; for(i=0;i<=5;i++) { psr=psr+sr[i]; } psr=psr/6; printf("平均收入:%f\n",psr); } ////////////////////////////40 #include <stdio.h> int issxh(int n) { int f; int d1,d10,d100; if(n>999 || n<100) f=0; else { d1=n%10; d10=n/10%10; d100=n/100; if(d1*d1*d1+d10*d10*d10+d100*d100*d100==n) f=1; else f=0; } return f; } main() { int i; for(i=100;i<=999;i++) { if(issxh(i)==1)printf("%d ",i); } printf("\n"); } ////////////////////////////41 #include "stdio.h" int isleap(int year) /* 判断类函数,类型用int */ { /* 如year是闰年返回1,否则返回0 */ int f; /* 用f表示判断结果 */ if(year%400==0 || (year%4==0 && year%100!=0))f=1; else f=0; return f; /* 将判断结果返回 */ } main() { int y; /* 年份 */ for(y=1990;y<=2010;y++) if(isleap(y)==1)printf("%d ",y); /* 函数使用,isleap(y)的值是1就表示y是闰年 */ printf("\n"); } ////////////////////////////42 #include "stdio.h" void output(char c, int n) /* 操作类函数,类型用void */ { /* 已知字符c和整数n,将字符c输出n次 */ int i; for(i=1;i<=n;i++)putchar(c); } main() { int n; char c; scanf("%c %d",&c,&n); output(c,n); } ////////////////////////////43 #include "stdio.h" float zongping(float pingshi, float qimo) { int x; if(qimo>=60)x=qimo; else x=qimo* 0.6+ pingshi*0.4; return x; } main() { printf("小王的总评成绩:%f\n",zongping(67,73)); printf("小李的总评成绩:%f\n",zongping(65,53)); } ////////////////////////////44 #include "stdio.h" int is4d(int n) { int f; if(n>=1000 && n<=9999)f=1; else f=0; return f; } main() { int x; printf("输入:"); scanf("%d",&x); if(is4d(x)==1)printf("是四位数\n"); else printf("不是四位数\n"); } ////////////////////////////45 #include "stdio.h" int jifen(int q1, int q2) { int x; /* 本队积分 */ if(q1>q2)x=3; else if(q1==q2)x=1; else x=0; return x; } main() { int zjf; zjf=jifen(1,2)+jifen(1,0)+jifen(3,2)+jifen(2,2)+jifen(0,0); printf("球队的积分:%d\n",zjf); } ////////////////////////////46 #include "stdio.h" float shouru(float xiaoshou) { float x; /* 收入 */ if(xiaoshou<11000)x=xiaoshou*0.06; else x=11000*0.06+(xiaoshou-11000)*0.09; return x; } main() { float xs,zsr; /* 代表月销售业绩和总收入 */ int i; zsr=0; for(i=1;i<=5;i++) { scanf("%f",&xs); zsr=zsr+shouru(xs); } printf("5个月的总收入:%f\n",zsr); } ////////////////////////////47 #include "stdio.h" int isleap(int year) /* 判断类函数,类型用int */ { /* 如year是闰年返回1,否则返回0 */ int f; /* 用f表示判断结果 */ if(year%400==0 || (year%4==0 && year%100!=0))f=1; else f=0; return f; /* 将判断结果返回 */ } int is4d(int n) { int f; if(n>=1000 && n<=9999)f=1; else f=0; return f; } main() { int n; int i; for(i=1;i<=6;i++) { scanf("%d",&n); if(is4d(n)==1 && isleap(n)==1) printf("%d ",n); } printf("\n"); } ////////////////////////////48 #include "stdio.h" int issc(char c1, char c2) { int f; if(c1>='a' && c1<='z')c1=c1-32; if(c2>='a' && c2<='z')c2=c2-32; /* 变为大写 */ if(c1==c2)f=1; else f=0; return f; } main() { int count=0; int i; char str[30]; scanf("%s",str); for(i=0; str[i]!='\0'; i++) { if(issc(str[0],str[i])==1)count++ ; } printf("有%d个\n",count); } ////////////////////////////49 #include <stdio.h> int jg(float kecheng[],int len) { int i; int n=0; for (i=0;i<len;i++) if(kecheng[i]>=60)n++ ; return(n); } main( ) { float wuli[5],shuxue[7]; int i,n1=0,n2=0; printf("请输入5个学生的物理成绩:"); for(i=0;i<5;i++) scanf("%f",&wuli[i]); printf("请输入7个学生的数学成绩:"); for(i=0;i<7;i++) scanf("%f",&shuxue[i]); n1=jg(wuli,5); /* 函数调用 */ n2=jg(shuxue,7); /* 函数调用 */ printf("物理及格人数为%d,数学及格人数为%d\n",n1,n2); } ////////////////////////////50 #include "stdio.h" void huhuan1(int x[],int n) /* 数组作为参数时还应提供长度 */ { int i, imin, t; imin=0; for(i=1;i<=n-1;i++)if(x[i]<x[imin])imin=i; t=x[imin]; x[imin]=x[n-1]; x[n-1]=t; } main() { int x[6],i ; for(i=0;i<6;i++)scanf("%d",&x[i]); huhuan1(x,6); for(i=0;i<6;i++)printf("%d ",x[i]); } ////////////////////////////51 #include<stdio.h> int nu(char str[]) { int i,n=0; for(i=0;str[i]!='\0'; i++) if(str[i]>='A' && str[i]<='Z')n++; return(n); } main() { char str1[80],str2[80] ; int n1,n2; gets(str1); gets(str2); n1=nu(str1); n2=nu(str2); printf("两个字符串中大写字母的个数分别是:%d %d\n",n1,n2); } ////////////////////////////52 #include "stdio.h" void sbg(int x[],int n) /* 数组作为参数时还应提供长度 */ { int i, imax, t; imax=0; for(i=1;i<=n-1;i++)if(x[i]>x[imax])imax=i; x[imax]=0; } main() { int x[7]={26,15,18,37,20,29,11},i ; sbg(x,7); sbg(x,7); sbg(x,7); for(i=0;i<7;i++)printf("%d ",x[i]); } ////////////////////////////53 #include<stdio.h> void hh(char str[]) { int i,n=0; char c; for(i=0;str[i]!='\0'; i++); /* 求字符串长度 */ c=str[0]; str[0]=str[i-1]; str[i-1]=c; /* 互换 */ } main() { char str1[80],str2[80] ; int n1,n2; gets(str1); gets(str2); hh(str1); hh(str2); printf("处理后的字符串:%s %s\n",str1,str2); } ////////////////////////////54 #include<stdio.h> int sss(int x[], int n) { int i,num=0; for(i=1;i<n; i++) if( x[i]!=x[0])num++; return num; } main() { int data[8],i; for(i=0;i<8;i++) scanf("%d",&data[i]); printf("与第一个元素不相同的元素有%d个\n",sss(data,8)); } ////////////////////////////55 #include<stdio.h> int xt(char str[]) { int i; int f; for(i=0;str[i]!='\0'; i++); /* 求字符串长度 */ if(str[i-1]==str[0])f=1; else f=0; return f; } main() { char s[80] ; int i,num=0; for(i=1;i<=5;i++) { scanf("%s",s); if(xt(s)==1)num++; } printf("首尾字符相同的字符串有%d个\n",num); } ////////////////////////////56 #include <stdio.h> int sumd(char s1[]) { int i,sum; sum=0; for(i=0;s1[i]!='\0';i++) if(s1[i]>='0' && s1[i]<='9')sum=sum+s1[i]-'0'; return sum; } int xt(char str[]) { int i; int f; for(i=0;str[i]!='\0'; i++); /* 求字符串长度 */ if(str[i-1]==str[0])f=1; else f=0; return f; } main() { char s[80] ; int i,num1=0,num2=0; for(i=1;i<=5;i++) { scanf("%s",s); if(sumd(s)>10)num1++; if(xt(s)==1)num2++; } printf("数字之和超过10的字符串有%d个\n",num1); printf("首尾字符相同的字符串有%d个\n",num2); } ////////////////////////////57 #include <stdio.h> int isemail(char str[]) { int i; int f; int num; /* 统计字符串中@的个数 */ num=0; for(i=0;str[i]!='\0'; i++)if(str[i]=='@')num++; /* 这时的i的值刚好是字符串的长度 */ if(str[0]!='@' && str[i-1]!='@' && num==1)f=1; else f=0; return f; } main() { char s[80] ; int i; for(i=1;i<=6;i++) { scanf("%s",s); if(isemail(s)==1)printf("%s ",s); } printf("\n"); } ////////////////////////////58 #include <stdio.h> main( ) { int *a,x,y,z; a=&x; *a=10; a=&y; *a=20; a=&z; *a=30; printf("x y z分别是%d %d %d\n",x,y,z); } ////////////////////////////59 #include <stdio.h> main() { char x[30], *pl, *p, num=0; gets(x); for(pl=x; *pl!='\0'; pl++); /* 移动指针,最后指向\0 */ pl--; /* 退回一个位置,指向最后字符 */ for(p=x; *p!='\0'; p++) if(*p==*pl)num++; printf("%d个\n",num); } ////////////////////////////60 #include <stdio.h> main() { int a[10]={5, 6, 2, 5, 89, 4, 6, 21, 46, 16}, *p, *pmax, temp; pmax=a; for(p=a+1; p<a+10; p++) if(*pmax<*p)pmax=p; temp=*pmax; *pmax=*(a+9); *(a+9)=temp; for(p=a; p<a+10; p++)printf("%d ",*p); } ////////////////////////////61 #include <stdio.h> main() { char s1[10], s2[10],s3[10], *p1, *p2, *p3; scanf("%s",s1); for(p1=s1,p2=s2,p3=s3; *p1!='\0'; p1++,p2++,p3++) { *p2=*p1; *p3=*p1; } *p2='\0'; *p3='\0'; for(p2=s2; *p2!='\0'; p2++) if(*p2>='A' && *p2<='Z') *p2=' '; for(p3=s3; *p3!='\0'; p3++) if(*p3>='a' && *p3<='z') *p3=' '; printf("\"%s\" \"%s\" \"%s\"\n ", s1, s2, s3); } ////////////////////////////62 #include <stdio.h> main() { int ar[8]={10,20,30,40,100,200,300,400},*p,*q,temp; for(p=ar, q=ar+7; p<q; p++,q--) { temp=*p; *p=*q; *q=temp; } for(p=ar;p<ar+8;p++)printf("%d ",*p); } ////////////////////////////63 #include <stdio.h> main( ) { int x[10], *p; for(p=x; p<x+10; p++) scanf("%d",p); for(p=x;p<x+5; p++) *p=*p+1; for(p=x+5;p<x+10; p++) *p=*p-1; for(p=x; p<x+10; p++) printf("%d ",*p); printf("\n"); } ////////////////////////////64 #include <stdio.h> main() { char str[20], *p; scanf("%s",str); for(p=str; *p!='\0'; p++); /* 移动指针,最后指向\0 */ p--; /* 退回一个位置,指向最后字符 */ *p='x'; printf("%s\n ", str); } ////////////////////////////65 #include <stdio.h> main() { int x1,x2,x3,*p1,*p2; p1=&x2; p2=&x3; x1=10; x2=20; x3=30; printf("%d,%d",*p1,*p2); } ////////////////////////////66 #include <stdio.h> main() { int x1=10,x2=20,x3=30,*p1,*p2; p1=&x1; *p1=200; p2=&x2; *p2=100; p1=&x3; p2=&x2; printf("%d,%d,%d,%d,%d",*p1,*p2,x1,x2,x3); } ////////////////////////////67 #include <stdio.h> main() { int a,b,*x; scanf("%d%d",&a,&b); if(a>b)x=&a; else x=&b; printf("%d\n",*x); } ////////////////////////////68 #include <stdio.h> main() { int data[6],*p; for(p=data; p<data+6; p++)scanf("%d",p); for(p=data; p<data+5; p++)*p=*p-*(data+5) ; for(p=data; p<data+6; p++)printf("%d ",*p); printf("\n"); } ////////////////////////////69 #include <stdio.h> main() { int a[10]={10,20,30,40,50,60,70,80,90,100}, *p, t; t=*(a+9); *(a+9)=*a; *a=t; for(p=a; p<=a+9;p++)printf("%d ",*p); } ////////////////////////////70 #include <stdio.h> main() { char x[30], *p; gets(x); for(p=x;*p!='\0';p++)if(*p>='a' && *p<='z')*p=*p-32; puts(x); } ////////////////////////////71 #include <stdio.h> void max_min(int arr[ ],int *p1,int *p2,int n) { int i; int max,average; max=average=arr[0]; for(i=1;i<n;i++) { if(max<arr[i]) max=arr[i]; average=average+arr[i]; } average=average/n; *p1=max; *p2=average; } main() { int mx,aver; int array[]={6,2,3,-5,0,17,12,4,-4,10}; max_min(array, &mx, &aver, 10); printf("最大值是%d 平均值是%d\n",mx,aver); } ////////////////////////////72 #include <stdio.h> void getnum(char *s,int *p1, int *p2) { char *p; int n1,n2; n1=0; for(p=s; *p!='\0'; p++) if(*p>='a' && *p<='z')n1++; n2=0; for(p=s; *p!='\0'; p++) if(*p>='A' && *p<='Z')n2++; *p1=n1; *p2=n2; } main() { char x[30]; int n1,n2; gets(x); getnum(x,&n1, &n2); printf("小写字母%d个,大写字母%d个\n",n1,n2 ); } ////////////////////////////73 #include <stdio.h> char *fdl(char *str) { char *q=NULL, *p; /*q就是所找字符的指针,找之前其值为NULL */ for(p=str; *p!='\0'; p++) if(*p>='a' && *p<='z'){q=p; break;} return q; /*将所求的指针返回*/ } main() { char ps[30]; char *x ; gets(ps); x=fdl(ps); if(x!=NULL) { printf("第一个小写字母是%c \n", *x ); } else printf("找不到小写字母\n"); } ////////////////////////////74 #include <stdio.h> void dia(int a[], int n) { int i; for(i=0;i<n;i++) { if(a[i]%2==0)a[i]=a[i]*2; else a[i]=a[i]*3; } } main() { int x[8]= {11,12,13,14,15,16,17,18},i; dia(x,8); for(i=0;i<8;i++)printf("%d ",x[i]); } ////////////////////////////75 #include <stdio.h> void fld(int a[], int n, int *p1, int *p2) { int i,i1,i2; i1=-1; for(i=0;i<n;i++) { if(a[i]%2==0){i1=i; break;} } i2=-1; for(i=n-1;i>=0;i--) { if(a[i]%2==0){i2=i; break;} } *p1=i1; *p2=i2; } main() { int x[8]= {11,13,15,16,17,18,19,20},i,p1,p2; fld(x,8,&p1,&p2); printf("第一个偶数%d, 最后一个偶数:%d\n",x[p1],x[p2]); } ////////////////////////////76 #include <stdio.h> int nums(char *s) { char *p; int n; n=0; for(p=s; *p!='\0'; p++) if(*p>='A' && *p<='Z')n++; return n; } main() { char x[30]; gets(x); printf("大写字母%d个\n",nums(x) ); } ////////////////////////////77 #include <stdio.h> char *lastc(char *s) { char *p; if(*s=='\0')p=NULL; else { for(p=s; *p!='\0'; p++); p--; } return p; } main() { char x[30], *lc; gets(x); lc=lastc(x); if(lc==NULL)printf("空字符串\n"); else if(*lc==*x) printf("首尾字符相同\n"); else printf("首尾字符不相同\n"); } ////////////////////////////78 #include <stdio.h> void ltou(char *s) { char *p; for(p=s; *p!='\0'; p++) if(*p>='a' && *p<='z')*p=*p-32; } main() { char x[30], y[30]; scanf("%s%s",x,y); ltou(x); ltou(y); printf("%s %s\n",x,y) ; } ////////////////////////////79 #include <stdio.h> int nums(char *s,char ch) { char *p; int n; n=0; for(p=s; *p!='\0'; p++) if(*p==ch)n++; return n; } main() { char x[30]; gets(x); printf("%d个a、%d个b、%d个c\n",nums(x,'a'),nums(x,'b'),nums(x,'c') ); } ////////////////////////////80 #include <stdio.h> void raa(int a[], int n) { int i,j,t; for(i=0,j=n-1; i<j; i++,j--) { t=a[i]; a[i]=a[j]; a[j]=t; } } main() { int x[5]= {11,12,13,14,15},y[8]={100,200,300,400,500,600,700,800}, i; raa(x,5); raa(y+2,6); for(i=0;i<5;i++)printf("%d ",x[i]); printf("\n"); for(i=0;i<8;i++)printf("%d ",y[i]); printf("\n"); } ////////////////////////////81 #include <stdio.h> typedef struct { char bookname[40]; /*书名,最多39个字符的字符串*/ char author[20]; /*作者,最多19个字符的字符串*/ float price; /*价格,实型数*/ } BOOK ; main() { BOOK b1,b2,b; scanf("%s %s %f",b1.bookname, b1.author, &b1.price); scanf("%s %s %f",b2.bookname, b2.author, &b2.price); if(b1.price>b2.price)b=b1; else b=b2; printf("价格较高的书的书名:%s\n",b.bookname); } ////////////////////////////82 #include <stdio.h> typedef struct { char num[10]; /*学号*/ char name[10]; /*姓名*/ char sex[3]; /*性别*/ int age; /*年龄*/ } STUDENT ; main() { STUDENT s[5]; int i; for(i=0;i<5;i++) /*输入*/ scanf("%s %s %s %d",s[i].num, s[i].name, s[i].sex, & s[i].age); printf ("以下是年龄小于20的学生信息:\n"); for(i=0;i<5;i++) if(s[i].age<20) printf("%s %s %s %d\n",s[i].num, s[i].name, s[i].sex, s[i].age); } ////////////////////////////83 #include <stdio.h> typedef struct { char name[40]; int num; } ANIMAL ; main() { ANIMAL cc[10]={{"大象",3},{"猴子",52},{"斑马",6},{"羚羊",11},{"老虎",4}, {"狮子",7},{"黑熊",2},{"猩猩",6},{"狼",17},{"豹",4}}; int zs,i; zs=0; for(i=0;i<=9;i++) zs=zs+cc[i].num; printf("动物园动物的总数量:%d\n",zs); } ////////////////////////////84 #include <stdio.h> typedef struct { char name[40]; int num; } ANIMAL ; main() { ANIMAL cc[10]={{"大象",3},{"猴子",52},{"斑马",6},{"羚羊",11},{"老虎",4}, {"狮子",7},{"黑熊",2},{"猩猩",6},{"狼",17},{"豹",4}}; int i; for(i=0;i<=9;i++) if(cc[i].num<5)printf("%s %d\n",cc[i].name, cc[i].num); } ////////////////////////////85 #include <stdio.h> #include <string.h> typedef struct { char name[10]; int num; } ANIMAL ; main() { ANIMAL cc[10]={{"大象",3},{"猴子",52},{"斑马",6},{"羚羊",11},{"老虎",4}, {"狮子",7},{"黑熊",2},{"猩猩",6},{"狼",17},{"豹",4}}; int i,f; char an[10]; int n; printf("输入动物:"); scanf("%s",an); f=-1; for(i=0;i<10;i++) if(strcmp(cc[i].name, an)==0){f=i; break;} if(f==-1) n=0; else n=cc[f].num; printf("该动物的数量:%d\n",n); } ////////////////////////////86 #include <stdio.h> #include <string.h> typedef struct { char name[10]; int num; } ANIMAL ; main() { ANIMAL cc[10]={{"大象",3},{"猴子",52},{"斑马",6},{"羚羊",11},{"老虎",4}, {"狮子",7},{"黑熊",2},{"猩猩",6},{"狼",17},{"豹",4}}; int i,im; im=0; for(i=1;i<10;i++) if(cc[i].num>cc[im].num)im=i; printf("数量最多的动物的名称与数量:%s %d\n",cc[im].name, cc[im].num); } ////////////////////////////87 #include <stdio.h> typedef struct { char xm[10]; int jbgz; int jj; int zc; int sfgz; } ZHIGONG ; main() { ZHIGONG zg[4]={{"zhao",650,210,170,0},{"qian",570,260,180,0}, {"sun",708,190,150,0},{"li",490,240,160,0} }; int i; ZHIGONG *p; int aver; for(i=0;i<4;i++) zg[i].sfgz=zg[i].jbgz+zg[i].jj-zg[i].zc; aver=0; for(p=zg; p<zg+4; p++) aver=aver+p->sfgz; aver=aver/4; printf("平均实发工资:%d\n",aver); } ////////////////////////////88 #include <stdio.h> typedef struct { char name[40]; int num; } ANIMAL ; main() { ANIMAL cc[10]={{"大象",3},{"猴子",52},{"斑马",6},{"羚羊",11},{"老虎",4}, {"狮子",7},{"黑熊",2},{"猩猩",6},{"狼",17},{"豹",4}}; ANIMAL *p; for(p=cc; p<cc+10; p++) if(p->num>=10 && p->num<=20 )printf("%s %d\n",p->name, p->num); } ////////////////////////////89 #include <stdio.h> main() { FILE *fp; char str1[50],str2[50]; int i; gets(str1); gets(str2); fp=fopen("f1801.txt","w"); if(fp==NULL){printf("文件打开失败"); exit(0);} for(i=0;str1[i]!='\0';i++) fputc(str1[i],fp); for(i=0;str2[i]!='\0';i++) fputc(str2[i],fp); fclose(fp); printf("输入的内容已写入文件\n"); } ////////////////////////////90 #include <stdio.h> #include <string.h> typedef struct { char name[10]; char sex[5]; int age; } STUDENT ; main() { STUDENT c[10]; int num,i; FILE *fp; fp=fopen("f1806.db","rb"); if(fp==NULL){printf("文件写打开失败"); exit(0);} num=0; while(fread(&c[num],sizeof(c[num]),1,fp)==1)num++; fclose(fp); for(i=0;i<num;i++) c[i].age++; fp=fopen("f1806.db","wb"); if(fp==NULL){printf("文件写打开失败"); exit(0);} for(i=0;i<num;i++) fwrite(&c[i],sizeof(c[i]),1,fp); fclose(fp); for(i=0;i<num;i++) printf("%s %d\n",c[i].name, c[i].age); } ////////////////////////////91 #include <stdio.h> main() { FILE *fp; char c; int num=0; fp=fopen("f1802.txt","r"); if(fp==NULL){printf("文件打开失败"); exit(0);} while(1) { c=fgetc(fp); if(c==EOF)break; if(c>='A' && c<='Z') num++; } fclose(fp); printf("大写字母有%d个\n",num); } ////////////////////////////92 #include <stdio.h> main() { FILE *fp; char c; int num1=0, num2=0,num3=0; fp=fopen("f1802.txt","r"); if(fp==NULL){printf("文件打开失败"); exit(0);} while(1) { c=fgetc(fp); if(c==EOF)break; if(c>='A' && c<='Z') num1++; if(c>='a' && c<='z') num2++; num3++ ; } fclose(fp); printf("%d个大写字母,%d个小写字母,总共%d个字符\n",num1,num2,num3); } ////////////////////////////93 #include <stdio.h> main() { FILE *fp; char c; int num1=0, num2=0,num3=0; fp=fopen("f1802.txt","a"); if(fp==NULL){printf("文件打开失败"); exit(0);} for(c='a';c<='z';c++)fputc(c,fp); fclose(fp); printf("添加完成\n"); } ////////////////////////////94 #include <stdio.h> main() { FILE *fp1,*fp2; char c; fp1=fopen("f1802.txt","r"); if(fp1==NULL){printf("文件1打开失败"); exit(0);} fp2=fopen("f1805.txt","w"); if(fp2==NULL){printf("文件2打开失败"); exit(0);} while(1) { c=fgetc(fp1); if(c==EOF)break; if(c>='A' && c<='Z') fputc(c,fp2); } fclose(fp1); fclose(fp2); printf("已完成\n"); } ////////////////////////////95 #include <stdio.h> typedef struct { char name[10]; char sex[5]; int age; } STUDENT ; main() { STUDENT b[5]; int num,i; FILE *fp; for(i=0;i<5;i++)scanf("%s %s %d",b[i].name, b[i].sex, &b[i].age); fp=fopen("f1806.db","wb"); if(fp==NULL){printf("文件写打开失败"); exit(0);} for(i=0;i<5;i++) fwrite(&b[i],sizeof(b[i]),1,fp); fclose(fp); printf("已写入\n"); } ////////////////////////////96 #include <stdio.h> #include <string.h> typedef struct { char name[10]; char sex[5]; int age; } STUDENT ; main() { STUDENT c[10]; int num,i; FILE *fp; fp=fopen("f1806.db","rb"); if(fp==NULL){printf("文件写打开失败"); exit(0);} num=0; while(fread(&c[num],sizeof(c[num]),1,fp)==1)num++; fclose(fp); for(i=0;i<num;i++) if(strcmp(c[i].sex,"男")==0)printf("%s %d\n",c[i].name, c[i].age); } ////////////////////////////97 #include <stdio.h> main() { FILE *fp; char c,str[200]; int num=0,i; fp=fopen("f1808.txt","r"); if(fp==NULL){printf("文件打开失败1"); exit(0);} while(1) { c=fgetc(fp); if(c==EOF)break; str[num]=c; num++; } fclose(fp); for(i=0;i<num;i++) if(str[i]>='a' && str[i]<='z' )str[i]=str[i]-32; fp=fopen("f1808.txt","w"); if(fp==NULL){printf("文件打开失败2"); exit(0);} for(i=0;i<num;i++) fputc(str[i],fp); fclose(fp); printf("文件内容已修改\n"); } ////////////////////////////98 #include <stdio.h> main() { FILE *fp1,*fp2, *fp3; char c; fp1=fopen("f18091.txt","r"); if(fp1==NULL){printf("文件1打开失败"); exit(0);} fp2=fopen("f18092.txt","r"); if(fp2==NULL){printf("文件2打开失败"); exit(0);} fp3=fopen("f18093.txt","w"); if(fp3==NULL){printf("文件3打开失败"); exit(0);} while(1) { c=fgetc(fp1); if(c==EOF)break; fputc(c,fp3 ); } while(1) { c=fgetc(fp2); if(c==EOF)break; fputc(c,fp3 ); } fclose(fp1); fclose(fp2); fclose(fp3); printf("操作完成\n"); } ////////////////////////////99 #include <stdio.h> main() { float h1,h2,avgheight; printf("请输入两个人的身高:"); scanf("%f%f",&h1,&h2); avgheight=(h1+h2)/2; printf("两个人的平均身高是%f\n",avgheight); } ////////////////////////////100 #include <stdio.h> main() { int n,d1,d10,r; printf("输入一个大于100的整数:"); scanf("%d",&n); d1=n%10; d10=n/10%10; r=n/100*100+d1*10+d10; printf("变化后的数是%d\n",r); } ////////////////////////////101 #include <stdio.h> #include <math.h> /* 由于下面用到sin、cos,所以要包含math.h */ main() { float jiao,ex; printf("请输入一个角的弧度数:"); scanf("%f",&jiao); ex=sin(jiao)+cos(jiao); printf("计算结果是%f\n",ex); } ////////////////////////////102 #include <stdio.h> main() { int shu1,shu2,he,cha,ji,shang; printf("请输入两个整数:"); scanf("%d%d",&shu1,&shu2); he=shu1+shu2; cha=shu1-shu2; ji=shu1*shu2; shang=shu1/shu2; printf("和:%d, 差:%d, 积:%d, 商:%d\n",he,cha,ji,shang); } ////////////////////////////103 #include <stdio.h> #include <math.h> main() { float x,s; printf("请输入一个实型数:"); scanf("%f",&x); s=sqrt(x); printf("其平方根是:%f\n",s); } ////////////////////////////104 #include <stdio.h> #include <math.h> main() { float j1,j2,h1,h2,h; printf("请输入第一个角:"); scanf("%f",&j1); h1=sin(j1); printf("第一个角的正弦是:%f\n",h1); printf("请输入第二个角:"); scanf("%f",&j2); h2=cos(j2); printf("第二个角的余弦是:%f\n",h2); h=h1+h2; printf("最后的和是:%f\n",h); } ////////////////////////////105 #include <stdio.h> main() { float f,c; printf("请输入一个摄氏温度:"); scanf("%f",&c); f=9.0/5.0*c+32.0; printf("其对应的华氏温度是:%f\n",f); } ////////////////////////////106 #include <stdio.h> main() { int a,b,t,r; printf("输入a与b:"); scanf("%d%d",&a,&b); r=a+3*b; printf("a+3b是%d\n",r); t=a; a=b; b=t; r=a+3*b; printf("交换后a+3b是%d\n",r); } ////////////////////////////107 #include <stdio.h> #include <math.h> main() { float j1,j2,j3,r; printf("请输入两个角的度数:"); scanf("%f%f",&j1,&j2); j3=180-j1-j2; r=sin(j1*3.141592/180.0)+ sin(j2*3.141592/180.0)+ sin(j3*3.141592/180.0) ; printf("结果是:%f\n",r); } ////////////////////////////108 #include <stdio.h> main() { int a,b,c,t,r; printf("输入a、b、c:"); scanf("%d%d%d",&a,&b,&c); r=a+2*b+3*c; printf("计算结果是%d\n",r); t=a; a=b; b=t; t=b; b=c; c=t; r=a+2*b+3*c; printf("交换后的计算结果是%d\n",r); } ////////////////////////////109 #include <stdio.h> main() { float x1,x2; printf("请输入两个实型数:"); scanf("%f%f",&x1, &x2); if(x1>x2) { printf("较小的数是%f\n",x2); } else { printf("较小的数是%f\n",x1); } } ////////////////////////////110 #include <stdio.h> main() { int num1,num2,num3,t,bignum ; printf("请输入3个数:"); scanf("%d%d%d",&num1, &num2, &num3); if(num1>num2) { t=num1; } else { t=num2; } if(t>num3) { bignum=t; } else { bignum=num3; } printf("最大值是:%d\n",bignum); } ////////////////////////////111 #include <stdio.h> main() { float f,c; int sel; printf(" 摄氏/华氏转换程序 \n\n 1)摄氏->华氏 2)华氏 ->摄氏 \n\n请选择:"); scanf("%d",&sel); if(sel==1) { printf(" 请输入摄氏温度:"); scanf("%f",&c); f=9.0/5.0*c+32; printf(" 转换结果:华氏温度为:%f\n",f); } if(sel==2) { printf(" 请输入华氏温度:"); scanf("%f",&f); c=(f-32)*5.0/9.0; printf(" 转换结果:摄氏温度为:%f\n",c); } } ////////////////////////////112 #include <stdio.h> #include <math.h> main() { float a, u; printf("请输入a:"); scanf("%f",&a); if(a<0) { u=a*a+1; } else { u=sqrt(a); } printf("u=%f\n",u); } ////////////////////////////113 #include <stdio.h> main() { int x1,x2,x3; printf("请输入3个整数:"); scanf("%d%d%d",&x1, &x2, &x3); if(x1<0) { x1=x1*(-1); } if(x2<0) { x2=x2*(-1); } if(x3<0) { x3=x3*(-1); } printf("结果是%d\n",x1+x2+x3); } ////////////////////////////114 #include <stdio.h> main() { int x,y; printf("请输入整数:"); scanf("%d",&x); if(x<0 || x%2==0) { y=x*x; } else { y=x/2; } printf("结果是%d\n",y); } ////////////////////////////115 #include <stdio.h> main() { float salary, newsalary; printf("输入原来的工资:"); scanf("%f",&salary); if(salary<600) { newsalary=600; } else { newsalary=salary*1.1; } printf("新工资是%f\n",newsalary); } ////////////////////////////116 #include <stdio.h> main() { int x1,x2,r; printf("请输入两个整数:"); scanf("%d%d",&x1, &x2); if(x1>0 && x2>0) { r=x1+x2; } else { r=x1*x1+x2*x2; } printf("结果是%d\n",r); } ////////////////////////////117 #include <stdio.h> main() { int x1,x2,r; printf("请输入两个整数:"); scanf("%d%d",&x1, &x2); if(x1>x2) { printf("小数、大数分别为%d %d\n",x2,x1); } else { printf("小数、大数分别为%d %d\n",x1,x2); } } ////////////////////////////118 #include <stdio.h> main() { int year; printf("请输入年份:"); scanf("%d",&year); if(year%400==0 || year%4==0 && year%100!=0) { printf("%d年是闰年\n",year); } else { printf("%d年不是闰年\n",year); } } ////////////////////////////119 #include <stdio.h> main() { int num1,num2,smallnum,bignum ; printf("请输入两个数:"); scanf("%d%d",&num1, &num2); if(num1>num2) { smallnum=num2; bignum=num1; } else { smallnum=num1; bignum=num2; } printf("结果:%d\n",smallnum*smallnum+bignum*bignum*bignum); } ////////////////////////////120 #include "stdio.h" main() { float workyear,salary,newsalary; printf("请输入工龄和工资:"); scanf("%f%f",&workyear,&salary); if(workyear<6) { if(salary<400) { newsalary=400; } else { newsalary=salary*1.05; } } else { newsalary=salary*1.08+50; } printf("新工资是%f\n",newsalary); } ////////////////////////////121 #include "stdio.h" main() { float xiaoshou,jiangjin; printf("销售额:"); scanf("%f",&xiaoshou); if(xiaoshou<=1000) { jiangjin=0; } else if(xiaoshou<=3000) { jiangjin=xiaoshou*0.05; } else if(xiaoshou<=6000) { jiangjin=xiaoshou*0.08; } else { jiangjin=xiaoshou*0.1; } printf("奖金:%f\n",jiangjin); } ////////////////////////////122 #include "stdio.h" main() { int x; printf("输入:"); scanf("%d",&x); switch(x) { case 1:printf("上"); break; case 2:printf("下"); break; case 3:printf("左"); break; case 4:printf("右"); break; default:printf("中"); } printf("\n"); } ////////////////////////////123 #include <stdio.h> main() { int grade,newgrade; printf("原成绩:"); scanf("%d",&grade); if(grade>=80 ) { newgrade=80; } else if(grade>=60 ) { newgrade=60; } else if(grade>=40 ) { newgrade=40; } else { newgrade=20; } printf("新成绩:%d\n",newgrade); } ////////////////////////////124 #include <stdio.h> main() { int a,b,r; printf("输入2个整数:"); scanf("%d%d",&a, &b); if(a<0 && b<0 ) { r=a*b; } else if(a>0 && b>0 ) { r=a*a+b*b; } else { r=a+b; } printf("结果:%d\n",r); } ////////////////////////////125 #include <stdio.h> main() { int type; float pingshi,qimo,zongping; printf("类型、平时、期末:"); scanf("%d%f%f",&type, &pingshi, &qimo); if(type==1 ) { if(qimo>=60){zongping=qimo;} else {zongping=qimo*0.7+pingshi*0.3;} } if(type==2 ) { if(qimo>=50){zongping=qimo*0.7+pingshi*0.3;} else {zongping=qimo*0.6+pingshi*0.4;} } printf("总评:%f\n",zongping); } ////////////////////////////126 #include <stdio.h> main() { int a1,a2,a3,a4,m12,m34,m; scanf("%d%d%d%d",&a1, &a2, &a3, &a4); if(a1>a2 ) {m12=a2;} else {m12=a1;} if(a3>a4 ) {m34=a3;} else {m34=a4;} m=m12+m34; printf("结果:%d\n",m); } ////////////////////////////127 #include <stdio.h> main() { int year, month,days; printf("输入年月:"); scanf("%d%d",&year, &month); if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12 ) {days=31;} if(month==4 || month==6 || month==9 || month==11 ) {days=30;} if(month==2 ) { days=28; if(year%400==0 || year%4==0 && year%100!=0){days=29;} } printf("该月天数:%d\n",days); } ////////////////////////////128 #include <stdio.h> main() { float xiaoshou,shui,jianshui; printf("销售额:"); scanf("%f",&xiaoshou); if(xiaoshou<10){shui=0.1;} else { shui=xiaoshou*0.05;} if(shui>=1000){jianshui=50;} else if (shui>=500){jianshui=30;} else if (shui>=100){jianshui=10;} else { jianshui=0; } shui=shui-jianshui; printf("纳税:%f\n",shui); } ////////////////////////////129 #include "stdio.h" main() { char c; /* c代表输入的字符 */ int x,y,z; /* x,y,z代表输入的整数 */ printf("输入一个字符:"); /* 提示 */ c=getchar(); /* 输入字符 */ printf("输入三个整数:"); /* 提示 */ scanf("%d%d%d",&x,&y,&z); /* 输入三个整数 */ if(c=='+') printf("三个整数的和是:%d\n",x+y+z); /* 输入的字符是'+'的情况 */ else printf("三个整数的积是:%d\n",x*y*z); /* 输入的字符不是'+'的情况 */ } ////////////////////////////130 #include "stdio.h" main() { char c; int x,y; printf("输入一个字符:"); c=getchar(); if(c=='+' || c=='-' || c=='*' || c=='/') { printf("输入两个整数:"); scanf("%d%d",&x,&y); } if(c=='+')printf("两个整数的和是:%d\n",x+y); else if(c=='-')printf("两个整数的差是:%d\n",x-y); else if(c=='*')printf("两个整数的积是:%d\n",x*y); else if(c=='/')printf("两个整数的商是:%d\n",x/y); else printf("不计算\n\n"); } ////////////////////////////131 #include <stdio.h> main() { char InputChar,OutputChar; printf("请输入一个字符:"); InputChar=getchar(); if(InputChar>='a' && InputChar<='z') OutputChar=InputChar-32; else OutputChar=InputChar-1; printf("所输出的字符是 %c\n",OutputChar); } ////////////////////////////132 #include <stdio.h> main() { char InputChar,OutputChar; printf("输入:"); InputChar=getchar(); OutputChar=InputChar+32; printf("输出的字符是 %c\n",OutputChar); } ////////////////////////////133 #include <stdio.h> main() { char InputChar,OutputChar; printf("输入:"); InputChar=getchar(); if(InputChar<'m') OutputChar='a'; else OutputChar=InputChar+1; printf("输出的字符是 %c\n",OutputChar); }////////////////////////////134 #include <stdio.h> main() { char InputChar; printf("输入:"); InputChar=getchar(); printf("输入的字符是:%c 其ASCII码是:%d\n",InputChar,InputChar); }////////////////////////////135 #include <stdio.h> main() { char InputChar,OutputChar; printf("请输入一个字符:"); InputChar=getchar(); if(InputChar>='A' && InputChar<='Z') OutputChar=InputChar+32; else if(InputChar>='a' && InputChar<='z') OutputChar=InputChar-32; else OutputChar=InputChar; printf("输出的字符是 %c\n",OutputChar); } ////////////////////////////136 #include <stdio.h> main() { char ch1,ch2; printf("请输入两个字符:"); ch1=getchar(); ch2=getchar(); if(ch1>ch2) printf("较大的字符是 %c\n",ch1); else printf("较大的字符是 %c\n",ch2); }////////////////////////////137 #include <stdio.h> main() { int baifen; char wuji; printf("请输入一个百分制成绩:"); scanf("%d",&baifen); if(baifen>=90)wuji='A'; else if(baifen>=80)wuji='B'; else if(baifen>=70)wuji='C'; else if(baifen>=60)wuji='D'; else wuji='E'; printf("其对应的五级制成绩是:%c\n",wuji); }////////////////////////////138 #include <stdio.h> main() { char c1,c2; printf("输入两个字符:"); c1=getchar(); c2=getchar(); if((c1>='A' && c1<='Z') && (c2>='A' && c2<='Z')) printf("直接输出这两个字符:%c,%c\n",c1,c2); else if((c1>='a' && c1<='z') && (c2>='a' && c2<='z')) printf("它们对应的大写字母是:%c,%c\n",c1-32,c2-32); else { if(c1>c2)printf("输出较大的字符:%c\n",c1); else printf("输出较大的字符:%c\n",c2); } } ////////////////////////////139 #include <stdio.h> main() { int e1=0,e2=1,e; int i; for(i=100;i<=200;i=i+10) /* 求第1个括号的值 */ { e1=e1+i; } for(i=2;i<=10;i=i+2) /* 求第2个括号的值 */ { e2=e2*i; } e=e1+e2; printf("计算结果是%d\n",e); } ////////////////////////////140 #include <stdio.h> main() { int n,i; int sum=0; for(i=2;i<=1024;i=i*2) { sum=sum+i; } printf("%d\n",sum); } ////////////////////////////141 #include <stdio.h> main() { int n,i; int jiecheng=1; scanf("%d",&n); for(i=1;i<=n;i=i+1) { jiecheng=jiecheng*i; } printf("%d\n",jiecheng); } ////////////////////////////142 #include <stdio.h> main() { int n,m,i; int sum=0; scanf("%d%d",&m,&n); if(m<=n) { for(i=m;i<=n;i=i+1) { sum=sum+i; } } else { for(i=n;i<=m;i=i+1) { sum=sum+i; } } printf("%d\n",sum); } ////////////////////////////143 #include <stdio.h> main() { int i; float e1=1,e2=0,e; for(i=1;i<=5;i=i+1) { e1=e1 * (i+i*i); e2=e2+1.0/i; } e=e1*e2; printf("%f\n",e); } ////////////////////////////144 #include <stdio.h> main() { int i; float s; /* 表示球经过的总长度 */ float h; /* 表示球落下的高度 */ h=100; s=100; /* 第一次落地时 */ for(i=1;i<=9;i=i+1) /* 后面的9次落地 */ { h=h/2; s=s+h*2; } printf("第10次落地的高度:%f\n",h); printf("球经过的总长度:%f\n",s); } ////////////////////////////145 #include <stdio.h> main() { int sum=0; int i; for(i=2;i<=14;i=i+2) { sum = sum +i*i*i; } printf("计算结果是%d\n", sum); } ////////////////////////////146 #include <stdio.h> main() { char ch; /* 代表输入的字符 */ char c; /* 作为循环变量 */ ch=getchar(); for(c=ch; c>ch-5; c--) { putchar(c); } putchar('\n'); for(c=ch; c<ch+5; c++) { putchar(c); } putchar('\n'); } ////////////////////////////147 #include <stdio.h> main() { int i; for(i=10;i<=300;i=i+10) { printf("%d ",i); } for(i=290;i>=10;i=i-10) { printf("%d ",i); } } ////////////////////////////148 #include <stdio.h> main() { int i, n; scanf("%d",&n); for(i=1;i<=n/2;i=i+1) { printf("*"); } for(i=1;i<=n/2;i=i+1) { printf("A"); } for(i=1;i<=n;i=i+1) { printf("B"); } } ////////////////////////////149 #include <stdio.h> main() { char c; for(c='z';c>='a';c--) { putchar(c); } printf("\n"); for(c='A';c<='Z';c++) { putchar(c); } printf("\n"); } ////////////////////////////150 #include <stdio.h> main() { int i, n; for(i=1;i<=4;i=i+1) { printf("A"); } for(i=1;i<=3;i=i+1) { printf("B"); } for(i=1;i<=4;i=i+1) { printf("A"); printf("B"); } } ////////////////////////////151 #include <stdio.h> main() { char c; int n,i; c=getchar(); scanf("%d",&n); for(i=1;i<=n;i++) { putchar(c); putchar(' '); } } ////////////////////////////152 #include <stdio.h> main() { int n,i; int sum=0; scanf("%d",&n); for(i=2;i<=n;i=i+2) { sum=sum+i; } printf("%d\n",sum); } ////////////////////////////153 #include <stdio.h> main() { int i,a; int count1=0, count2=0; for(i=1;i<=8;i++) { scanf("%d",&a); if(a<0) { count1=count1+1; } if(a%2==0) { count2=count2+1; } } printf("负数有 %d 个,偶数有%d个。\n",count1, count2); } ////////////////////////////154 #include <stdio.h> main() { int n; int jiecheng; jiecheng=1; for(n=1;n<=1000;n++) { jiecheng=jiecheng*n; if(jiecheng>2000)break; } printf("n为%d\n",n); } ////////////////////////////155 #include <stdio.h> main() { int gz,mj,zmj=0; int i; for(i=1;i<=10;i++) { scanf("%d", &gz); if(gz>=3000){ mj=100; } else if(gz>=1000){ mj=50; } else {mj=20;} zmj=zmj+mj; } printf("总的募捐金额:%d\n",zmj); } ////////////////////////////156 #include <stdio.h> main() { int ps=1,i; for(i=1;i<=4;i++){ ps=(ps+1)*2; } printf("摘了%d个桃子\n",ps); } ////////////////////////////157 #include <stdio.h> main() { int f1=1,f2=1,f,i; /* f1,f2代表前两个数,f代表本数 */ for(i=3;i<=10;i++) { f=f1+f2; f1=f2; f2=f; /* 把前一数与本数作为下次的“前两个” */ } printf("%d\n",f); } ////////////////////////////158 #include <stdio.h> main() { int y,z,i; /* y代表一年学费,z代表总学费 */ z=100; y=100; for(i=2;i<=5;i++) { y=y+10; z=z+y; } printf("总学费:%d\n",z); } ////////////////////////////159 #include <stdio.h> main() { int i,a; for(i=300;i<=350;i++) { if(i%2==0 && i%10!=2 && i%10!=6) { printf("%d ",i); } } } ////////////////////////////160 #include <stdio.h> main() { int i,a; int max, min; /* 代表最大值和最小值 */ scanf("%d",&a); max=a; min=a; for(i=2;i<=6;i++) { scanf("%d",&a); if(a>max) { max=a; } if(a<min) { min=a; } } printf("结果:%d\n",max-min); } ////////////////////////////161 #include <stdio.h> main() { int i,a; int sum=0; for(i=1;i<=7;i++) { scanf("%d",&a); if(a%2!=0) { sum=sum+a; } } printf("奇数之和为; %d \n",sum); } ////////////////////////////162 #include <stdio.h> main() { int i,n; float score; float avg=0; printf("输入人数:"); scanf("%d",&n); printf("输入成绩:"); for(i=1;i<=n;i++) { scanf("%f",&score); avg=avg+score; } avg=avg/n; printf("平均成绩; %f \n",avg); } ////////////////////////////163 #include <stdio.h> main() { int i,n1=0,n2=0; char ch; printf("输入字符:"); for(i=1;i<=10;i++) { ch=getchar(); if(ch>='a' && ch<='z'){ n1++; } if(ch>='A' && ch<='Z'){ n2++; } } printf("大写字母%d个,小写字母%d个\n",n2,n1); } ////////////////////////////164 #include <stdio.h> main() { int y; int n=0; for(y=1980;y<=2030;y++) { if(y%400==0 || y%4==0 && y%100!=0) { printf("%d ",y); n++; if(n%5==0)printf("\n"); } } printf("\n"); } ////////////////////////////165 #include <stdio.h> main() { int x; for(x=1000;x>=1;x--) { if(x%59==0 ) { break; } } printf("所求的数:%d\n",x); } ////////////////////////////166 #include <stdio.h> main() { int x; int n=0,sum=0; while(2>1) { scanf("%d",&x); if(x==0)break; n++; sum=sum+x; } printf("共%d个数,和为%d\n",n,sum); } ////////////////////////////167 #include <stdio.h> main() { int i,j; for(i=1; i<=6; i++) { /* 画i个* */ for(j=1; j<=i; j++) { printf("*"); } printf("\n"); /* 一行结束要换行 */ } } ////////////////////////////168 #include <stdio.h> main() { int f1=1,f2=1,f,i; /* f1,f2代表前两个数,f代表本数 */ int count=0; for(i=3;i<=100;i++) { f=f1+f2; f1=f2; f2=f; /* 把前一数与本数作为下次的“前两个” */ if(f>100 && f<1000)count++; if(f>=1000)break ; } printf("%d\n",count); } ////////////////////////////169 #include <stdio.h> main() { int i,j; int n,m; int count=0; for(i=1;i<=8;i++) { scanf("%d",&n); /* 求n的对称数 m */ m=0; for(j=n;j>0;j=j/10){ m=m*10+j%10; } if(m==n) { printf("%d ",n); count++; } } printf("对称数个数:%d\n",count); } ////////////////////////////170 #include <stdio.h> main() { int n,i,j,f; int count=0; for(i=1; i<=10; i++) { scanf("%d",&n); /* 输入 */ /* 下面判断n是不是素数,结果用f的值表示 */ f=1; for(j=2; j*j<=n; j++) { if(n%j==0){ f=0; break; } } if(f==0){ count++; } /*是素数则统计、输出 */ } printf("共%d个非素数\n",count); } ////////////////////////////171 #include <stdio.h> main() { int da,zhong,xiao; for(da=0; da<=33; da++) { for(zhong=0; zhong<=50; zhong++) { xiao=100-da-zhong; if( xiao%2==0 && da*3+zhong*2+xiao/2==100) { printf("大马:%d 中马:%d 小马:%d\n",da, zhong, xiao); } } } } ////////////////////////////172 #include <stdio.h> main() { int i,j,n,jc; int sum=0; for(i=1; i<=5; i++) { scanf("%d",&n); jc=1; for(j=1;j<=n;j++) { jc=jc*j; } sum=sum+jc; } printf("%d \n",sum); } ////////////////////////////173 #include <stdio.h> main() { int n,i,j,f; for(n=101;n<=150;n++) { /* 下面判断n是不是素数,结果用f的值表示 */ f=1; for(j=2; j*j<=n; j++) { if(n%j==0){ f=0; break; } } if(f==1){ printf("%d ",n); } } } ////////////////////////////174 #include <stdio.h> main() { int i,j,n; scanf("%d",&n); for(i=n; i>=1; i--) { /* 画i个空格 */ for(j=1; j<=i; j++) { printf(" "); } /* 画n个* */ for(j=1; j<=n; j++) { printf("*"); } printf("\n"); /* 一行结束要换行 */ } } ////////////////////////////175 #include <stdio.h> main() { int i,j; float fy,zfy; for(i=1; i<=4; i++) { printf("学生%d第一个月费用:",i); scanf("%f",&fy); zfy=0; for(j=1;j<=6;j++) { zfy=zfy + fy * (1-0.1*(j-1)); } printf("学生%d的总费用:%f \n",i,zfy); } } ////////////////////////////176 #include <stdio.h> main() { int i; int d1,d10,d100; /* 个位、十位、百位 */ for(i=100; i<=999; i++) { d1=i%10; d10=i/10%10; d100=i/100; if(d1*d1*d1+d10*d10*d10+d100*d100*d100==i) { printf("%d ",i); } } } ////////////////////////////177 #include <stdio.h> main() { int i,j; char ch='A'; for(i=5; i>=1; i--) { /* 画i个* */ for(j=1; j<=i; j++) { printf("*"); } putchar(ch); ch++; printf("\n"); /* 一行结束要换行 */ } } ////////////////////////////178 #include "stdio.h" main( ) { int i; int g[5]={8,8,8,8,8}; g[0]=g[0]+2; g[1]=g[1]+2; g[2]=g[2]-3; g[3]=g[0]+g[1]+g[2]; printf("各元素值:"); for(i=0;i<=4;i++) printf("%d ",g[i]); /* 输出 */ } ////////////////////////////179 #include "stdio.h" main( ) { int s[8], i; int count,min,sum; for(i=0;i<8;i++)scanf("%d",&s[i]); count=0; for(i=0;i<8;i++)if(s[i]%2==0)count++; min=s[0]; for(i=1;i<8;i++)if(s[i]<min)min=s[i]; sum=0; for(i=0;i<8;i++)sum=sum+s[i]; printf("偶数有%d个, 最小的数是%d, 所有元素的和是%d\n",count,min,sum); } ////////////////////////////180 #include "stdio.h" main( ) { int i; int x[10]; for(i=0;i<10;i++)scanf("%d",&x[i]); for(i=0;i<10;i++) if(x[i]>100)printf("%d ",x[i]); printf("\n"); } ////////////////////////////181 #include "stdio.h" main( ) { int i; int a[10],b[10]; for(i=0;i<10;i++)scanf("%d",&a[i]); for(i=0;i<10;i++)b[i]=a[i]*2; for(i=0;i<10;i++) printf("%d ",b[i]); printf("\n"); } ////////////////////////////182 #include "stdio.h" main( ) { int i; int score[10]={83,46,88,34,75,66,80,72,69,70}; int avg; for(i=0;i<5;i++)score[i]=score[i]+5; avg=0; for(i=0;i<10;i++)avg=avg+score[i]; avg=avg/10; printf("平均分:%d\n",avg); } ////////////////////////////183 #include "stdio.h" main( ) { int i; int score[10]={83,46,88,34,75,66,80,72,69,70}; int min,c1,c2; min=score[0]; for(i=1;i<10;i++)if(score[i]<min)min=score[i]; c1=0; for(i=0;i<10;i++)if(score[i]>=80)c1++; c2=0; for(i=0;i<10;i++)if(score[i]<60)c2++; printf("最低分是%d, 80分以上有%d位,不及格有%d位\n",min,c1,c2); } ////////////////////////////184 #include "stdio.h" main( ) { int i; int x[6]; for(i=0;i<6;i++)scanf("%d",&x[i]); for(i=5;i>=0;i--) printf("%d ",x[i]); printf("\n"); } ////////////////////////////185 #include "stdio.h" main( ) { int i; int x[10]; int avg; for(i=0;i<10;i++)scanf("%d",&x[i]); avg=0; for(i=0;i<10;i++) avg=avg+x[i]; avg=avg/10; for(i=0;i<10;i++) if(x[i]>avg)printf("%d ",x[i]); printf("\n"); } ////////////////////////////186 #include "stdio.h" main( ) { int i; float x[6]; float max,min; float avg; for(i=0;i<6;i++)scanf("%f",&x[i]); max=min=x[0]; for(i=1;i<6;i++) { if(x[i]>max)max=x[i]; if(x[i]<min)min=x[i]; } avg=0; for(i=0;i<6;i++) avg=avg+x[i]; avg=(avg-min-max)/4; printf("平均分:%f\n",avg); } ////////////////////////////187
学习笔记转摘于:
丝酷网 http://www.pythonschool.com/