明解C语言(入门篇)第四章

练习4-2

#include<stdio.h>

int main(void)
{   
    int a,b,n,m;
    int sum = 0;
    printf("请输入两个整数:\n");
    printf("整数a:");scanf("%d",&a);
	printf("整数b:");scanf("%d",&b);
	if (a > b){
		n = b;
		do{
			sum = n+sum; 
			n++;
		}while(n<=a);
		printf("大于等于%d小于等于%d的所有整数的和是%d。",b,a,sum);
	}		
	else{
		n = a;
		do{
			sum = n+sum;
			n++; 
		}while(n<=b);
		printf("大于等于%d小于等于%d的所有整数的和是%d。",a,b,sum);	
	}			
    return 0;
}

练习4-6

#include<stdio.h>

int main(void)
{   
	int no;
	
	printf("请输入一个整数:");
	scanf("%d",&no);
	
	int i = 2;
	while(i<no){
		if(i%2==0){
			printf("%d ",i);
		}
		
		i+=2;
	}
	
    return 0;
}

练习4-7

#include<stdio.h>

int main(void)
{   
	int no;
	
	printf("请输入一个正整数:");
	scanf("%d",&no);
	
	int i = 2;
	while(i<no){
		printf("%d ",i);
		i *=2;
	}
	
    return 0;
}

练习4-9

#include<stdio.h>

int main(void)
{   
	int no;
	
	printf("正整数:");
	scanf("%d",&no);
	
	int i = 1;
	while(i<=no){
		if(i%2==0){
			printf("-");
		}
		else{
			printf("+");
		}
		i+=1;
	}
	
    return 0;
}

练习4-10

#include<stdio.h>

int main(void)
{   
	int no;
	
	printf("正整数:");
	scanf("%d",&no);
	
	int i = 0;
	while(i<no){
		printf("*\n");
		printf("\n");
		i+=1;
	}
	
    return 0;
}

练习4-11

#include<stdio.h>

int main(void)
{   
	int no;
	
	do{
		printf("请输入一个正整数:");
		scanf("%d",&no);
		if (no <= 0){
			puts("\a请不要输入非正整数。");
		} 
	}while(no <= 0);
	
	printf("%d逆向显示的结果是",no);
	while(no > 0){
		printf("%d",no%10);
		no /= 10;
	} 
    puts("。");
	return 0;
    
}

练习4-12

#include<stdio.h>

int main(void)
{   
	int no;
	
	do{
		printf("请输入一个正整数:");
		scanf("%d",&no);
		if (no <= 0){
			puts("\a请不要输入非正整数。");
		} 
	}while(no <= 0);
	printf("%d的位数是",no);	
	int i = 0;
	while(no > 0){
		no /= 10;
		i += 1;
		
	} 
	printf("%d",i);
    puts("。");
	return 0;
    
}

练习4-13

#include<stdio.h>

int main(void)
{   
	int i,n,sum;
	printf("n的值:");
	scanf("%d",&i); 
	sum = 0;
	n = i;
	while(i>0){
		sum+=i;
		i--;
	}
	printf("1到%d的和为%d",n,sum);	
	return 0;
    
}

练习4-14

#include <stdio.h>
 
int main(void)
{
	int a, b;
	
	printf("请输入一个整数:");
	scanf("%d",&a);
	
	for(b = 1; b <= a; b++)
		printf("%d",b%10);
	
	return 0;
} 

练习4-16

#include <stdio.h>
 
int main(void)
{
	int a, b;
	
	printf("整数值:");
	scanf("%d",&a);
	
	for(b = 1; b <= a; b++){
		if(b%2)
			printf("%d ",b);

	}

		return 0;
}

练习4-17

#include <stdio.h>
 
int main(void)
{
	int a, b;
	printf("n的值:");
	scanf("%d",&a);
	for(b = 1; b <= a; b++){
		printf("%d的二次方是%d\n",b,b*b);
	}
	return 0;
} 

练习4-18

#include <stdio.h>
 
int main(void)
{
	int a, b;
	printf("显示多少个*:");
	scanf("%d",&a);
	for(b=1;b<=a/5;b++){
		printf("*****\n");
	}
	for(b=1;b<=a%5;b++){
		printf("*");
	}
	return 0;
} 

练习4-20

#include <stdio.h>
 
int main(void)
{
	int a, b, n;
	a = 2;
	do{
		printf("  |  1  2  3  4  5  6  7  8  9\n");
		printf("------------------------------\n");
	}while(a==1);
	for(b=1;b<=9;b++){
		printf("%d |",b);
		for(n=1;n<=9;n++){
			printf("%3d",n*b);
		}
		printf("\n");
	}		
	return 0;
} 

练习4-21

#include <stdio.h>
 
int main(void)
{
	int a, b, n;
	printf("生成一个正方形\n");
	printf("正方形有几层:"); 
	scanf("%d",&a);
	for(b=1;b<=a;b++){
		for(n=1;n<=a;n++){
			printf("*");
		}
		printf("\n");
	}
	return 0;
} 

练习4-22

#include <stdio.h>
 
int main(void)
{
	int i, j;
	int a, b;
	
	printf("让我们来画一个长方形。\n");
	printf("一边:");   scanf("%d",&a);
	printf("另一边:");   scanf("%d",&b);
	if(b > a){
		for(i = 1; i <= a; i++ ){
			for(j = 1; j <= b; j++){
				printf("*");
			}
			printf("\n"); 
		}
	}
	else{
		for(i = 1; i <= b; i++ ){
			for(j = 1; j <= a; j++){
				printf("*");
			}
			printf("\n"); 
		}		
	}
	return 0;
} 

练习4-23(1)

#include <stdio.h>
 
int main(void)
{
	int i, j, len, a;
	printf("生成直角在左上方的等腰直角三角形。\n");
	printf("短边:");
	scanf("%d",&len);
	a = len;
	for(i=1;i<=len;i++){
		for(j=a;j>=1;j--){
			printf("*");
		}
		printf("\n"); 
		a--;
	} 
	return 0;
} 

练习4-23(2)

#include <stdio.h>
 
int main(void)
{
	int i, j, len, a;
	printf("生成直角在右上方的等腰直角三角形。\n");
	printf("短边:");
	scanf("%d",&len);
	a = len;
	for(i=0;i<len;i++){
		for(j=a;j<=len-1;j++){
			printf(" ");
		} 
		for(j=a;j>=1;j--){
			printf("*");
		}
		
		printf("\n"); 
		a--;
	} 
	return 0;
} 

练习4-24

/*---输入一个整数,显示出输入整数层的金字塔形状---*/
 
#include <stdio.h>
 
int main(void)
{
	int a, b, c;
	
	puts("让我们来画个金字塔。");
	printf("金字塔有几层:");	scanf("%d",&a);
	
	for(b = 1; b <= a; b++){
		for (c = 0; c < a - b; c++)
			printf(" ");
		for (c = 0; c < (2*b - 1); c++)
			printf("*");
		printf("\n");
	}
	
	return 0;
 } 

练习4-25

#include <stdio.h>
 
int main (void)
{
	int a, b, c, d;
	
	puts("让我们来画一个向下的金字塔。");
	printf("金字塔有几层:");	scanf("%d",&a);
	
	d = a;
	for(b = 1; b <= a; b++){
		for (c = 0; c < b; c++){
			printf(" ");
		}
		for (c = 0; c < 2*d-1; c++ ){
			printf("%d",b);
		}
		d--;
		printf("\n");			
	}
 } 
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值