精华内容
下载资源
问答
  • c语言编程经典例题

    2012-03-03 00:03:04
    c语言经典例子 对于基础不是很好的人十分实用
  • C语言编程经典例题

    2017-03-19 15:03:00
    【程序76】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)1.程序分析:2.程序源代码:#include "stdio.h"main(){float peven(),podd(),...

    【程序76
    题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数
       1/1+1/3+...+1/n(利用指针函数)
    1.
    程序分析:
    2.
    程序源代码:
    #include "stdio.h"
    main()
    {
    float peven(),podd(),dcall();
    float sum;
    int n;
    while (1)
    {
     scanf("%d",&n);
     if(n1)
      break;
    }
    if(n%2==0)
    {
     printf("Even=");
     sum=dcall(peven,n);
    }
    else
    {
     printf("Odd=");
     sum=dcall(podd,n);
    }
    printf("%f",sum);
    }
    float peven(int n)
    {
    float s;
    int i;
    s=1;
    for(i=2;i
    =n;i+=2)
     s+=1/(float)i;
    return(s);
    }
    float podd(n)
    int n;
    {
    float s;
    int i;
    s=0;
    for(i=1;i
    =n;i+=2)
     s+=1/(float)i;
    return(s);
    }
    float dcall(fp,n)
    float (*fp)();
    int n;
    {
    float s;
    s=(*fp)(n);
    return(s);
    }
    【程序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);
    }
    }
    【程序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);
    }
    【程序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);
    }
    【程序80
    题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只
       猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
       一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,
       问海滩上原来最少有多少个桃子?
    1.
    程序分析:
    2.
    程序源代码:
    main()
    {int i,m,j,k,count;
    for(i=4;i
    10000;i+=4)
    { count=0;
    m=i;
    for(k=0;k
    5;k++)
    {
     j=i/4*5+1;
     i=j;
     if(j%4==0)
      count++;
     else
      break;
    }
     i=m;
     if(count==4)
     {printf("%d\n",count);
      break;}
    }
    }

    【程序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*i100&&9*i=100)
    output(b,i); }
    }
    【程序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);
    }
    【程序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);
    }
    【程序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);
    }
    }
    【程序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);
    }
    【程序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!='\0'&&b[j]!='\0')
    {if (a { c[k]=a;i++;}
    else
    c[k]=b[j++];
    k++;
    }
    c[k]='\0';
    if(a=='\0')
    p=b+j;
    else
    p=a+i;
    strcat(c,p);
    puts(c);
    }
    【程序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';
    }
    【程序88
    题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
    1.
    程序分析:
    2.
    程序源代码:
    main()
    {int i,a,n=1;
    while(n
    =7)
    { do {
       scanf("%d",&a);
       }while(a1||a50);
    for(i=1;i
    =a;i++)
     printf("*");
    printf("\n");
    n++;}
    getch();
    }
    【程序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+=5;
     aa%=10;
     }
    for(i=0;i
    =3/2;i++)
     {t=aa;
     aa=aa[3-i];
     aa[3-i]=t;
     }
    for(i=3;i
    =0;i--)
    printf("%d",aa);
    }

    【程序90
    题目:专升本一题,读结果。
    1.
    程序分析:
    2.
    程序源代码:
    #include "stdio.h"
    #define M 5
    main()
    {int a

    ={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));
    }

    【程序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*/
    }
    【程序92
    题目:时间函数举例2
    1.
    程序分析:           
    2.
    程序源代码:
    /*calculate time*/
    #include "time.h"
    #include "stdio.h"
    main()
    { time_t start,end;
    int i;
    start=time(NULL);
    for(i=0;i
    3000;i++)
    { printf("\1\1\1\1\1\1\1\1\1\1\n");}
    end=time(NULL);
    printf("\1: The different is %6.3f\n",difftime(end,start));
    }
    【程序93
    题目:时间函数举例3
    1.
    程序分析:
    2.
    程序源代码:
    /*calculate time*/
    #include "time.h"
    #include "stdio.h"
    main()
    { clock_t start,end;
    int i;
    double var;
    start=clock();
    for(i=0;i
    10000;i++)
    { printf("\1\1\1\1\1\1\1\1\1\1\n");}
    end=clock();
    printf("\1: The different is %6.3f\n",(double)(end-start));
    }

    【程序94
    题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
    1.
    程序分析:
    2.
    程序源代码:
    #include "time.h"
    #include "stdlib.h"
    #include "stdio.h"
    main()
    {char c;
    clock_t start,end;
    time_t a,b;
    double var;
    int i,guess;
    srand(time(NULL));
    printf("do you want to play it.('y' or 'n') \n");
    loop:
    while((c=getchar())=='y')
    {
    i=rand()%100;
    printf("\nplease input number you guess:\n");
    start=clock();
    a=time(NULL);
    scanf("%d",&guess);
    while(guess!=i)
    {if(guess
    i)
    {printf("please input a little smaller.\n");
    scanf("%d",&guess);}
    else
    {printf("please input a little bigger.\n");
    scanf("%d",&guess);}
    }
    end=clock();
    b=time(NULL);
    printf("\1: It took you %6.3f seconds\n",var=(double)(end-start)/18.2);
    printf("\1: it took you %6.3f seconds\n\n",difftime(b,a));
    if(var
    15)
    printf("\1\1 You are very clever! \1\1\n\n");
    else if(var
    25)
    printf("\1\1 you are normal! \1\1\n\n");
    else
    printf("\1\1 you are stupid! \1\1\n\n");
    printf("\1\1 Congradulations \1\1\n\n");
    printf("The number you guess is %d",i);
    }
    printf("\ndo you want to try it again?(\"yy\".or.\"n\")\n");
    if((c=getch())=='y')
    goto loop;
    }
    【程序95
    题目:家庭财务管理小程序
    1.
    程序分析:
    2.
    程序源代码:
    /*money management system*/
    #include "stdio.h"
    #include "dos.h"
    main()
    {
    FILE *fp;
    struct date d;
    float sum,chm=0.0;
    int len,i,j=0;
    int c;
    char ch[4]="",ch1[16]="",chtime[12]="",chshop[16],chmoney[8];
    pp: clrscr();
    sum=0.0;
    gotoxy(1,1);printf("|---------------------------------------------------------------------------|");
    gotoxy(1,2);printf("| money management system(C1.0) 2000.03 |");
    gotoxy(1,3);printf("|---------------------------------------------------------------------------|");
    gotoxy(1,4);printf("| -- money records -- | -- today cost list -- |");
    gotoxy(1,5);printf("| ------------------------ |-------------------------------------|");
    gotoxy(1,6);printf("| date: -------------- | |");
    gotoxy(1,7);printf("| | | | |");
    gotoxy(1,8);printf("| -------------- | |");
    gotoxy(1,9);printf("| thgs: ------------------ | |");
    gotoxy(1,10);printf("| | | | |");
    gotoxy(1,11);printf("| ------------------ | |");
    gotoxy(1,12);printf("| cost: ---------- | |");
    gotoxy(1,13);printf("| | | | |");
    gotoxy(1,14);printf("| ---------- | |");
    gotoxy(1,15);printf("| | |");
    gotoxy(1,16);printf("| | |");
    gotoxy(1,17);printf("| | |");
    gotoxy(1,18);printf("| | |");
    gotoxy(1,19);printf("| | |");
    gotoxy(1,20);printf("| | |");
    gotoxy(1,21);printf("| | |");
    gotoxy(1,22);printf("| | |");
    gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
    i=0;
    getdate(&d);
    sprintf(chtime,"%4d.%02d.%02d",d.da_year,d.da_mon,d.da_day);
    for(;;)
    {
    gotoxy(3,24);printf(" Tab __browse cost list Esc __quit");
    gotoxy(13,10);printf(" ");
    gotoxy(13,13);printf(" ");
    gotoxy(13,7);printf("%s",chtime);
    j=18;
    ch[0]=getch();
    if(ch[0]==27)
    break;
    strcpy(chshop,"");
    strcpy(chmoney,"");
    if(ch[0]==9)
    {
    mm:i=0;
    fp=fopen("home.dat","r+");
    gotoxy(3,24);printf(" ");
    gotoxy(6,4);printf(" list records ");
    gotoxy(1,5);printf("|-------------------------------------|");
    gotoxy(41,4);printf(" ");
    gotoxy(41,5);printf(" |");
    while(fscanf(fp,"%10s%14s%f\n",chtime,chshop,&chm)!=EOF)
    { if(i==36)
    { getch();
    i=0;}
    if ((i%36)
    17)
    { gotoxy(4,6+i);
    printf(" ");
    gotoxy(4,6+i);}
    else
    if((i%36)
    16)
    { gotoxy(41,4+i-17);
    printf(" ");
    gotoxy(42,4+i-17);}
    i++;
    sum=sum+chm;
    printf("%10s %-14s %6.1f\n",chtime,chshop,chm);}
    gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
    gotoxy(1,24);printf("| |");
    gotoxy(1,25);printf("|---------------------------------------------------------------------------|");
    gotoxy(10,24);printf("total is %8.1f$",sum);
    fclose(fp);
    gotoxy(49,24);printf("press any key to.....");getch();goto pp;
    }
    else
    {
    while(ch[0]!='\r')
    { if(j
    10)
    { strncat(chtime,ch,1);
    j++;}
    if(ch[0]==8)
    {
    len=strlen(chtime)-1;
    if(j
    15)
    { len=len+1; j=11;}
    strcpy(ch1,"");
    j=j-2;
    strncat(ch1,chtime,len);
    strcpy(chtime,"");
    strncat(chtime,ch1,len-1);
    gotoxy(13,7);printf(" ");}
    gotoxy(13,7);printf("%s",chtime);ch[0]=getch();
    if(ch[0]==9)
    goto mm;
    if(ch[0]==27)
    exit(1);
    }
    gotoxy(3,24);printf(" ");
    gotoxy(13,10);
    j=0;
    ch[0]=getch();
    while(ch[0]!='\r')
    { if (j
    14)
    { strncat(chshop,ch,1);
    j++;}
    if(ch[0]==8)
    { len=strlen(chshop)-1;
    strcpy(ch1,"");
    j=j-2;
    strncat(ch1,chshop,len);
    strcpy(chshop,"");
    strncat(chshop,ch1,len-1);
    gotoxy(13,10);printf(" ");}
    gotoxy(13,10);printf("%s",chshop);ch[0]=getch();}
    gotoxy(13,13);
    j=0;
    ch[0]=getch();
    while(ch[0]!='\r')
    { if (j
    6)
    { strncat(chmoney,ch,1);
    j++;}
    if(ch[0]==8)
    { len=strlen(chmoney)-1;
    strcpy(ch1,"");
    j=j-2;
    strncat(ch1,chmoney,len);
    strcpy(chmoney,"");
    strncat(chmoney,ch1,len-1);
    gotoxy(13,13);printf(" ");}
    gotoxy(13,13);printf("%s",chmoney);ch[0]=getch();}
    if((strlen(chshop)==0)||(strlen(chmoney)==0))
    continue;
    if((fp=fopen("home.dat","a+"))!=NULL);
    fprintf(fp,"%10s%14s%6s",chtime,chshop,chmoney);
    fputc('\n',fp);
    fclose(fp);
    i++;
    gotoxy(41,5+i);
    printf("%10s %-14s %-6s",chtime,chshop,chmoney);
    }}}

    【程序96
    题目:计算字符串中子串出现的次数
    1.
    程序分析:
    2.
    程序源代码:
    #include "string.h"
    #include "stdio.h"
    main()
    { char str1[20],str2[20],*p1,*p2;
    int sum=0;
    printf("please input two strings\n");
    scanf("%s%s",str1,str2);
    p1=str1;p2=str2;
    while(*p1!='\0')
    {
    if(*p1==*p2)
    {while(*p1==*p2&&*p2!='\0')
    {p1++;
    p2++;}
    }
    else
    p1++;
    if(*p2=='\0')
    sum++;
    p2=str2;
    }
    printf("%d",sum);
    getch();}

    【程序97
    题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
    1.
    程序分析:     
    2.
    程序源代码:
    #include "stdio.h"
    main()
    { FILE *fp;
    char ch,filename[10];
    scanf("%s",filename);
    if((fp=fopen(filename,"w"))==NULL)
    {printf("cannot open file\n");
    exit(0);}
    ch=getchar();
    ch=getchar();
    while(ch!='#')
    {fputc(ch,fp);putchar(ch);
    ch=getchar();
    }
    fclose(fp);
    }
    【程序98
    题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
       输入的字符串以!结束。
    1.
    程序分析:
    2.
    程序源代码:
    #include "stdio.h"
    main()
    {FILE *fp;
    char str[100],filename[10];
    int i=0;
    if((fp=fopen("test","w"))==NULL)
    { printf("cannot open the file\n");
    exit(0);}
    printf("please input a string:\n");
    gets(str);
    while(str!='!')
    { if(str
    ='a'&&str='z')
    str=str-32;
    fputc(str,fp);
    i++;}
    fclose(fp);
    fp=fopen("test","r");
    fgets(str,strlen(str)+1,fp);
    printf("%s\n",str);
    fclose(fp);
    }
    【程序99
    题目:有两个磁盘文件AB,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),
       输出到一个新文件C中。
    1.
    程序分析:
    2.
    程序源代码:
    #include "stdio.h"
    main()
    { FILE *fp;
    int i,j,n,ni;
    char c[160],t,ch;
    if((fp=fopen("A","r"))==NULL)
    {printf("file A cannot be opened\n");
    exit(0);}
    printf("\n A contents are :\n");
    for(i=0;(ch=fgetc(fp))!=EOF;i++)
    {c=ch;
    putchar(c);
    }
    fclose(fp);
    ni=i;
    if((fp=fopen("B","r"))==NULL)
    {printf("file B cannot be opened\n");
    exit(0);}
    printf("\n B contents are :\n");
    for(i=0;(ch=fgetc(fp))!=EOF;i++)
    {c=ch;
    putchar(c);
    }
    fclose(fp);
    n=i;
    for(i=0;i
    n;i++)
    for(j=i+1;j
    n;j++)
    if(c
    c[j])
    {t=c;c=c[j];c[j]=t;}
    printf("\n C file is:\n");
    fp=fopen("C","w");
    for(i=0;i
    n;i++)
    { putc(c,fp);
    putchar(c);
    }
    fclose(fp);
    }
    【程序100
    题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出
       平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
    1.
    程序分析:
    2.
    程序源代码:
    #include "stdio.h"
    struct student
    { char num[6];
    char name[8];
    int score[3];
    float avr;
    } stu[5];
    main()
    {int i,j,sum;
    FILE *fp;
    /*input*/
    for(i=0;i
    5;i++)
    { printf("\n please input No. %d score:\n",i);
    printf("stuNo:");
    scanf("%s",stu.num);
    printf("name:");
    scanf("%s",stu.name);
    sum=0;
    for(j=0;j
    3;j++)
    { printf("score %d.",j+1);
    scanf("%d",&stu.score[j]);
    sum+=stu.score[j];
    }
    stu.avr=sum/3.0;
    }
    fp=fopen("stud","w");
    for(i=0;i
    5;i++)
    if(fwrite(&stu,sizeof(struct student),1,fp)!=1)
    printf("file write error\n");
    fclose(fp);
    }

     

    转载于:https://www.cnblogs.com/anstoner/p/6580501.html

    展开全文
  • C语言编程经典例题...

    2018-04-09 21:37:43
    C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管...
  • C语言编程经典例题100

    2011-05-18 20:44:09
    经典C语言编程100题,适合初学者练习和学习。
  • c语言编写的经典例题,对初学者很有帮助,多记些例题,记得多了,学习起来就轻松了。
  • 这是大学C程序必做的题C语言编程经典100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组1.1.程序分析:可填...

    这是大学C程序必做的题

    C语言编程经典100例

    【程序1】

    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组1.1.程序分析:可填在百位、十位、个位的数字都是成所有的排列后再去掉不满足条件的排列。程序源代码:2.2.程序源代码:main(){

    inti,j,k;printf(“\n“);for(i=1;i〈5;i++)for(i=1;i〈

    〈5;j++)for(j=1;jfor(j=1;j〈

    〈5;k++)for(k=1;k(k=1;k〈{

    if(i!=k&&i!=j&&j!=k)

    同*/

    “%d,%d,%d\n“,i,j,k);printf(printf(“%d,%d,%d\n“}

    }

    ==========================================================

    确保i、j、k三位互不相/*/*确保

    /*以下为三重循环*/以下为三重循环*/

    展开全文
  • 方便大家打印使用,希望能为大家带来方便.
  • #include <stdio.h> int main() { float i,sum = 0 ; int j ; i = 100.0 ; for (j = 1 ; j <= 10 ; j++) { sum = sum + i ; // 十次落地,把十次向下运动的距离相加。......
    #include <stdio.h>
    int main()
    {
    	float i,sum = 0 ;
    
    	int j ; 
     
    	i = 100.0 ;
     
    	for (j = 1 ; j <= 10 ; j++)
    	{
    		sum = sum + i ;           // 十次落地,把十次向下运动的距离相加。
     
    		i = i / 2 ;
     
    		if(j <= 9)
    		{
    			sum = sum + i ;      // 十次落地,有九次向上运动的距离。把九次向上的距离相加。
    		}
     
    	}
     
    	printf("\n经过的总路程为%5.2lf\n\n",sum) ;
     
     
    	return 0 ;
    	
    }
    

    方法二:

    #include <stdio.h>
    int main()
    {
    	float i,j = 1,sum = 0 ;
     
    	i = 100.0 ;
     
    	while (j != 10)
    	{
    		sum = sum + i ;
    		
    		i = i / 2 ;
    
    		if (j <=10 )
    		{
    			sum = sum + i ;
    		}
    
    		j++;
     
    		
    	}
     
    	printf("\n经过的总路程为%5.2lf\n\n",sum) ;
     
     
    	return 0 ;
    	
    }
    

    方法三:

    #include <stdio.h>
    int main()
    {
    	float i,j = 1,sum = 0 ;
     
    	i = 100.0 ;
     
    	do {
    		sum = sum + i ;
     
    		i = i / 2 ;
    
    		if (j <= 9)
    		{
    			sum = sum + i ;
    		}
     
    		j++ ;
    		
    	} while(j != 10);
     
     
    	printf("\n经过的总路程为%5.2lf\n\n",sum) ;
     
     
    	return 0 ;
    	
    }
    

     

    总结:    方法一和二,三。逻辑上相同。

                  但不知道什么原因相差0.2,欢迎指出。

     

    展开全文
  • 大学C语言编程学习经典例题,有正确的编程程序可供初学者参考,对入门C语言这大有裨益。
  • c语言编程集锦(C语言经典例题): 爱因斯坦的思考题 二叉树算法集 分解质因数新解 简单弹力球游戏 连续的素数之和改进版 魔术师翻牌 石子归并问题 贪吃蛇游戏 图形编程上下选择键模板 万年历全集 循环队列的程序 一个...
  • 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去  掉不满足条件的排列。 ...
  • C语言编程例题

    2014-04-18 17:07:35
    此文档为C语言编程中经常遇到的的经典习题及例题,可帮助初学者更加系统地学习C语言,打好坚实的基础
  • C语言经典编程100例题

    2011-05-19 20:13:30
    这是word文档,里面有c语言经典编程100例。喜欢的下来看看吧。
  • 关于c编程技巧的495个经典例子 如果大家能够掌握其之思想技巧那就才基本没什么问题了 希望能够帮助大家
  • c语言编程例题

    2018-06-20 20:47:09
    涵盖面广,题例全面,收集经典900例变成案例,适合初学者,已压缩。
  • C语言实用经典例题100

    2010-11-28 20:40:11
    里面有一百多个程序编程题及参考程序,对循环.指针.数组.函数调用等都有很好的例子,可以举一反三...
  • 1,201603编程题 编函数fun()实现:移动一位数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p)的数组元素平移到数组的前面。 #include #include #define N 80 void fun (int *w, int p, int n) { int i,j...
    1,201603编程题
    编函数fun()实现:移动一位数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p<n-1)的数组元素平移到数组的前面。
    #include<stdio.h>
    #include<windows.h>
    #define N 80
    
    void fun (int *w, int p, int n)
    {
    	int i,j,t;
    	for(i=1;i<=p;i++)
    	{ 
                    t=w[0];
    		for(j=0;j<n-1;j++)
    		{
                       w[j]=w[j+1];
    		}
    		w[n-1]=w[0];
    	}
    }
    
    void main()
    {
    	int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    	int i,p,n=15;
    	printf("The original data:\n");
    	for(i=0;i<n;i++)
    	printf("%3d",a[i]);
    	printf("\n\nEnter p:");
    	scanf("%d",&p);
    	fun(a,p,n);
    	printf("\nThe data after moving:\n");
    	for(i=0;i<n;i++)
    	printf("%3d",a[i]);
    	printf("\n\n");
    	Sleep(5000);
    }
    2.201509编程题
    函数fun()实现:a,b为两位数,将a中的十位和个位数依次放在c的千位和十位,b的十位和个位数依次放在c的个位和百位。
    #include<stdio.h>
    #include<windows.h>
    void fun (int a,int b,long *c)
    {
    	*c=(a/10)*1000+(a%10)*10+(b/10)+(b%10)*100;
    }
    int main()
    {
    	int a,b;
    	long c;
    	printf("Input a,b:");
    	scanf("%d%d",&a,&b);
    	fun(a,b,&c);
    	printf("The result is: %ld",c);
    	Sleep(10000);
    	return 0;
    }
    3.201503编程题
    编写一个函数void fun(int tt[][],int pp[][]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放在pp所指向的一维数组中。
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #define M 3
    #define N 4
    
    void fun(int tt[M][N],int pp[N])
    {
    	int i,j,k;
    	for(i=0;i<N;i++);
    	{
    		for(j=0;j<M-1;j++)
    		{
    			if(tt[j][i]>=tt[j+1][i])
    			{
    				k=tt[j+1][i];
    				tt[j+1][i]=tt[j][i];
    				tt[j][i]=k;
    			}
    		}
    		pp[i]=tt[M-1][i];
    	}			
    }
    
    void main()
    {
    	int t[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}};
    	int p[N],i,j,k;
    	system("CLS");
    	printf("The oringinal data is:\n");
    	for(i=0;i<M;i++);
    	{
    		for(j=0;j<N;j++)
    			printf("%6d,",t[i][j]);
    		printf("\n");
    	}
    	fun(t,p);
    	printf("\nThe result is:  \n");
    	for(k=0;k<N;k++)
    		printf("%4d",p[k]);
    	printf("\n");
    }
    调试没错,生成的结果错误,原2维数组输出结果显现出错。等待解决。。。。。。。。。。
    4.(C语言经典一百例)
    有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    #include<stdio.h>
    
    int main()
    {
    	int i,j,k;
    	printf("\n");
    	for(i=1;i<5;i++) 
    	{ // 以下为三重循环
    		for(j=1;j<5;j++)
    		{
    			for (k=1;k<5;k++) 
    			{ // 确保i、j、k三位互不相同
    				if (i!=k&&i!=j&&j!=k)
    				{ 
    					printf("%d,%d,%d\n",i,j,k);
    				}
    			}
    		}
    	}
    	return 0;
    }
    5.
    企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数.
    #include<stdio.h>
    int main()
    {
    	double i;
    	double a1,a2,a4,a6,a10,a;
    	printf("你的净利润是:\n");
    	scanf("%lf",&i);
    	a1=100000*0.1;
    	a2=a1+100000*0.075;
    	a4=a2+200000*0.05;
    	a6=a4+200000*0.03;
    	a10=a6+400000*0.015;
    	if(i<=100000) {
    		a=i*0.1;
    	} else if(i<=200000) {
    		a=a1+(i-100000)*0.075;
    	} else if(i<=400000) {
    		a=a2+(i-200000)*0.05;
    	} else if(i<=600000) {
    		a=a4+(i-400000)*0.03;
    	} else if(i<=1000000) {
    		a=a6+(i-600000)*0.015;
    	} else if(i>1000000) {
    		a=a10+(i-1000000)*0.01;
    	}
    	printf("提成为:a=%lf",a);
    	printf("\n");
    	return 0;
    }
    6.一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
    #include<stdio.h>
    #include<math.h>
    
    int main ()
    {
    	long int i,x,y;
    	for(i=0;i<100000;i++)
    	{
    		x= sqrt(i+100);
    		y= sqrt(i+268);
    		if((x*x==i+100) && (y*y==i+268))
    		{
    			printf("\n%ld\n",i);
    		}
    	}
    	return 0;
    }
    编译出错,在math.h中sqrt定义是double  __cdecl sqrt(_In_ double _X);
    将x= sqrt(i+100),y= sqrt(i+268)中100改为100.0和268改为268.0。
    7。输入某年某月某日,判断这一天是这一年的第几天?
    #include<stdio.h>
    
    int main()
    {
    	int day,month,year,sum,leap;
    	printf("\n请输入年,月,日.格式为:年,月,日(2015,12,10)\n");
    	scanf("%d,%d,%d",&year,&month,&day);
    	switch(month)
    	{
            case 1:sum=0;break;
            case 2:sum=31;break;
            case 3:sum=59;break;
            case 4:sum=90;break;
            case 5:sum=120;break;
            case 6:sum=151;break;
            case 7:sum=181;break;
            case 8:sum=212;break;
            case 9:sum=243;break;
            case 10:sum=273;break;
            case 11:sum=304;break;
            case 12:sum=334;break;
            default:printf("data error");break;
    	}
    	sum=sum+day;
    	if(year%400==0 || (year%4==0 && year%100!=0))
    	{
    		leap=1;
    	}
    	else 
    	{
    		leap=0;
    	}
    	if(leap==1 && month>2)
    	{
    		sum=sum+1;
    	}
    	printf("这是这一年的第%d天。",sum);
    	printf("\n");
    	return 0;
    }
    8,输入三个整数x,y,z,请把这三个数由小到大输出
    #include<stdio.h>
    
    int main()
    {
    	int x,y,z,t;
    	printf("请输入三个数字:\n");
    	scanf("%d,%d,%d",&x,&y,&z);
    	if(x>y)
    	{
    		t=x;
    		x=y;
    		y=t;
    	}
    	if(x>z)
    	{
    		t=x;
    		x=z;
    		z=t;
    	}
    	if(y>z)
    	{
    		t=y;
    		y=z;
    		z=t;
    	}
    	printf("从小到大排序:%d,%d,%d\n",x,y,z);
    	return 0;
    }
    9,用*号输出字母C的图案
    #include<stdio.h>
    
    int main()
    {
    	printf("用*输出字母c!\n");
    	printf("****\n");
    	printf("*\n");
    	printf("*\n");
    	printf("****\n");
    	return 0;
    }
    10,输出特殊图案,请在c环境中运行
    
    
    #include<stdio.h>
    
    int main()
    {
        char a=176,b=219;
        printf("%c%c%c%c%c\n",b,a,a,a,b);
        printf("%c%c%c%c%c\n",a,b,a,b,a);
        printf("%c%c%c%c%c\n",a,a,b,a,a);
        printf("%c%c%c%c%c\n",a,b,a,b,a);
        printf("%c%c%c%c%c\n",b,a,a,a,b);
        return 0;
    }
    注意:
    字符共有256个。不同字符,图形不一样。
    VC6.0下出现中文乱码(原因+解决方法):
    176的16进制是B0,219的16进制是DB,0xB0DB是"佰"字的内码,所以输出的就是"佰"了。
    主要原因是文件信息的代码页不同,我们所使用的操作系统中文状态下的代码页,要显示扩展的ASCII码需要在437 OEM-美国这个下面显示,这样就可以显示出你所希望的。具体修改控制台的默认代码页步骤如下:
    1.点击运行界面左上角标题栏图标【c:\】,选择默认值一项
    2.修改默认代码页,936(ANSI/OEM-简体中文GBK)为437 OEM-美国
    3、关闭后重新运行一下即可
    11,输出9*9口诀
    
    #include<stdio.h>
    
    int main()
    {
        int i,j,result;
        printf("\n");
        for (i=1;i<10;i++)
        {
            for(j=1;j<10;j++)
            {
                result=i*j;
                printf("%d*%d=%-3d",i,j,result);
            }
        printf("\n"); 
        }
    }
    12,要求输出国际象棋棋盘
    
    #include<stdio.h>
    
    int main()
    {
        int i,j;
        for(i=0;i<8;i++)
        {
            for(j=0;j<8;j++)
                if((i+j)%2==0)
    	{
    	printf("%c%c",219,219);
    	}
            else
            {
    	  printf("  ");
    	}
            printf("\n");
        }
        return 0;
    }
    
    输出要按例10调试。
    13,打印楼梯,同时在楼梯上方打印两个笑脸
    #include<stdio.h>
    
    int main()
    {
        int i,j;
        printf("\1\1\n"); /*输出两个笑脸*/
        for(i=1;i<11;i++)
        {
            for(j=1;j<=i;j++)
                printf("%c%c",219,219);
            printf("\n");
        }
        return 0;
    }
    输出要按例10调试
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    


    展开全文
  • 很不错的。也包含了答案。适合考试,初学者的。
  • 内含100道从语言经典例题,囊括了C语言各个知识面,内容齐全,欢迎各位广大编程爱好者下载!
  • c语言编程经典百例

    2011-10-23 20:01:28
    很好的例题,有助于进一步 提高c语言,适合于在校大学生
  • 收集了100个c语言编的程序!帮助初学者学习c语言程序设计!
  • (2)如果学习过C语言,在学习其他高级编程语言时更加轻松。比如c++C#等。 (3)C的程序来运行效率更高,更快,程序可以很简洁。 (4)c语言网上资料很多,学习起来较为容易。 (5)找编程开发方面的工作时,C语言...
  • 里面包括:495个C语言问题 C和指针 C陷阱与缺陷 编程精粹(中文版) C语言经典例题100,大家一起学习吧
  • 帮助初学者了解c语言编程的基本思路,开阔眼界,扫清学上的障碍
  • C语言经典例题

    2014-12-17 22:21:45
    编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。 char str[] = "Duke is Duck Frank is handsome"; int length = 0;//存储当前单词的长度 int maxLength = 0;//存储最长单词...
  • C语言经典编程900列

    2010-04-25 16:48:06
    该内容是C语言编程经典的900道例题!很是经典的!
  • 经典C语言100例,是初学C语言的必备资料,这100个例题中包含了C语言各方面的知识,这100例收集自各大经典问题,掌了这100个例题可以说C语言就没有什么问题了 更多编程开发学习资料、实用工具、病毒防护、论文答辩请到...
  • 很多刚学编程的小伙伴们一拿到这道题是都觉得很简单,心想:这不就是循环嘛,goto跳转也能做嘛,很简单的嘛。当程序写出来跑测试的时候,大多数小伙伴都傻掉了,为什么结果会是0呢? 其实,这是大家忽略了一个...
  • 100个经典C语言例题

    2018-09-10 11:12:50
    C语言开发案例。帮助想要学习C语言编程的同学们。对考C语言也有帮助
  • C语言编程题精选

    2013-09-13 11:28:33
    关于c语言编程的一些题目,都是一些经典例题和面试题。

空空如也

空空如也

1 2 3 4 5
收藏数 81
精华内容 32
关键字:

c语言编程经典例题

c语言 订阅