第1周编程练习

1.逆序的三位数
  1. #include<stdio.h>  
  2. int main()
  3. {
  4.     int a, b, c, d;
  5.     scanf(“%d”, &a);
  6.     b = a/100;
  7.     c = a%100/10;
  8.     d = a%10;
  9.     a = b+c*10+d*100;
  10.     printf(“%d”, a);
  11.     return 0;
  12. }

第2周编程练习

1.时间换算
  1. #include<stdio.h>  
  2. int main()
  3. {
  4.     int t, h, m;
  5.     scanf(“%d”, &t);
  6.     h = t/100;
  7.     m = t%100;
  8.     if(h>=8){
  9.         h = h-8;
  10.     }
  11.     else{
  12.         h = h+16;
  13.     }
  14.     t = h*100+m;
  15.     printf(“%d”, t);
  16.     return 0;
  17.  }

2.信号报告

  1. #include<stdio.h>  
  2. int main()
  3. {
  4.     int R, S, N;
  5.     scanf(“%d”, &N);
  6.     R = N/10;
  7.     S = N%10;
  8.     switch(S){
  9.         case 1:
  10.             printf(“Faint signals, barely perceptible,”);
  11.             break;
  12.         case 2:
  13.             printf(“Very weak signals,”);
  14.             break;
  15.         case 3:
  16.             printf(“Weak signals,”);
  17.             break;
  18.         case 4:
  19.             printf(“Fair signals,”);
  20.             break;
  21.         case 5:
  22.             printf(“Fairly good signals,”);
  23.             break;
  24.         case 6:
  25.             printf(“Good signals,”);
  26.             break;
  27.         case 7:
  28.             printf(“Moderately strong signals,”);
  29.             break;
  30.         case 8:
  31.             printf(“Strong signals,”);
  32.             break;
  33.         case 9:
  34.             printf(“Extremely strong signals,”);
  35.             break;
  36.     }
  37.     switch(R){
  38.         case 1:
  39.             printf(” unreadable.”);
  40.             break;
  41.         case 2:
  42.             printf(” barely readable, occasional words distinguishable.”);
  43.             break;
  44.         case 3:
  45.             printf(” readable with considerable difficulty.”);
  46.             break;
  47.         case 4:
  48.             printf(” readable with practically no difficulty.”);
  49.             break;
  50.         case 5:
  51.             printf(” perfectly readable.”);
  52.             break;
  53.     }
  54.     return 0;
  55.  }

第3周编程练习

1.奇偶个数
  1. #include<stdio.h>  
  2. int main()
  3. {
  4.     int a, b = 0, c = 0;
  5.     scanf (“%d”, &a);
  6.     while(a!=-1){
  7.         if(a%2 == 0){
  8.             b++;
  9.             scanf (“%d”, &a);
  10.         }
  11.         else{
  12.             c++;
  13.             scanf (“%d”, &a);
  14.         }
  15.     }
  16.     printf(“%d %d”, c, b);
  17.     return 0;
  18.  }
2.数字特征值
  1. #include<stdio.h> 
  2. #include<math.h> 
  3. int main()
  4. {
  5.     int n, c, a = 0, d = 0;
  6.     scanf (“%d”, &n);
  7.     do{
  8.         c = n%10;
  9.         a++;
  10.         if((c+a)%2==0){
  11.             d += pow(2,a-1);
  12.         }
  13.         n/=10;
  14.     }while(n>0);
  15.     printf(“%d”, d);
  16.     return 0;
  17.  }

第4周编程练习

1.素数和
  1. #include<stdio.h>
  2. #include<math.h>
  3. int prime(int a)
  4. {
  5.     int i;
  6.     if((a==1)||(a!=2)&&(a%2==0)) return 0;
  7.     for(i=3;i<=sqrt(a);i=i+2)
  8.     {
  9.         if(a%i==0) return 0;
  10.     }
  11.     return 1;
  12. }
  13. int main(void)
  14. {
  15.     int count=1,i=2,m,n,sum=0;
  16.     scanf(“%d %d”,&m,&n);
  17.     while(count<m){
  18.         if(prime(i)){
  19.             //printf(“i1 = %d\n”,i);
  20.             count++;
  21.             i++;
  22.         }
  23.         else i++;
  24.     }
  25.     while(count<=n)
  26.     {
  27.             if(prime(i)){
  28.                 //printf(“i2 = %d\n”,i);
  29.                 sum+=i;
  30.                 //printf(“sum = %d\n”,sum);
  31.                 i++;
  32.                 count++;
  33.             }
  34.             else i++;
  35.     }
  36.     printf(“%d”,sum);
  37. }
