啊哈!C语言课后参考答案上

最近看到一本好评量很高的的C语言入门书,课本真的很好,入门的话。专业性没有那么强,但入门足够了!!好评!看着看着就想把这本书的题课后习题都写出来,最后就有了这个小结。可能有的不是最好,不那么专业,但主要是以初学者的思维角度去写。尽量让初学者通俗易懂。
链接:https://pan.baidu.com/s/1nArPBm8nxCrj8awWQBglSw
提取码:zlm8
链接:https://pan.baidu.com/s/1Yp4jGIwaput8WmrTyHKgMA
提取码:u85y
从第二章开始

第二章

//2.2节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("hi");
    system("pause");
    return 0;
}
//2题显示如下图形
*
**
***
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("*\n");
    printf("**\n");
    printf("***\n");
    system("pause");
    return 0;
}
  *
 * *
*   *
 * *
  * 
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("  *\n");
    printf(" * *\n");
    printf("*   *\n");
    printf(" * *\n");
    printf("  *\n");
    
    system("pause");
    return 0;
}  
        *
       *
      *
 *   *
  **
   * 
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("       *\n");
    printf("      *\n");
    printf("     *\n");
    printf("*   *\n");
    printf(" **\n");
    printf("  *\n");
    system("pause");
    return 0;
}

//显示如下图形
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("A\n");
    printf("BC\n");
    printf("DEF\n");
    printf("GHIJ\n");
    printf("KLMNO\n");
    printf("PRSTUV\n");
    printf("W\n");
    printf("X\n");
    printf("Y\n");
    printf("Z\n");
    system("pause");
    return 0;
}
//打印一个小飞机(绿底白字)
#include <stdio.h>
#include <stdlib.h>
int main()
{
    system("color 2f");
    printf("      *\n");
    printf("      **\n");
    printf("*     ***\n");
    printf("**    ****\n");
    printf("***************\n");
    printf("**    ****\n");
    printf("*     ***\n");
    printf("      **\n");
    printf("      *\n");
    system("pause");
    return 0;
}
//打印一个小红旗(白底红字)
#include <stdio.h>
#include <stdlib.h>
int main()
{
    system("color f4");
    printf("A\n");
    printf("I*\n");
    printf("I**\n");
    printf("I***\n");
    printf("I****\n");
    printf("I*****\n");
    printf("I\n");
    printf("I\n");
    printf("I\n");
    printf("I\n");
    system("pause");
    return 0;
}
//第四节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b,c;
    a=5;
    b=3;
    c=1;
    printf("%d\n",a+b+c);
    system("pause");
    return 0;
}
//计算三个算式
//123456789+43214321
//7078*8712
//321*(123456+54321)

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b;
    a=123456789;
    b=43214321;
    printf("%d\n",a+b);
    int c,d;
    c=7078;
    d=8712;
    printf("%d\n",c*d);
    int e,f;
    e=321;
    f=123456+54321;
    printf("%d\n",e*f);
    system("pause");
    return 0;
}

//第五节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    float a,b,c;
    a=5.2;
    b=3.1;
    c=a+b;
    printf("%f\n",c);
    system("pause");
    return 0;
}
//计算下面三个式子
//1.2+2.3+3.4+4.5
//1.1*100
//10.1*(10*10)
#include <stdio.h>
#include <stdlib.h>
int main()
{
    float a,b,c;
    a=1.2+2.3;
    b=3.4+4.5;
    c=a+b;
    printf("%f\n",c);
    float d,e,f;
    d=1.1*100;
    printf("%f\n",d);
    e=10.1;
    f=10*10;
    printf("%f\n",e*f);
    system("pause");
    return 0;
}
//指定两个数,输出这两个数的和、差、积、商,例如,这两个数是9和3,输出他们的和、差、商、积
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a=9,b=3;
    printf("%d\n",a+b);
    printf("%d\n",a-b);
    printf("%d\n",a*b);
    printf("%d\n",a/b);
    system("pause");
    return 0;
}

第三章

