挑选几个喜欢的程序以备日后回顾
首先第四章
- 编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出来这个数
#include <stdio.h>
int main(void){
int number;
printf("enter a two_digit number");
scanf("%d",&number);
printf("the reversal is %d%d",number%10,number/10);
return 0;
}
- 编写程序,使程序不需要算术分割就可以显示出三位数的逆序
#include <stdio.h>
int main(void){
int number_one=0,number_two=0,number_three=0;
printf("enter a three-digit number");
scanf("%1d%1d%1d",&number_one,&number_two,&number_three);
printf("the reversal is %d%d%d",number_three,\
number_two,number_one);
return 0;
}
- 编写一个程序,读入用户输入的整数并按照八进制显示出来
#include <stdio.h>
int main(void){
int number_10=0,number_8=0;
int a=0,b=0,c=0,d=0,e=0;
printf("enter a number between 0 and 32767 :");
scanf("%d",&number_10);
a=number_10 %8;
b=(number_10/8)%8;
c=(number_10/8/8)%8;
d=(number_10/8/8/8)%8;
e=(number_10/8/8/8/8)%8;
printf("in octal,your number is %1d%1d%1d%1d%1d",e,d,c,b,a);
}
- 使用户可以一次输入 11 位数字,而不用先录入 1 位,再录入 5 位,最后再录入 5 位
#include <stdio.h>
int main (void){
int d,i1,i2,i3,i4,i5,j1,j2,j3,j4,j5;
int sum_first,sum_second,sum;
printf ("enter the frist 11 digits of a UPC :");
scanf ("%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d",\
&d, &i1, &i2, &i3, &i4, &i5, &j1, &j2, &j3, &j4, &j5);
sum_first= d + i2 + i4 + j1 + j3 + j5;
sum_second = i1 + i3 + i5 + j2 + j4;
sum=3*sum_first+sum_second;
printf ("Check digit: %d", 9-((sum-1)%10));
return 0;
}
接下来是第五章
- 编写一个程序,确定一个数的位数
#include<stdio.h>
int main(void){
int number=0,digit=0;
printf("enter a number");
scanf("%d",&number);
if(number<=9 && number>=0){
digit=1;
}
else if(number<=99 && number>=10){
digit=2;
}
else if(number<=999 && number>=100){
digit=3;
}
else{
printf("please enter a number less than three digits");
return 0;
}
printf("the number %d has %d digits" ,number,digit);
return 0;
}
- 编写一个程序,要求输入 24 小时制的时间,然后显示出 12 小时制的格式
#include <stdio.h>
int main(void){
int time_hour=0,time_minute=0;
printf("enter a 24-hour time : ");
scanf("%d:%d",&time_hour,&time_minute);
if(time_hour<12 && time_hour>=0){
printf("equivalent 12-hour time : %2d:%.2d AM",\
time_hour,time_minute);
}
else if(time_hour>12 && time_hour<=24){
printf("equivalent 12-hour time : %2d:%.2d PM",\
time_hour-12,time_minute);
}else if(time_hour=12){
printf("equivalent 12-hour time : %2d:%.2d PM",\
time_hour,time_minute);
}
}
- 利用switch语句编写程序,把数字表示的成绩转化为字母表示的等级
#include <stdio.h>
int main(void){
int number=0,new_number=0;
printf("enter numerical grade : ");
scanf("%d",&number);
if(number<0||number>100){
printf("please enter a new valid number : ");
scanf("%d",&new_number);
number=new_number;
}
switch(number/10){
case 10: case 9:{
printf("letter grade : A");
break;
}
case 8:{
printf("letter grade : B");
break;
}
case 7:{
printf("letter grade : C");
break;
}
case 6:{
printf("letter grade : D");
break;
}
case 5: case 4: case 3: case 2: case 1: case 0:{
printf("letter grade : F");
break;
}
}
return 0;
}
- 编写一个程序,要求用户输入一个两位数,然后显示出相应的英文单词
#include <stdio.h>
int main(void){
int number=0;
printf("please enter a two-digits number :");
scanf("%d",&number);
if(number>=100 || number<10){
printf("please enter a new valid number");
return 0;
}
printf("you entered the number is ");
switch(number/10){
case 1:{
switch(number%10){
case 1: printf("eleven"); break;
case 2: printf("twelve"); break;
case 3: printf("thirteen"); break;
case 4: printf("fourteen"); break;
case 5: printf("fifteen"); break;
case 6: printf("sixteen"); break;
case 7: printf("seventeen"); break;
case 8: printf("eighteen"); break;
case 9: printf("nineteen"); break;
case 0: printf("ten"); break;
}
return 0;
}
case 2: printf("twenty"); break;
case 3: printf("thirty"); break;
case 4: printf("forty"); break;
case 5: printf("fifty"); break;
case 6: printf("sixty"); break;
case 7: printf("seventy"); break;
case 8: printf("eighty"); break;
case 9: printf("ninety"); break;
}
switch(number%10){
case 1: printf("-one"); break;
case 2: printf("-two"); break;
case 3: printf("-three"); break;
case 4: printf("-four"); break;
case 5: printf("-five"); break;
case 6: printf("-six"); break;
case 7: printf("-seven"); break;
case 8: printf("-eight"); break;
case 9: printf("-nine"); break;
case 0: break;
}
return 0;
}