#include
void to_binary(unsigned long);
int main(void) {
unsigned long number;
printf("Enter an integer(q to quit):\n");
while ((scanf("%ul", &number)) == 1)
{
printf("Binary equivalent:");
to_binary(number);
putchar('\n');
printf("Enter an integer(q to quit):\n");
}
printf("Done\n");
getchar();
getchar();
return 0;
}
void to_binary(unsigned long n) {
int r;
r = n % 2;
if (n >= 2)
to_binary(n / 2);
putchar('0' + r);
return;
}
Enter an integer(q to quit):
9
Binary equivalent:1001
Enter an integer(q to quit):
255
Binary equivalent:11111111
Enter an integer(q to quit):
1024
Binary equivalent:10000000000
Enter an integer(q to quit):
q
#include
#include"hotel.h" /* 定义常量、声明函数*/
int main(void) {
int nights;
double houtel_rate;
int code;
while ((code=menu())!= QUIT)
{
switch (code)
{
case 1:houtel_rate = HOTEL1;
break;
case 2:houtel_rate = HOTEL2;
break;
case 3:houtel_rate = HOTEL3;
break;
case 4:houtel_rate = HOTEL4;
break;
default:houtel_rate = 0.0;
printf("Oops!\n");
break;
}
nights = getnights();
showprice(houtel_rate, nights);
}
printf("Thank you and goodbye.");
return 0;
}
#define QUIT 5
#define HOTEL1 80.00
#define HOTEL2 125.00
#define HOTEL3 155.00
#define HOTEL4 200.00
#define DISCOUNT 0.95
#define STARS "************************"
int menu(void);
int getnights(void);
void showprice(double, int);
#include
#include"hotel.h"
int menu(void) {
int code, status;
printf("");
printf("\n%s%s\n",STARS,STARS);
printf("Enter the number of the desired hotel:\n");
printf("1) Fairfield Arms 2) Hotel Olympic\n");
printf("3) Cherworthy Plaza 4) The Stockton\n");
printf("5) quit\n");
printf("%s%s\n", STARS, STARS);
while ((status=scanf("%d",&code))!=1||(code<1||code>5))
{
if (status != 1)
scanf("%*s");
printf("Enter an integer from 1 to 5,please.\n");
}
return code;
}
int getnights(void) {
int nights;
printf("How many nights are needed?");
while (scanf("%d", &nights) != 1) {
scanf("%*s");
printf("Please enter an integer, such as 2.\n");
}
return nights;
}
void showprice(double rate, int nights)
{
int n;
double total = 0.0;
double factor = 1.0;
for (n = 1; n <= nights; n++, factor *= DISCOUNT)
total += rate*factor;
printf("The hotel cost will be $%0.2f.\n", total);
}
************************************************
Enter the number of the desired hotel:
1) Fairfield Arms 2) Hotel Olympic
3) Cherworthy Plaza 4) The Stockton
5) quit
************************************************
1
How many nights are needed?2
The hotel cost will be $156.00.
************************************************
Enter the number of the desired hotel:
1) Fairfield Arms 2) Hotel Olympic
3) Cherworthy Plaza 4) The Stockton
5) quit
************************************************
### 指针
#include
void interchange(int *u, int *v);
int main(void) {
int x = 5, y = 10;
printf("Originally x = %d and y = %d.\n", x, y);
interchange(&x, &y);
printf("Now x = %d and y = %d.\n", x, y);
getchar();
getchar();
return 0;
}
void interchange(int *u, int *v) {
int temp;
temp = *u;
*u = *v;
*v = temp;
}
Originally x = 5 and y = 10.
Now x = 10 and y = 5.
#include
double min(double a, double b);
int main(void) {
double x = 0, y = 0;
printf("Please input two number:");
while ((scanf("%lf %lf", &x, &y)) != 2) {
scanf("%*s");
printf("please input double number,e.g 2.50\n");
}
printf("minner is %lf", min(x, y));
printf("\n");
getchar();
getchar();
return 0;
}
double min(double a, double b) {
double min = 0;
if (a < b)
min = a;
else
min = b;
return min;
}
Please input two number:s
please input double number,e.g 2.50
2.4 2.8
minner is 2.400000
#include
void chline(char ch, int i, int j);
int main(void) {
char ch;
int x = 0, y = 0;
printf("Please input a char:");
scanf("%c", &ch);
printf("please input two int\n");
scanf("%d %d", &x, &y);
chline(ch, x, y);
printf("\n");
getchar();
getchar();
return 0;
}
void chline(char ch,int i,int j) {
int k;
for (k = 1; k < i; k++)
printf(" ");
for (; k <= j; k++)
printf("%c", ch);
printf("\n");
}
Please input a char:a
please input two int
2 6
aaaaa
#include
void chline(char ch, int i, int j);
int main(void) {
char ch=0;
int x = 0, y = 0;
printf("Please input a char:");
scanf("%c", &ch);
printf("Please input column and row:\n");
scanf("%d %d", &x, &y);
chline(ch, x, y);
getchar();
getchar();
return 0;
}
void chline(char ch, int i, int j) {
int k = 0, m = 0;
for (k = 0; k < j; k++) {
for (m = 0; m < i; m++)
printf("%c", ch);
printf("\n");
}
}
Please input a char:a
Please input column and row:
3 5
aaa
aaa
aaa
aaa
aaa
#include
double get_average(double i, double j);
int main(void) {
double x = 0, y = 0;
printf("Please input two double number:");
scanf("%lf %lf", &x, &y);
get_average(x, y);
getchar();
getchar();
return 0;
}
double get_average(double i, double j) {
double ans = 0;
ans = ((1 / i) + (1 / j)) / 2;
return printf("answer is %0.3lf", 1 / ans);
}
Please input two double number:4.5 5.5
answer is 4.950
没有输出
#include
void larger_of(double *i, double *j);
int main(void) {
double x = 0, y = 0;
printf("Please input two double number:");
scanf("%lf %lf", &x, &y);
larger_of(&x, &y);
printf("the result is: x = %0.3lf, y = %0.3lf",x,y);
getchar();
getchar();
return 0;
}
void larger_of(double *i, double *j) {
if (*i < *j)
*i = *j;
else
*i = *i;
}
Please input two double number:2.3 2.6
the result is: x = 2.600, y = 2.600
#include
#include
int get_id(char ch);
int main(void) {
char ch;
printf("Please input a char:");
scanf("%c", &ch);
printf("the %c position of number is %d ", ch, get_id(ch));
getchar();
getchar();
return 0;
}
int get_id(char ch) {
int n;
if (isalpha(ch))
return tolower( ch) - 'a' + 1;
else return -1;
return n;
}
Please input a char:g
the g position of number is 7
#include
double power(double n, int p);
int main(void) {
double m = 0;
int exp= 0;
printf("Enter a number and the positive integer power");
printf("to which\nthe number will be raised. Enter q");
printf(" to quit.\n");
scanf("%lf %d", &m, &exp);
printf("%.3g to the power %ld is %.5g\n",m,exp, power(m,exp));
getchar();
getchar();
return 0;
}
double power(double n,int p) {
double ans=1;
int i = 0;
if (p > 0)
for (i = 1; i <= p; i++)
ans *= n;
else if (p < 0)
for (i = -1; i >= p; i--)
ans /= n;
else if(n!=0)
ans = 1;
else ans = 1/n;
return ans;
}
Enter a number and the integer power to which
the number will be raised. Enter q to quit.
2 -2
2 to the power -2 is 0.25