谭浩强C语言第八章课后习题

1、输入三个整数,按照从小到大顺序输出

 1 #include<stdio.h>
 2 int main()
 3 {
 4     void swap(int *p1,int *p2);
 5     int n1,n2,n3;
 6     int *p1,*p2,*p3;
 7     printf("input three integer n1,n2,n2:");
 8     scanf("%d,%d,%d",&n1,&n2,&n3);
 9     p1=&n1;
10     p2=&n2;
11     p3=&n3;
12     if(n1>n2) swap(p1,p2);
13     if(n1>n3) swap(p1,p3);
14     if(n2>n3) swap(p2,p3);
15     printf("Now the order is:%d %d %d\n",n1,n2,n3);
16     return 0;
17 }
18 void swap(int *p1,int *p2)
19 {
20     int p;
21     p=*p1;
22     *p1=*p2;
23     *p2=p;
24 }

2、输入三个字符串,按照从小到大输出

#include<stdio.h>
#include<string.h>
#define M 100
int main()
{
    void swap(char *,char *);
    char str1[M],str2[M],str3[M];
    printf("input three line:\n");
    gets(str1);
    gets(str2);
    gets(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("Now the order is:\n");
    printf("%s,%s,%s\n",str1,str2,str3);
    return 0;
}
void swap(char *p1,char *p2)
{
    char p[M];
    strcpy(p,p1);
    strcpy(p1,p2);
    strcpy(p2,p);
}

3、

#include<stdio.h>
int main()
{
    void input(int *);
    void max_min_value(int *);
    void output(int *);
    int number[10];
    input(number);
    max_min_value(number);
    output(number);
    return 0;
}
void input(int *number)
{
    int i;
    printf("input 10 numbers:");
    for(i=0;i<10;i++)
        scanf("%d",&number[i]);
}
void max_min_value(int *number)
{
    int *max,*min,*p,temp;
    max=min=number;
    for(p=number+1;p<number+10;p++)
    {
        if(*p>*max)
            max=p;
        else if(*p<*min)
            min=p;
        temp=number[0];number[0]=*min;*min=temp;
        if(max=number)
            max=min;
        temp=number[9];number[9]=*max;*max=temp;
    }

}
    void output(int *number)
    {   int *p;
        printf("Now they are:");
            for(p=number;p<number+10;p++)
                printf("%d  ",*p);
            printf("\n");
    }

4、移动m个位置

#include<stdio.h>
int main()
{
    void move(int [20],int,int);
    int number[20],n,m,i;
    printf("how many numbers?");
    scanf("%d",&n);
    printf("input %d numbers:\n",n);
    for(i=0;i<n;i++)
        scanf("%d",&number[i]);
    printf("how many place you want move?");
    scanf("%d",&m);
    move(number,n,m);
    printf("now they are:\n");
    for(i=0;i<n;i++)
        printf("%d  ",number[i]);
    printf("\n");
    return 0;
}
void move(int array[20],int n,int m)
{
    int *p,array_end;
    array_end=*(array+n-1);
    for(p=array+n-1;p>array;p--)
        *p=*(p-1);
    *array=array_end;
    m--;
    if(m>0) move(array,n,m);
}

5、n个人围成一圈,顺序排号,从第一个人开始报数,凡是报到3的人出圈子,问最后留下来的是原来的第几号

#include<stdio.h>
int main()
{
    int i,k,m,n,num[50],*p;
    printf("\n input number of person: n=");
    scanf("%d",&n);
    p=num;
    for(i=0;i<n;i++)
        *(p+i)=i+1;      //从1到n编号
    i=0;                 //i为每次循环时计数变量
    k=0;                 //k为123报数时计数变量
    m=0;                 //m为退出人数
    while(m<n-1)
    {
        if(*(p+i)!=0) k++;
        if(k==3)
        {
            *(p+i)=0;
            k=0;
            m++;
        }
        i++;
        if(i==n) i=0;    //报数到尾后i恢复为0

    }
    while(*p==0) p++;
    printf("the last number is%d\n",*p);
    return 0;
}

6、写一个函数,求一个字符串长度。

#include<stdio.h>
int main()
{
    int length(char *p);
        int len;
    char str[20];
    printf("input string   :");
    scanf("%s",str);
    len=length(str);
    printf("the length of string is%d \n",len);
    return 0;
}
int length(char *p)
{
    int n;
    n=0;
    while(*p!=‘\0‘)
    {n++;
    p++;}
    return(n);
}

8、输入一行文字,找出其中大写字母小写字母、空格、数字、以及其他字符各有多少。

#include<stdio.h>
int main()
{
    int upper=0,lower=0,digit=0,space=0,other=0,i=0;
    char *p,s[20];
    printf("input string:  ");
    while((s[i]=getchar())!=‘\n‘) i++;
    p=&s[0];
    while(*p!=‘\n‘)
    {
        if((‘A‘<=*p)&&(*p<=‘Z‘))
            ++upper;
        else if((‘a‘<=*p)&&(*p<=‘z‘))
            ++lower;
        else if(*p==‘ ‘)
            ++space;
        else if((*p<=‘9‘)&&(*p>=‘0‘))
            ++digit;
        else
            ++other;
        p++;
    }
    printf("upper case :%d   lower case:%d",upper,lower);
    printf("  space:%d     digit:%d    other :%d\n",space,digit,other);
    return 0;
}

7、有一个字符串包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符。

#include<stdio.h>
#include<string.h>
int main()
{
    void copystr(char *,char *,int);
    int m;
    char str1[20],str2[20];
    printf("input string:");
    gets(str1);
    printf("which character that began to copy?:");
    scanf("%d",&m);
    if(strlen(str1)<m)
        printf("error:");
    else
    {
        copystr(str1,str2,m);
        printf("%s",str2);
    }
    return 0;
}
void copystr(char *p1,char *p2,int m)
{
    int n;
    n=0;
    while(n<m-1)
    {
        n++;
        p1++;
    }
    while(*p1!=‘\0‘)
    {
        *p2=*p1;
        p1++;
        p2++;
    }
*p2=‘\0‘;
}

9、写一个函数,将一个3*3矩阵转置

#include<stdio.h>
int main()
{
    void move(int *pointer);
    int a[3][3],*p,i;
    printf("input matrix:\n");
    for(i=0;i<3;i++)
        scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
    p=&a[0][0];
    move(p);
    printf("Now,matrix:\n");
    for(i=0;i<3;i++)
        printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
    return 0;
}
void move(int *pointer)
{
    int i,j,t;
    for(i=0;i<3;i++)
        for(j=i;j<3;j++)
        {
            t=*(pointer+i*3+j);
            *(pointer+i*3+j)=*(pointer+j*3+i);
            *(pointer+j*3+i)=t;
        }
}

11、在主函数输入10个等长字符串。用另一函数对他们排序,然后在主函数输出排序。

用字符型二维数组
#include<stdio.h>
#include<string.h>
int main()
{
    void sort(char s[][6]);
    int i;
    char str[10][6];
    printf("input 10 strings:\n");
    for(i=0;i<10;i++)
        scanf("%s",str[i]);
    sort(str);
    printf("now is:\n");
    for(i=0;i<10;i++)
        printf("%s\n",str[i]);
    return 0;
}
void sort(char s[10][6])
{
    int i,j;
    char *p,temp[10];
    p=temp;
    for(i=0;i<9;i++)
        for(j=0;j<9-i;j++)
        if(strcmp(s[j],s[j+1])>0)
        {
            strcpy(p,s[j]);
            strcpy(s[j],s[j+1]);
            strcpy(s[j+1],p);
        }
}
//用指向一位数组的指针作函数参数
#include<stdio.h>
#include<string.h>
int main()
{
    void sort(char(*p)[6]);
    int i;
    char str[10][6];
    char (*p)[6];
    printf("input 10 strings :\n");
    for(i=0;i<10;i++)
        scanf("%s",str[i]);
    p=str;
    sort(p);
    printf("now is:");
    for(i=0;i<10;i++)
        printf("%s\n",str[i]);
    return 0;
}
void sort(char(*s)[6])
{int i,j;
char temp[6],*t=temp;
 for(i=0;i<9;i++)
        for(j=0;j<9-i;j++)
        if(strcmp(s[j],s[j+1])>0)
        {
            strcpy(t,s[j]);
            strcpy(s[j],s[j+1]);
            strcpy(s[j+1],t);
        }
}

10、一个5*5的矩阵,排序,四个角从左至右从上到下依次从小到大中间放最大

#include<stdio.h>
int main()
{
    void change(int *p);
    int a[5][5],*p,i,j;
    printf("input matrix :\n");
    for(i=0;i<5;i++)
        for(j=0;j<5;j++)
            scanf("%d",&a[i][j]);
        p=&a[0][0];
        change(p);
        printf("Now is:\n");
        for(i=0;i<5;i++)
        {
            for(j=0;j<5;j++)
                printf("%d   ",a[i][j]);
            printf("\n");
        }
        return 0;
}
void change(int *p)
{
    int i,j,temp;
    int *pmax,*pmin;
    pmax=p;
    pmin=p;
    for(i=0;i<5;i++)
        for(j=0;j<5;j++)
        {
            if(*pmax<*(p+5*i+j)) pmax=p+5*i+j;
            if(*pmin>*(p+5*i+j)) pmin=p+5*i+j;
        }
        temp=*(p+12);
        *(p+12)=*pmax;
        *pmax=temp;
        temp=*p;
        *p=*pmin;
        *pmin=temp;
        pmin=p+1;
        for(i=0;i<5;i++)
            for(j=0;j<5;j++)
          if(((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j))) pmin=p+5*i+j;
            temp=*pmin;
            *pmin=*(p+4);
            *(p+4)=temp;
            pmin=p+1;
            for(i=0;i<5;i++)
                for(j=0;j<5;j++)
            if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&(*pmin>*(p+5*i+j))) pmin=p+5*i+j;
                    temp=*pmin;
                    *pmin=*(p+20);
                    *(p+20)=temp;
                    pmin=p+1;
                    for(i=0;i<5;i++)
                        for(j=0;j<5;j++)

                            if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&((p+5*i+j)!=(p+20))&&(*pmin>*(p+5*i+j))) pmin=p+5*i+j;
                            temp=*pmin;
                            *pmin=*(p+24);
                            *(p+24)=temp;
}