2.念整数
  1. #include<stdio.h>
  2. #include<math.h>
  3. int main()
  4. {
  5.     int x,count=0,i;
  6.     scanf(“%d”,&x);
  7.     if(x<0){
  8.         printf(“fu “);
  9.         x=-x;
  10.     }
  11.     i = x;
  12.     do{
  13.         count++;
  14.         i/=10;
  15.     }while(i>0);
  16.     //printf(“%d”,count);
  17.     while(count>0){
  18.         i=x/pow(10,count-1);
  19.         //count–;
  20.         switch(i%10){
  21.             case 0:
  22.                 if(count==1) printf(“ling”);
  23.                 else printf(“ling “);
  24.                 break;
  25.             case 1:
  26.                 if(count==1) printf(“yi”);
  27.                 else printf(“yi “);
  28.                 break;
  29.             case 2:
  30.                 if(count==1) printf(“er”);
  31.                 else printf(“er “);
  32.                 break;
  33.             case 3:
  34.                 if(count==1) printf(“san”);
  35.                 else printf(“san “);
  36.                 break;
  37.             case 4:
  38.                 if(count==1) printf(“si”);
  39.                 else printf(“si “);
  40.                 break;
  41.             case 5:
  42.                 if(count==1) printf(“wu”);
  43.                 else printf(“wu “);
  44.                 break;
  45.             case 6:
  46.                 if(count==1) printf(“liu”);
  47.                 else printf(“liu “);
  48.                 break;
  49.             case 7:
  50.                 if(count==1) printf(“qi”);
  51.                 else printf(“qi “);
  52.                 break;
  53.             case 8:
  54.                 if(count==1) printf(“ba”);
  55.                 else printf(“ba “);
  56.                 break;
  57.             case 9:
  58.                 if(count==1) printf(“jiu”);
  59.                 else printf(“jiu “);
  60.                 break;
  61.         }
  62.                 count–;
  63.     }
  64. }

第5周编程练习

1.高精度小数
  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int a,b,i,mo,x;
  5.     scanf(“%d/%d”,&a,&b);
  6.     if(a==0){
  7.         printf(“0”);
  8.         return 0;
  9.     }
  10.     printf(“0.”);
  11.     x=a;
  12.     mo = x%b;
  13.     for(i=1;i<=200&&mo!=0;++i){
  14.         x*=10;
  15.         mo = x%b;
  16.         printf(“%d”,x/b);
  17.         x=mo;
  18.     }
  19.     printf(“\n”);
  20. }

第6周编程练习

1.分解质因数
  1. #include<stdio.h>
  2. #include<math.h>
  3. int prime(int a);
  4. int main()
  5. {
  6.     int a,i;
  7.     scanf(“%d”,&a);
  8.     if(prime(a)){
  9.         printf(“%d=%d”,a,a);
  10.         return 0;
  11.     }
  12.     for(i=2;i<a;i++){
  13.         if(prime(i)&&a%i==0){
  14.             printf(“%d=%d”,a,i);
  15.             a=a/i;
  16.             break;
  17.         }
  18.     }
  19.     while(a>=i){
  20.         if(prime(i)){
  21.             if(a%i==0) {
  22.                 printf(“x%d”,i);
  23.                 a=a/i;
  24.             }
  25.             else i++;
  26.         }
  27.         else i++;
  28.     }
  29. }
  30. int prime(int a)
  31. {
  32.     int i;
  33.     if((a==1)||((a!=2)&&(a%2==0))) return 0;
  34.     for(i=3;i<=sqrt(a);i=i+2)
  35.     {
  36.         if(a%i==0) return 0;
  37.     }
  38.     return 1;
  39. }

2.完数

  1. #include<stdio.h>
  2. int perfect(int a);
  3. int main()
  4. {
  5.     int m,n,i,flag1=1,flag2=1;
  6.     scanf(“%d %d”,&m,&n);
  7.     if(m==1) m++;
  8.     for(i=m;i<=n;++i){
  9.         if(perfect(i)&&flag1==1){
  10.             flag1=0;
  11.             flag2=0;
  12.             printf(“%d”,i);
  13.         }
  14.         else if(perfect(i)&&flag1==0){
  15.             printf(” %d”,i);
  16.         }
  17.     }
  18.     if(flag2) printf(“NIL\n”);
  19. }
  20. int perfect(int a)
  21. {
  22.     int i,sum;
  23.     sum=1;
  24.     for(i=2;i<a;i++)
  25.     {
  26.         if(a%i==0){
  27.             sum+=i;
  28.         }
  29.     }
  30.     if(sum==a) return 1;
  31.     else return 0;
  32. }

第7周编程练习

