C Primer Plus 第六章 编程练习题

/** C Primer Plus 第六章 编程练习**/
#include <stdio.h>
#include <string.h>

void test1();
void test2();
void test3();
void test4();
void test5(); 
void test6();
void test7(); 
void test10();
void test11();
void test14();
void test15();
void test16(); 
void test17(); 
void test18();


int main() {
	test1();
	printf("\n");
	test2();
	printf("\n");
	test3();
	printf("\n");
	test4(); 
	printf("\n");
	test5();
	printf("\n");
	test6();
	printf("\n");
	test7();
	printf("\n");
	test10();
	printf("\n");
	test11();
	printf("\n");
	test14();
	printf("\n");
	test15();
	printf("\n");
	test16();
	printf("\n");
	test17();
	printf("\n");
	test18();
	
		
}

void test1(){
	char ch[26];
	int i;
	for(i=0;i<26;i++){
		ch[i]='a'+i;
	}
	for(i=0;i<26;i++)
	printf("%-2c",ch[i]);
}

void test2(){
	int i,j;
	for(i=0;i<5;i++){
		for(j=0;j<=i;j++){
			printf("$");
		}
		printf("\n");
	}
}

void test3(){
	int i,j;
	char c='F';
	for(i=0;i<6;i++){
		for(j=0;j<=i;j++){
			printf("%c",c-j);
		}
		printf("\n");
	}
}
void test4(){
	int count=0;
	int i,j;
	for(i=0;i<6;i++){
		for(j=0;j<=i;j++){
			printf("%c",'A'+count);
			count++;
		}
		printf("\n");
	}
}
void test5(){
	char c;
	printf("Plase enter one big char\n"); 
	scanf("%c",&c);
	char index;
	for(index='A';index<=c;index++){
		char j,k,l;
		for(j=c;j>index;j--){
			printf(" "); 
		}
		for(k='A';k<=index;k++){
			printf("%c",k);
		}
		for(l=index-1;l>='A';l--){
			printf("%c",l);
		}
		printf("\n");
	}
}
void test6(){
	int count,i;
	printf("Plase enter one number\n");
	scanf("%d",&count);
	printf("%-10s %-10s %-10s\n","数字","平方","立方");
	for(i=0;i<=count;i++){
		printf("%-10d %-10d %-10d\n",i,i*i,i*i*i);
	}
}
void test7(){	 
	char chars[100];
	printf("请输入一个单词:\n");
	scanf("%s",chars);
	int i;
	//倒序输出字符串 
	for(i=strlen(chars);i>=0;i--){
		printf("%c",chars[i]);
	}
}

void test10(){
	int lower,upper;
	printf("Enter lower and upper integer limits:");
	scanf("%d %d",&lower,&upper);
	while(upper>lower){
		int i;
		int sum=0;
		int num1sq=0;
		int numNsq=0;
		for(i=lower;i<=upper;i++){
			int squar=i*i;
			if(i==lower){
				num1sq=squar;
			}
			if(i==upper){
				numNsq=squar;
			}
			sum+=squar;
		}
		printf("The sums of the  squares from %d to %d is %d\n",num1sq,numNsq,sum);	
		printf("Enter next set of limits :");
		scanf("%d %d",&lower,&upper);						
	}
	printf("Done");

}
void test11(){
	printf("Enter ten nums:");
	int nums[10];
	int i;
	for(i=0;i<10;i++)
		scanf("%d",&nums[i]);
		
	for(i=9;i>=0;i--)
		printf("%d ",nums[i]);
}
void test14(){
	printf("Enter eight nums:");
	int nums1[8];
	int nums2[8];
	int i;
	int sum=0;
	for(i=0;i<8;i++){
		scanf("%d",&nums1[i]);
		sum+=nums1[i];
		nums2[i]=sum;
	}
	for(i=0;i<8;i++)
		printf("%10d",nums1[i]);
		printf("\n");
	for(i=0;i<8;i++)
		printf("%10d",nums2[i]);		

		
}

void test15(){
	printf("Enter line chars:\n");
	char chars[255];
    scanf("%[^\n]", &chars);
	int i;
	for(i=strlen(chars);i>=0;i--)
		printf("%c",chars[i]);
	}

void test16(){
	int year;
	double DaphneMoney=100.00;
	double DeirdreMoney=100.00;
	while(DeirdreMoney<=DaphneMoney){
		year++;
		DaphneMoney+=100.00*0.1;
		DeirdreMoney+=DeirdreMoney*0.05;
		printf("第%d 年,DaphneMoney=%f,DeirdreMoney=%f\n",year,DaphneMoney,DeirdreMoney);
	}
	printf("%d 年后Deirdre的投资超过DaphneMoney。Deirdre=%f,DaphneMoney=%f\n",year,DeirdreMoney,DaphneMoney);
}

void test17(){
	double count=100.00;
	int year=0;
	while(count>=0.00){
		year++;		
		count+=count*0.08;
		count-=10;
		printf("%f\n",count);
	}
	printf("%d年后取完账户的钱\n",year);
}

void test18(){
	int sum=5;
	int i;
	for(i=1;sum<=150;i++){
		sum-=i;//第一周少一个,第二周少两个。第N周少N个。 
		sum*=2;//剩下的数量翻倍
		printf("第%d周的朋友数量%d\n",i,sum);
	}
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值