//第二节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a<=100){
        printf("yes");
    }
    system("pause");
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a>0){
        printf("yes\n");
    }
    if(a<0){
        printf("no\n");
    }
    if(a==0){
        printf("0\n");
    }
    system("pause");
    return 0;
}
//第三节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a%7==0){
        printf("yes");
    }
    system("pause");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a%10==0){
        printf("yes");
    }
    if(a%10!=0){
        printf("no");
    }
    system("pause");
    return 0;
}
//第四节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a%10==7){
        printf("yes");
    }else{
        printf("no");
    }
    system("pause");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a>=1&&a<=9){
        printf("yes");
    }else{
        printf("no");
    }
    system("pause");
    return 0;
}
//第五节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a==b){
        printf("yes");
    }else{
        printf("no");
    }
    system("pause");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a%b==0){
        printf("yes");
    }else{
        printf("no");
    }
    system("pause");
    return 0;
}

//第六节
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a%7==0||a%10==7){
        printf("yes");
    }else{
        printf("no");
    }
    system("pause");
    return 0;
}

//1、从键盘任意读入3个整数,如何从中找出最小的一个?
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b,c,d;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b){
        d=b;
    }else{
        d=a;
    }
    if(d>c){
        d=c;
    }
    printf("%d",d);
    system("pause");
    return 0;
}
//2、从键盘任意读入4个整数,如何从中找出最大的一个?
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a, b, c, d, e;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    if(a > b) {
        e = a;
    }else{
        e = b;
    }
    if(e < c) {
        e = c;
    }
    if(e < d) {
        e = d;
    }
    printf("%d", e);
    system("pause");
    return 0;
}
//3、从键盘输入一个年份(整数),判断这个年份是否为闰年,是 则输出yes,不是则输出no。
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    scanf("%d", &a);
    if((a%4 == 0 && a%100 != 0) || a%400 == 0){
        printf("yes");
    }else{
        printf("no");
    }
    system("pause");
    return 0;
}
//第七节
 #include <stdio.h>    
 #include <stdlib.h>
 int main()    
 {        
    int  a;        
    scanf("%d", &a) ;        
    if (a%2==1){
        printf("%d ", a+1) ;          
        printf("%d ", a+2) ;          
        printf("%d ", a+3) ;        
    }else{          
        printf("%d ", a-1) ;          
        printf("%d ", a-2) ;          
        printf("%d ", a-3) ;        
    }
    system("pause");        
    return 0;    
 }

#include <stdio.h>
#include <stdlib.h>
int main() {
    int a, b, c, d, t;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    if(a > b) {
        t = a;
        a = b;
        b = t;
    }
    if(a > c) {
        t = a;
        a = c;
        c = t;
    }
    if(a > d) {
        t = a;
        a = d;
        d = t;
    }
    if(b > c) {
        t = b;
        b = c;
        c = t;
    }
    if(b > d) {
        t = b;
        b = d;
        d = t;
    }
    if(c > d) {
        t = c;
        c = d;
        d = t;
    }
    printf("%d %d %d %d", a, b, c, d);
    system("pause");
    return 0;
} 

第四章

//第一节
//一起来找茬 
while(1>0)
	printf("hello");

//更进一步,动手试一试 
while(1>0)
	printf("你好");
//第 2 节
//一起来找茬
int a;
a=100;
while(a<=200){
	printf("%d ",a);
	a=a+1;
}

//更进一步,动手试一试 
int a,b;
a=1;
while(a<=100){
	printf("%d ",a);
	a=a+1;
}
b=99;
while(b>=1){
	printf("%d ",b);
	b=b-1;
}
//第四节
//一起来找茬
int a,i;
a=1;
i=1;
while(i<=10)
{
a=a*i;
i=i+1;
}
printf("%d",a);

//更进一步,动手试一试 
//1. 求1~100所有偶数的和。
int a,i;
a=0;
i=1;
while(i<=100){
	if(i%2==0){
		a=a+i;
	}
	i=i+1;
}
printf("%d",a);

