太阳天梁吧 关注:30贴子:4,594

回复:【太阳天梁】经典C源程序100例

取消只看楼主收藏回复

【程序75】 
题目:放松一下,算一道简单的题目。 
1.程序分析: 
2.程序源代码: 
main() 

int i,n; 
for(i=1;i<5;i++) 
{ n=0; 
 if(i!=1) 
 n=n+1; 
 if(i==3) 
 n=n+1; 
 if(i==4) 
 n=n+1; 
 if(i!=4) 
 n=n+1; 
 if(n==3) 
  printf("zhu hao shi de shi:%c",64+i); 
 } 
}


64楼2007-01-09 19:19
回复
    【程序77】 
    题目:填空练习(指向指针的指针) 
    1.程序分析:      
    2.程序源代码: 
    main() 
    { char *s[]={"man","woman","girl","boy","sister"}; 
    char **q; 
    int k; 
    for(k=0;k<5;k++) 
    {       ;/*这里填写什么语句*/ 
     printf("%s\n",*q); 

    }


    66楼2007-01-09 19:19
    回复
      【程序78】 
      题目:找到年龄最大的人,并输出。请找出程序中有什么问题。 
      1.程序分析: 
      2.程序源代码: 
      #define N 4 
      #include "stdio.h" 
      static struct man 
      { char name[20]; 
      int age; 
      } person[N]={"li",18,"wang",19,"zhang",20,"sun",22}; 
      main() 
      {struct man *q,*p; 
      int i,m=0; 
      p=person; 
      for (i=0;i<N;i++) 
      {if(m<p->age) 
       q=p++; 
       m=q->age;} 
      printf("%s,%d",(*q).name,(*q).age); 
      }


      67楼2007-01-09 19:20
      回复
        【程序79】 
        题目:字符串排序。 
        1.程序分析: 
        2.程序源代码: 
        main() 

        char *str1[20],*str2[20],*str3[20]; 
        char swap(); 
        printf("please input three strings\n"); 
        scanf("%s",str1); 
        scanf("%s",str2); 
        scanf("%s",str3); 
        if(strcmp(str1,str2)>0) swap(str1,str2); 
        if(strcmp(str1,str3)>0) swap(str1,str3); 
        if(strcmp(str2,str3)>0) swap(str2,str3); 
        printf("after being sorted\n"); 
        printf("%s\n%s\n%s\n",str1,str2,str3); 

        char swap(p1,p2) 
        char *p1,*p2; 

        char *p[20]; 
        strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p); 
        }


        68楼2007-01-09 19:20
        回复
          【程序81】 
          题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。 
          1.程序分析: 
          2.程序源代码: 
          output(long b,long i) 
          { printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i); 

          main() 
          {long int a,b,i; 
          a=809; 
          for(i=10;i<100;i++) 
          {b=i*a+1; 
          if(b>=1000&&b<=10000&&8*i<100&&9*i>=100) 
          output(b,i); } 
          }


          70楼2007-01-09 19:20
          回复
            【程序82】 
            题目:八进制转换为十进制 
            1.程序分析:            
            2.程序源代码: 
            main() 
            { char *p,s[6];int n; 
            p=s; 
            gets(p); 
            n=0; 
            while(*(p)!='\0') 
            {n=n*8+*p-'0'; 
            p++;} 
            printf("%d",n); 
            }


            71楼2007-01-09 19:20
            回复
              【程序83】 
              题目:求0—7所能组成的奇数个数。 
              1.程序分析: 
              2.程序源代码: 
              main() 

              long sum=4,s=4; 
              int j; 
              for(j=2;j<=8;j++)/*j is place of number*/ 
              { printf("\n%ld",sum); 
              if(j<=2) 
              s*=7; 
              else 
              s*=8; 
              sum+=s;} 
              printf("\nsum=%ld",sum); 
              }


              72楼2007-01-09 19:22
              回复
                【程序84】 
                题目:一个偶数总能表示为两个素数之和。 
                1.程序分析: 
                2.程序源代码: 
                #include "stdio.h" 
                #include "math.h" 
                main() 
                { int a,b,c,d; 
                scanf("%d",&a); 
                for(b=3;b<=a/2;b+=2) 
                { for(c=2;c<=sqrt(b);c++) 
                if(b%c==0) break; 
                if(c>sqrt(b)) 
                d=a-b; 
                else 
                break; 
                for(c=2;c<=sqrt(d);c++) 
                if(d%c==0) break; 
                if(c>sqrt(d)) 
                printf("%d=%d+%d\n",a,b,d); 

                }


                73楼2007-01-09 19:22
                回复
                  【程序85】 
                  题目:判断一个素数能被几个9整除 
                  1.程序分析: 
                  2.程序源代码: 
                  main() 
                  { long int m9=9,sum=9; 
                  int zi,n1=1,c9=1; 
                  scanf("%d",&zi); 
                  while(n1!=0) 
                  { if(!(sum%zi)) 
                  n1=0; 
                  else 
                  {m9=m9*10; 
                  sum=sum+m9; 
                  c9++; 


                  printf("%ld,can be divided by %d \"9\"",sum,c9); 
                  }


                  74楼2007-01-09 19:22
                  回复
                    【程序86】 
                    题目:两个字符串连接程序 
                    1.程序分析: 
                    2.程序源代码: 
                    #include "stdio.h" 
                    main() 
                    {char a[]="acegikm"; 
                    char b[]="bdfhjlnpq"; 
                    char c[80],*p; 
                    int i=0,j=0,k=0; 
                    while(a[i]!='\0'&&b[j]!='\0') 
                    {if (a[i] { c[k]=a[i];i++;} 
                    else 
                    c[k]=b[j++]; 
                    k++; 

                    c[k]='\0'; 
                    if(a[i]=='\0') 
                    p=b+j; 
                    else 
                    p=a+i; 
                    strcat(c,p); 
                    puts©; 
                    }


                    75楼2007-01-09 19:23
                    回复
                      【程序87】 
                      题目:回答结果(结构体变量传递) 
                      1.程序分析:      
                      2.程序源代码: 
                      #include "stdio.h" 
                      struct student 
                      { int x; 
                      char c; 
                      } a; 
                      main() 
                      {a.x=3; 
                      a.c='a'; 
                      f(a); 
                      printf("%d,%c",a.x,a.c); 

                      f(struct student b) 

                      b.x=20; 
                      b.c='y'; 
                      }


                      76楼2007-01-09 19:23
                      回复
                        【程序88】 
                        题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 
                        1.程序分析: 
                        2.程序源代码: 
                        main() 
                        {int i,a,n=1; 
                        while(n<=7) 
                        { do { 
                           scanf("%d",&a); 
                           }while(a<1||a>50); 
                        for(i=1;i<=a;i++) 
                         printf("*"); 
                        printf("\n"); 
                        n++;} 
                        getch(); 
                        }


                        77楼2007-01-09 19:23
                        回复
                          【程序89】 
                          题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 
                             每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 
                          1.程序分析: 
                          2.程序源代码: 
                          main() 
                          {int a,i,aa[4],t; 
                          scanf("%d",&a); 
                          aa[0]=a%10; 
                          aa[1]=a%100/10; 
                          aa[2]=a%1000/100; 
                          aa[3]=a/1000; 
                          for(i=0;i<=3;i++) 
                           {aa[i]+=5; 
                           aa[i]%=10; 
                           } 
                          for(i=0;i<=3/2;i++) 
                           {t=aa[i]; 
                           aa[i]=aa[3-i]; 
                           aa[3-i]=t; 
                           } 
                          for(i=3;i>=0;i--) 
                          printf("%d",aa[i]); 
                          }


                          78楼2007-01-09 19:24
                          回复
                            【程序90】 
                            题目:专升本一题,读结果。 
                            1.程序分析: 
                            2.程序源代码: 
                            #include "stdio.h" 
                            #define M 5 
                            main() 
                            {int a[M]={1,2,3,4,5}; 
                            int i,j,t; 
                            i=0;j=M-1; 
                            while(i {t=*(a+i); 
                            *(a+i)=*(a+j); 
                            *(a+j)=t; 
                            i++;j--; 

                            for(i=0;i printf("%d",*(a+i)); 
                            }


                            79楼2007-01-09 19:24
                            回复
                              【程序91】 
                              题目:时间函数举例1 
                              1.程序分析: 
                              2.程序源代码: 
                              #include "stdio.h" 
                              #include "time.h" 
                              void main() 
                              { time_t lt; /*define a longint time varible*/ 
                              lt=time(NULL);/*system time and date*/ 
                              printf(ctime(<)); /*english format output*/ 
                              printf(asctime(localtime(<)));/*tranfer to tm*/ 
                              printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/ 
                              }


                              80楼2007-01-09 19:24
                              回复