/** 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);
}
}
C Primer Plus 第六章 编程练习题
最新推荐文章于 2022-09-28 08:00:00 发布