12、用指针数组处理11,字符串不等长。

#include<stdio.h>
#include<string.h>
int main()
{
    void sort(char *[]);
    int i;
    char *p[10],str[10][20];
    for(i=0;i<10;i++)
        p[i]=str[i];
    printf("input 10 strings:\n");
    for(i=0;i<10;i++)
        scanf("%s",p[i]);
    sort(p);
    printf("now is:");
    for(i=0;i<10;i++)
        printf("%s\n",p[i]);
    return 0;
}
void sort(char *s[])
{
    int i,j;
    char *temp;
    for(i=0;i<9;i++)
        for(j=0;j<9-i;j++)
            if(strcmp(*(s+j),*(s+j+1))>0)
            {
                temp=*(s+j);
                *(s+j)=*(s+j+1);
                    *(s+j+1)=temp;
            }
}

14、将n个数按输入时顺序的逆序排列。

#include<stdio.h>
int main()
{
    void sort(char *p,int m);
    int i,n;
    char *p,num[20];
    printf("input n:");
    scanf("%d",&n);
    printf("please input these numbers:");
    for(i=0;i<n;i++)
        scanf("%d",&num[i]);
    p=&num[0];
    sort(p,n);
    printf("now is");
    for(i=0;i<n;i++)
        printf("%d  ",num[i]);
    printf("\n");
    return 0;
}
void sort(char *p,int m)
{
    int i;
    char temp,*p1,*p2;
    for(i=0;i<m/2;i++)
    {
        p1=p+i;
        p2=p+(m-1-i);
        temp=*p1;
        *p1=*p2;
        *p2=temp;
    }
}