1.多项式加法
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int power,coefficient,flag=1,m_power=0,i;
  5.     static int number[101];
  6.     for(i=0;i<2;i++){
  7.         do{
  8.             scanf(“%d %d”,&power,&coefficient);
  9.             number[power]+=coefficient;
  10.             if(m_power<power) m_power=power;
  11.         }while(power!=0);
  12.     }
  13.     for(i=m_power;i>1;i–)
  14.     {
  15.         if(flag==0){
  16.             if(number[i]==1) printf(“+x%d”,i);
  17.             else if(number[i]==-1) printf(“-x%d”,i);
  18.             else if(number[i]>0) printf(“+%dx%d”,number[i],i);
  19.             else if(number[i]<0) printf(“%dx%d”,number[i],i);
  20.         }
  21.         else{
  22.             switch (number[i]){
  23.                 case 0:
  24.                     break;
  25.                 case 1:
  26.                     printf(“x%d”,i);
  27.                     flag=0;
  28.                     break;
  29.                 case -1:
  30.                     printf(“-x%d”,i);
  31.                     flag=0;
  32.                     break;
  33.                 default:
  34.                     printf(“%dx%d”,number[i],i);
  35.                     flag=0;
  36.                     break;
  37.             }
  38.         }
  39.     }
  40.     if(flag==0){
  41.         if(number[1]==1) printf(“+x”);
  42.         else if(number[1]==-1) printf(“-x”);
  43.         else if(number[1]>0) printf(“+%dx”,number[1]);
  44.         else if(number[1]<0) printf(“%dx”,number[1]);
  45.         if(number[0]>0) printf(“+%d”,number[0]);
  46.         else if(number[0]<0) printf(“%d”,number[0]);
  47.     }
  48.     else{
  49.         switch (number[1]){
  50.                 case 0:
  51.                     break;
  52.                 case 1:
  53.                     printf(“x”);
  54.                     flag=0;
  55.                     break;
  56.                 case -1:
  57.                     printf(“-x”);
  58.                     flag=0;
  59.                     break;
  60.                 default:
  61.                     printf(“%dx”,number[1]);
  62.                     flag=0;
  63.                     break;
  64.         }
  65.         if(number[0]!=0){
  66.             printf(“%d”,number[0]);
  67.             flag=0;
  68.         }
  69.     }
  70.     if(flag) printf(“0”);
  71.     printf(“\n”);
  72. }

2.鞍点

  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int n,i,j,x,y,k;
  5.     scanf(“%d”,&n);
  6.     int jz[n][n];
  7.     for(i=0;i<n;i++){
  8.         for(j=0;j<n;j++){
  9.             scanf(“%d”,&jz[i][j]);
  10.         }
  11.     }
  12.     for(i=0;i<n;i++){
  13.         for(j=0;j<n;j++){
  14.             x=0;
  15.             y=0;
  16.             for(k=0;k<n;k++){
  17.                 if(jz[i][j]>jz[k][j]) x++;
  18.             }
  19.             if(x) continue;
  20.             for(k=0;k<n;k++){
  21.                 if(jz[i][j]<jz[i][k]) y++;
  22.             }
  23.             if(y) continue;
  24.             else{
  25.                 printf(“%d %d”,i,j);
  26.                 return 0;
  27.             }
  28.         }
  29.     }
  30.     printf(“NO”);
  31. }

第8周编程练习

1.单词长度
  1. /*#include<stdio.h>
  2. int main()
  3. {
  4.     int count = 0,flag=0;
  5.     char c;
  6.     while((c=getchar())!=’.’){
  7.         if(c==’ ‘&&count>0&&flag == 0){
  8.             printf(“%d”,count);
  9.             count = 0;
  10.             flag = 1;
  11.         }
  12.         else if(c==’ ‘&&count>0&&flag == 1){
  13.             printf(” %d”,count);
  14.             count = 0;
  15.         }
  16.         else if(c!=’ ‘){
  17.             count++;
  18.         }
  19.     }
  20.     if(count>0) printf(” %d”,count);
  21. }*/
  22. //上面那个当输出一个单词,例如kkkkk.的时候会有格式错误,反正上面这么写就是很麻烦!!! 
  23. #include <stdio.h>  
  24. int main()
  25. {
  26.     static int count;
  27.     char ch;
  28.     while(scanf(“%c”,&ch)!=EOF){
  29.         if(ch == ‘.’){
  30.             if(count!=0) printf(“%d”,count);
  31.             break;
  32.         }
  33.         if(ch==’ ‘){
  34.             if(count!=0){
  35.                 printf(“%d “,count);
  36.                 count=0;
  37.             }
  38.         }
  39.         else count+=1;
  40.     }
  41. }