//2. 输入一个整数n(1<=n<=9),求n的阶乘 [1] 。
int n,a,i;
scanf("%d",&n);
a=1;
i=1;
while(i<=n){
	a=a*i;
	i=i+1;
}
printf("%d",a);
//第五节
//更进一步,动手试一试 
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
int main() {
    int a, i, j;
    a = 120;
    while(a >= 0) {
        system("cls");
        i = a/60;
        j = a%60;
        if(j/10 == 0) {
            printf("%d:0%d", i, j);
        }
        else
        {
            printf("%d:%d", i, j);
        }
        Sleep(1000);
        a = a-1;
    }
    system("pause");
    return 0;
}
//第六节
//更进一步,动手试一试
/*1.输入一个整数n(1<=n<=30),当输入的n值为3时,打印结果是:    
1 
2 2
3 3 3
当输入的n值为6时,打印结果是:    
1    
2 2    
3 3 3    
4 4 4 4    
5 5 5 5 5    
6 6 6 6 6 6*/

#include <stdio.h>
#include <stdlib.h>
int main() {
    int n, i, j;
    scanf("%d", &n);
    i = 1;
    while(i <= n) {
        j = 1;
        while(j <= i) {
            printf("%d ", i);
            j = j+1;
        }
        printf("\n");
        i = i+1;
    }
    system("pause");
    return 0;
}

/*2.输入一个整数n(1<=n<=30),当输入的n值为3时,打印结果是:    
1    
2 3    
4 5 6
当输入的n值为5时,打印结果是:    
1    
2 3    
4 5 6    
7 8 9 10    
11 12 13 14 15*/

#include <stdio.h>
#include <stdlib.h>
int main() {
    int n, i, j, k;
    scanf("%d", &n);
    k = 1;
    i = 1;
    while(i <= n) {
        j = 1;
        while(j <= i) {
            printf("%d ", k);
            k = k+1;
            j = j+1;
        }
        printf("\n");
        i = i+1;
    }
    system("pause");
    return 0;
}
//第八节
/*更进一步,动手试一试
55 个“OK ”
1+2+3+4+5+6+7+8+9+10=55
*/
//第九节
//类似于:从 1 打印到 100 和从 100 打印到 1。
#include <stdio.h>    
#include <stdlib.h>    
#include <windows.h>    
int main() {
    int a, b;
    a = 10;
    while(a >= 0) {
        system("cls");
        b = 1; 
        while(b <= a) {
            printf(" "); 
            b = b+1;
        }            
        printf(" O\n");
        b = 1; 
        while(b <= a) {
            printf(" "); 
            b = b+1;
        }            
        printf("<H>\n");
        b = 1; 
        while(b <= a) {
            printf(" "); 
            b = b+1;
        }
        printf("I I\n");
        Sleep(1000); 
        a = a-1;
    }        
    system("pause"); 
    return 0;
}
//第十节
//一起来找茬
#include <stdio.h>    
#include <stdlib.h>    
int main() {
    int i, sum;
    sum = 1;
    for(i = 1; i <= 10; i++) {
        sum = sum*i;
    }
    printf("%d", sum);      
    system("pause"); 
    return 0;
}
//更进一步,动手试一试
/*1、请尝试用for循环打印下面的图形。
            * 
          ***        
        *****      
      *******    
    *********      
  	  *******        
  	    *****          
  	      ***            
  	        *

*/
#include <stdio.h>    
#include <stdlib.h>    
int main() {
    int i, j, k, t;
    for(i = 1; i <= 5; i++) {
        for(j = 4; j >= i; j--) {
            printf(" ");
        }
        for(k = 1; k <= 2*i-1; k++) {
            printf("*");
        }
        printf("\n");
    }
    
    t = 7;
    for(i = 1; i <= 4; i++) {
        for(j = 1; j <= i; j++) {
            printf(" ");
        }
        for(k = 1; k <= t; k++) {
            printf("*");
        }
        t = t-2;
        printf("\n");
    }      
    system("pause"); 
    return 0;
}
/*2、请尝试用for循环来打印一个九九乘法表*/
#include <stdio.h>    
#include <stdlib.h>    
int main() {
   int i, j;
    for(i = 1; i <= 9; i++) {
        for(j = 1; j <= i; j++) {
            printf("%d*%d=%d ", i, j, i*j);
        }
        printf("\n");
    }      
    system("pause"); 
    return 0;
}
posted @ 2019-12-29 17:22  subeiLY  阅读(8743)  评论(4编辑  收藏  举报