17、自己写一个strcmp函数,函数原型为strcmp(char *p1,char *p1)

#include<stdio.h>
int main()
{
    int strcmp(char *p1,char *p2);
    int m;
    char str1[20],str2[20],*p1,*p2;
    printf("input two strings:\n");
    scanf("%s",str1);
    scanf("%s",str2);
    p1=&str1[0];
    p2=&str2[0];
    m=strcmp(p1,p2);
    printf("result:%d,\n",m);
    return 0;
}
int strcmp(char *p1,char *p2)
{
    int i;
    i=0;
    while(*(p1+i)==*(p2+i))
        if(*(p1+i++)==‘\0‘) return 0;
        return(*(p1+i)-*(p2+i));
}

18、输入月份号,输出英文月名。指针数组处理。

#include<stdio.h>
int main()
{
    char *month[13]={"error","january","fabruary","march","april","may","june","july","august","september","october","november","december"};
    int n;
    printf("input:");
    scanf("%d",&n);
    if((n<=12)&&(n>=1))
        printf("it is %s.\n",*(month+n));
    else
        printf("wromg:\n");
    return 0;
}

20、用指向指针的指针对5个字符串进行排序并输出

#include<stdio.h>
#include<string.h>
#define LINEMAX 20
int main()
{
    void sort(char **p);
    int i;
    char **p,*pstr[5],str[5][LINEMAX];
    for(i=0;i<5;i++)
        pstr[i]=str[i];
    printf("input 5 strings:\n");
    for(i=0;i<5;i++)
        scanf("%s",pstr[i]);
    p=pstr;
    sort(p);
    printf("\nstrings sorted:\n");
    for(i=0;i<5;i++)
        printf("%s\n",pstr[i]);
    return 0;
}
void sort(char **p)
{
    int i,j;
    char *temp;
    for(i=0;i<5;i++)
    {    for(j=i+1;j<5;j++)
        {if(strcmp(*(p+i),*(p+j))>0)
        {
            temp=*(p+i);
            *(p+i)=*(p+j);
            *(p+j)=temp;
        }
        }
    }
}

