《C语言程序设计现代方法:第2版 修订版》第七章课后编程题,水平有限,仅供参考。
7.2
#include <stdio.h>
int main (void)
{
int i,n;
printf("This program prints a table of squares.\n");
printf("Enter number of entries in table: ");
scanf("%d",&n);
getchar();
for (i = 1; i <=n ; i++) {
if(i%24==0){
printf("Press Enter to continue...");
while (getchar()!='\n');
}
printf("%10d%10d\n",i,i*i);
}
return 0;
}
//
// Created by Chen on 2022/6/11.
//
7.3
#include <stdio.h>
int main (void)
{
double n,sum=0;
printf("This program sums a series of integers.\n");
printf("Enter integers (0 to terminate): ");
scanf("%lf",&n);
while (n!=0)
{
sum+=n;
scanf("%lf",&n);
}
printf("The sum is: %lf\n",sum);
return 0;
}
//
// Created by Chen on 2022/6/11.
//
7.4
#include <stdio.h>
int main (void)
{
int ch;
printf("Enter phone number:");
while((ch=getchar())!='\n')
{
switch (ch){
case ('A'):case ('B'):case ('C'):
putchar('2');break;
case ('D'):case ('E'):case ('F'):
putchar('3');break;
case ('G'):case ('H'):case ('I'):
putchar('4');break;
case ('J'):case ('K'):case ('L'):
putchar('5');break;
case ('M'):case ('N'):case ('O'):
putchar('6');break;
case ('P'):case ('R'):case ('S'):
putchar('7');break;
case ('T'):case ('U'):case ('V'):
putchar('8');break;
case ('W'):case ('X'):case ('Y'):
putchar('9');break;
default:putchar(ch);
}
}
}
//
// Created by Chen on 2022/6/11.
//
7.5
#include <stdio.h>
#include <ctype.h>
int main (void)
{
int ch,sum=0;
printf("Enter a word:");
while ((ch=getwchar())!='\n')
{
switch (toupper(ch)){
case ('A'):case ('E'):case ('I'):case ('L'):case ('N'):
case ('O'):case ('R'):case ('S'):case ('T'):case ('U'):
sum+=1;
break;
case ('D'):case ('G'):
sum+=2;
break;
case ('B'):case ('C'):case ('M'):case ('P'):
sum+=3;
break;
case ('F'):case ('H'):case ('V'):case ('W'):case ('Y'):
sum+=4;
break;
case ('K'):
sum+=5;
break;
case ('J'):case ('X'):
sum+=8;
break;
case ('Q'):case ('z'):
sum+=10;
break;
default:printf("Bye");
}
}
printf("Scrabble value:%d",sum);
return 0;
}
//
// Created by Chen on 2022/6/11.
//
7.6
#include <stdio.h>
int main (void)
{
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
printf("%d\n",sizeof(long double));
return 0;
}
7.7
#include <stdio.h>
int main (void)
{
int num1,denom1,num2,denom2,result_num,result_denom;
char ch;
printf("Enter two fractions separated by a plus sign: ");
scanf("%d/%d%c%d/%d",&num1,&denom1,&ch,&num2,&denom2);
switch (ch){
case ('+'):{
result_num=num1*denom2+num2*denom1;
result_denom=denom1*denom2;
break;
}
case ('-'):{
result_num=num1*denom2-num2*denom1;
result_denom=denom1*denom2;
break;
}
case ('*'):{
result_num=num1*num2;
result_denom=denom1*denom2;
break;
}
case ('/'):{
result_num=num1*denom2;
result_denom=denom1*num2;
break;
}
default:printf("Bye");
}
printf("The result is %d/%d",result_num,result_denom);
return 0;
}
//
// Created by Chen on 2022/6/11.
//
7.8
#include <stdio.h>
#include <ctype.h>
int main (void)
{
int hour,min,compare;
char ch;
printf("Enter a 24-hour time:");
scanf("%d:%d %c",&hour,&min,&ch);
switch (toupper(ch)){
case ('P'):
compare=(hour+12)*60+min;
break;
case ('A'):
compare=hour*60+min;
break;
default:printf("Bye");
}
if(compare<=8*60+51.5){
printf("Cloest departure time is 8:00 a.m,arrivint at 10:16 a.m.");
}
else if(compare>=8*60+51.5&&compare<=9*60+43+48){
printf("Cloest departure time is 9:43 a.m,arrivint at 11:52 a.m.");
}
else if(compare>=9*60+43+48&&compare<=11*60+19+44){
printf("Cloest departure time is 11:19 a.m,arrivint at 13:31 p.m.");
}
else if(compare>=11*60+19+44&&compare<=12*60+47+36.5){
printf("Cloest departure time is 12:47 p.m,arrivint at 15:00 p.m.");
}
else if(compare>=12*60+47+36.5&&compare<=14*60+52.5){
printf("Cloest departure time is 14:00 p.m,arrivint at 16:08 a.m.");
}
else if(compare>=14*60+52.5&&compare<=15*60+45+97.5){
printf("Cloest departure time is 15:45 p.m,arrivint at 17:55 p.m.");
}
else if(compare>=15*60+45+97.5&&compare<=19*60+82.5){
printf("Cloest departure time is 19:00 p.m,arrivint at 21:20 p.m.");
}
else{
printf("Cloest departure time is 21:45 p.m,arrivint at 23:58 p.m.");
}
return 0;
}
//
// Created by Chen on 2022/6/11.
//
7.9
#include <stdio.h>
#include <ctype.h>
int main (void)
{
int hour,min;
char ch;
printf("Enter a 12-hour time:");
scanf("%d:%d %c",&hour,&min,&ch);
switch (toupper(ch)){
case ('P'):
hour=hour+12;
break;
case ('A'):
hour=hour;
break;
default:printf("Bye");
}
printf("Equivalent 24-hour time:%d:%d",hour,min);
return 0;
}
//
// Created by Chen on 2022/6/11.
//
7.10
#include <stdio.h>
#include <ctype.h>
int main (void)
{
int sum,ch;
printf("Enter a sentence:");
while ((ch=getchar())!='\n')
{
ch=toupper(ch);
if (ch=='A'|ch=='E'|ch=='I'|ch=='O'|ch=='U')
sum+=1;
}
printf("Your sentence contains %d vowels.",sum);
}
//
// Created by Chen on 2022/6/12.
//
7.11
#include <stdio.h>
int main (void)
{
char first,second;
printf("Enter a firtst and last name:");
scanf(" %c",&first);
while ((second=getchar())!=' ');
while ((second=getchar())==' ');
do{
putchar(second);
}while((second=getchar())!='\n'&&(second!=' '));
printf(",%c",first);
return 0;
}
7.12
#include <stdio.h>
int main (void)
{
double num,sum;
char ch;
printf("Enter an expression:");
scanf("%lf",&sum);
while ((ch=getchar())!='\n')
{
switch (ch){
case ('+'):
scanf("%lf",&num);
sum=sum+num;
break;
case ('-'):
scanf("%lf",&num);
sum=sum-num;
break;
case ('*'):
scanf("%lf",&num);
sum=sum*num;
break;
case ('/'):
scanf("%lf",&num);
sum=sum/num;
break;
default:
break;
}
}
printf("Value of expression:%lf",sum);
return 0;
}
//
// Created by Chen on 2022/6/12.
//
7.13
#include <stdio.h>
int main (void)
{
float count,count_space;
char ch;
printf("Enter a sentence:");
while ((ch=getchar())!='\n')
{
if(ch==' ')
count_space++;
else
count++;
}
printf("Average word length:%.1f",count/(count_space+1));
return 0;
}
//
// Created by Chen on 2022/6/13.
//
7.14
#include <stdio.h>
#include <math.h>
int main (void)
{
double x,y,y_new,y_old;
printf("Enter a positive number:");
scanf("%lf",&x);
y=1;
y_new=(y+x/y)/2;
while (fabs(y_new-y_old)>=0.00001)
{
y_old=y_new;
y_new=(y_old+x/y_new)/2;
}
printf("Square root:%lf",y_new);
return 0;
}
//
// Created by Chen on 2022/6/13.
//
7.15
#include <stdio.h>
int main (void)
{
int num,sum,temp;
printf("Enter a poseitive integer:");
scanf("%d",&num);
sum=temp=num;
while (num>1)
{
num--;
sum*=num;
}
printf("Factorial of %d:%d",temp,sum);
return 0;
}
//
// Created by Chen on 2022/6/13.
//