21、用指向指针的指针对n个整数进行排序

#include<stdio.h>
int main()
{
    void sort(int **p,int n);
    int i,n,data[20],**p,*pstr[20];
    printf("input n:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
        pstr[i]=&data[i];
    printf("input %dnumbers:",n);
    for(i=0;i<n;i++)
        scanf("%d",psrr[i]);

 p=pstr;

sort(p,n);

printf("Now,the sequence is:\n");

for (i=0;i<n;i++)

printf("%d ",*pstr[i]);

printf("\n");

return 0;

}

void sort(int **p,int n)

{int i,j,*temp;

for (i=0;i<n-1;i++)

{for (j=i+1;j<n;j++)

{if (**(p+i)>**(p+j)) // 比较后交换整数地址

{temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

}

}

}

}

15、有一个班4个学生,5名学生。

求第一门课程的平均分。

找出两门以上课程不及格的学生。输出他们的学号及平均成绩。

找出平均成绩在九十分以上或者全部成绩在85分以上的学生。

#include<stdio.h>
int main()
{
    void avsco(float *,float *);
    void avcour1(char(*)[10],float*);
    void fali2(char course[5][10],int num[],float *pscore,float aver[4]);
    void good(char course[5][10],int num[4],float *pscore,float aver[4]);
    int i,j,*pnum,num[4];
    float score[4][5],aver[4],*pscore,*paver;
    char course[5][10],(*pcourse)[10];
    printf("input course:\n");
    pcourse=course;
    for(i=0;i<5;i++)
        scanf("%s",course[i]);
    printf("input NO. and scores:\n");
    printf("NO.");
    for(i=0;i<5;i++)
    printf(",%s",course[i]);
        printf("\n");
    pscore=&score[0][0];
    pnum=&num[0];
    for(i=0;i<4;i++)
    {
        scanf("%d",pnum+i);
            for(j=0;j<5;j++)
                scanf("%f",pscore+5*i+j);
    }
paver=&aver[0];
 printf("\n\n");
 avsco(pscore,paver); //  求出每个学生的平均成绩
 avcour1(pcourse,pscore); //  求出第一门课的平均成绩
 printf("\n\n");
 fali2(pcourse,pnum,pscore,paver); //  找出 2 门课不及格的学生
 printf("\n\n");
 good(pcourse,pnum,pscore,paver); //  找出成绩好的学生
 return 0;
}
void avsco(float *pscore,float *paver) //  求每个学生的平均成绩的函数
 {int i,j;
 float sum,average;
 for (i=0;i<4;i++)
 {sum=0.0;
 for (j=0;j<5;j++)
 sum=sum+(*(pscore+5*i+j)); // 累计每个学生的各科成绩
 average=sum/5; // 计算平均成绩
 *(paver+i)=average;
 }
}
void avcour1(char (*pcourse)[10],float *pscore) //  求第一课程的平均成绩的函数
 {int i;
 float sum,average1;
 sum=0.0;
 for (i=0;i<4;i++)
 sum=sum+(*(pscore+5*i)); // 累计每个学生的得分
 average1=sum/4; // 计算平均成绩
 printf("course 1:%s average score:%7.2f\n",*pcourse,average1);
}
void fali2(char course[5][10],int num[],float *pscore,float aver[4])
 //  找两门以上课程不及格的学生的函数
 {int i,j,k,labe1;
 printf(" ==========Student who is fail in two courses======= \n");
 printf("NO. ");
 for (i=0;i<5;i++)
 printf("%11s",course[i]);
 printf(" average\n");
 for (i=0;i<4;i++)
 {labe1=0;
 for (j=0;j<5;j++)
 if (*(pscore+5*i+j)<60.0) labe1++;
 if (labe1>=2)
 {printf("%d",num[i]);
 for (k=0;k<5;k++)
 printf("%11.2f",*(pscore+5*i+k));
 printf("%11.2f\n",aver[i]);
 }
 }
}
void good(char course[5][10],int num[4],float *pscore,float aver[4])
 //  找成绩优秀学生 ( 各门 85 以上或平均 90 分以上 ) 的函数
 {int i,j,k,n;
 printf(" ======Students whose score is good======\n");
 printf("NO. ");
 for (i=0;i<5;i++)
 printf("%11s",course[i]);
 printf(" average\n");
 for (i=0;i<4;i++)
 {n=0;
 for (j=0;j<5;j++)
 if (*(pscore+5*i+j)>85.0) n++;
 if ((n==5)||(aver[i]>=90))
 {printf("%d",num[i]);
 for (k=0;k<5;k++)
 printf("%11.2f",*(pscore+5*i+k));
 printf("%11.2f\n",aver[i]);
 }
 }
}
        

16、输入一个字符串,内有数字和非数字字符。例如

A123x456 1760?302tab5876

将其中连续的数字作为一个整数,依次存放到数组a中。统计宫有多少个整数,并输出

#include <stdio.h>
int main()
{
 char str[50],*pstr;
 int i,j,k,m,e10,digit,ndigit,a[10],*pa;
 printf("input a string:\n");
 gets(str);
 pstr=&str[0]; /* 字符指针 pstr 置于数组 str  首地址 */
 pa=&a[0]; /* 指针 pa 置于 a 数组首地址 */
 ndigit=0; /*ndigit 代表有多少个整数 */
 i=0; /* 代表字符串中的第几个字符 */
 j=0;
 while(*(pstr+i)!=‘\0‘)
 {if((*(pstr+i)>=‘0‘) && (*(pstr+i)<=‘9‘))
 j++;
 else
 {if (j>0)
 {digit=*(pstr+i-1)-48; /* 将个数位赋予 digit*/
 k=1;
 while (k<j) /* 将含有两位以上数的其它位的数值累计于 digit*/
 {e10=1;
 for (m=1;m<=k;m++)
 e10=e10*10; /*e10 代表该位数所应乘的因子 */
 digit=digit+(*(pstr+i-1-k)-48)*e10; /* 将该位数的数值 \ 累加于 digit*/
 k++; /* 位数 K 自增 */
 }
 *pa=digit; /* 将数值赋予数组 a*/
 ndigit++;
 pa++; /* 指针 pa 指向 a 数组下一元素 */
 j=0;
 }
 }
 i++;
 }
 if (j>0) /* 以数字结尾字符串的最后一个数据 */
 {digit=*(pstr+i-1)-48; /* 将个数位赋予 digit*/
 k=1;
 while (k<j) /*  将含有两位以上数的其它位的数值累加于 digit*/
 {e10=1;
 for (m=1;m<=k;m++)
 e10=e10*10; /*e10 代表位数所应乘的因子 */
 digit=digit+(*(pstr+i-1-k)-48)*e10; /* 将该位数的数值累加于 digit*/
 k++; /* 位数 K 自增 */
 }
 *pa=digit; /* 将数值赋予数组 a*/
 ndigit++;
 j=0;
 }
 printf("There are %d numbers in this line, they are:\n",ndigit);
 j=0;
 pa=&a[0];
 for (j=0;j<ndigit;j++) /* 打印数据 */
 printf("%d ",*(pa+j));
 printf("\n");
 return 0;
}

原文地址:https://www.cnblogs.com/1998wdq/p/11609817.html

时间: 2024-10-27 06:14:25

谭浩强C语言第八章课后习题的相关文章

谭浩强 c++程序设计第一章课后习题 第7题

#include <iostream> using namespace std; int main() { int a,b,c; int f(int x,int y,int z);//这是函数的声明 //cin sonsole控制台 cout<<"请输入三个整数类型的数字:" <<endl; cin>>a>>b>>c; c=f(a,b,c);//abc有具体值,称为实际参数 cout<<c<<

谭浩强 c++程序设计第一章课后习题 第10题

#include <iostream> using namespace std; int main() { int a,b,c; cout<<"请输入三个整数类型的数字:" <<endl; cin>>a>>b>>c; void sort(int x,int y,int z); sort(a,b,c);//abc有具体值,称为实际参数 return 0; } void sort(int x,int y,int z)/

读谭浩强C语言数据结构有感(1)

1.什么是数据结构? 数据结构,就是我们计算机内部的运算,编程语言的基础工作模式吧,个人总结的 = = !! 数据:说简单一点,就是计算机二进制机器码,然后通过一些复杂的操作,变为复杂的语言. 数据元素:数据有集合和元素的区别,集合里的个体就是数据元素,相对应的就是数据结构. 线性表: 说简单一点,就是线性存储结构,每个表中有大量的元素,这些元素在物理位置中都是连接起来的. 这些元素有直接前驱和直接后继.线性表的位置是相邻的. 比如,位置1,位置2,位置3......位置N. 还有一点,线性表的

关于c语言学习 谭浩强的书

2007-11-16 13:22:58|  分类: PROGRAMME |  标签: |举报 |字号大中小 订阅 广大有志于从事IT行业的同志们,在你们进入这一行之前千万请看这篇文章!太经典了!对你绝对有启发! 千万别买谭浩强和等级考试的书!!!!!! 整理别人的言论,请大家踊跃讨论!!!!!!!!!!!! 1:书皮上面有那么多的牛人题词,估计也许是自己的水平太低. 2:ANSI只给了两种方式:int main(void) {/*...*/}和 int main(int argc, char *

C语言学习笔记---谭浩强

前段时间有机会去面试了一次,真是备受“打击”(其实是启发),总的来说就是让我意识到了学习工具和学习技术的区别.所以最近在看一些数据结构和算法,操作系统,python中的并行编程与异步编程等东西.然而数据结构那些本来是在看python下的,但是python实在包装了太多的东西而大多的经典教材都是基于C语言的(自然是这样,C语言能够操作直接访问物理地址,能够进行位(bit)操作的特点就决定了.)所以就决定重新学一遍C语言,先重温下谭浩强老师的书籍记录下要点: 一:语言: 机器语言:计算机直接识别和接

为什么很多人吐槽谭浩强的C语言程序设计?

这个观点在网络上已经论战了很长时间,出现这种情况还是历史遗留问题,老谭出的C语言教材几乎是国内的第一版,由于中英翻译问题或者对编程文化理解的差异性导致出来的书多多少少存在一些纰漏.不能只是记住其缺点,老谭书最主要在那个年代起到了普及C语言的作用,这已经足够了,如同做一个产品,首先解决的是有没有问题,最后才是细节完善阶段.最后,如果大家如果在自学遇到困难,想找一个C++的学习环境,可以加入我们的C++学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题. 为什么很多人吐槽谭浩强的C语言

c++面向对象程序设计 课后题 答案 谭浩强 第四章

c++面向对象程序设计课后题答案 谭浩强 第四章 1: #include <iostream> using namespace std; class Complex {public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} double get_real(); double get_imag(); void display(); private: double real; double imag;

【c语言】c程序设计--谭浩强--(第一章)

闲来无事把谭浩强的书里边的题敲了一遍,,纪念一哈,,纯手工 // 在屏幕上输出 This is a c program. #include <stdio.h> int main() { printf("This is a c program.\n"); return 0; } // 求两个整数之和 #include <stdio.h> int main() { int a,b,c; printf("请输入两个整数:\n"); scanf(&q

千万别看谭浩强的书!!!!

广大有志于从事IT行业的同志们,在你们进入这一行之前千万请看这篇文章!太经典了!对你绝对有启发! 千万别买谭浩强和等级考试的书!!!!!! 整理别人的言论,请大家踊跃讨论!!!!!!!!!!!! 1:书皮上面有那么多的牛人题词,估计也许是自己的水平太低. 2:ANSI只给了两种方式:int main(void) {/*...*/}和 int main(int argc, char *argv[]){/*...*/}其它的形式都是不标准的,属未定义行为,老潭就好这个. 3: 如果你有兴趣,不妨查查