int _tmain(int argc, _TCHAR* argv[]) { int i, j, k,n=0; for (i = 1; i < 5; i++) for (j = 1; j < 5; j++) for (k = 1; k < 5; k++) { if (i != k&&i != j&&j != k){ n++; printf("%d%d%d\n", i, j, k); } } printf("一共有%d个\n", n); system("pause"); return 0; }
int main() { int x, y, z; for (x = 0; x < 9; x++) { for (y = 0; y < x; y++) { z = x*y; printf("%d*%d=%d ", y, x, z); } printf("\n"); } system("pause"); return 0; }
main() { int a,n,count=1; long int sn=0,tn=0; printf("please input a and n\n"); scanf("%d,%d",&a,&n); printf("a=%d,n=%d\n",a,n); while(count<=n) { tn=tn+a; sn=sn+tn; a=a*10; ++count; } printf("a+aa+...=%ld\n",sn); }
main() { float sn=100.0,hn=sn/2; int n; for(n=2;n<=10;n++) { sn=sn+2*hn;/*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/ } printf("the total of road is %f\n",sn); printf("the tenth is %f meter\n",hn); }
#include "stdio.h" main() { int i; int fact(); for(i=0;i<5;i++) printf("\40:%d!=%d\n",i,fact(i)); } int fact(j) int j; { int sum; if(j==0) sum=1; else sum=j*fact(j-1); return sum; }
age(n) int n; { int c; if(n==1) c=10; else c=age(n-1)+2; return(c); } main() { printf("%d",age(5)); }
【程序29】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序分析:学会分解出每一位数
程序源代码:
main( ) { long a,b,c,d,e,x; scanf("%ld",&x); a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); elseif (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b); elseif (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c); elseif (d!=0) printf("there are 2, %ld %ld\n",e,d); elseif (e!=0) printf(" there are 1,%ld\n",e); }
【程序30】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序分析:同29例
程序源代码:
main( ) { long ge,shi,qian,wan,x; scanf("%ld",&x); wan=x/10000; qian=x%10000/1000; shi=x%100/10; ge=x%10; if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf("this number is a huiwen\n"); else printf("this number is not a huiwen\n"); }
【程序31】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
程序源代码:
#include <stdio.h> void main() { char letter; printf("please input the first letter of someday\n"); while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/ { switch (letter) {case'S':printf("please input second letter\n"); if((letter=getch())=='a') printf("saturday\n"); elseif ((letter=getch())=='u') printf("sunday\n"); elseprintf("data error\n"); break; case'F':printf("friday\n");break; case'M':printf("monday\n");break; case'T':printf("please input second letter\n"); if((letter=getch())=='u') printf("tuesday\n"); elseif ((letter=getch())=='h') printf("thursday\n"); elseprintf("data error\n"); break; case'W':printf("wednesday\n");break; default: printf("data error\n"); } } }
【程序32】
题目:Press any key to change color, do you want to try it. Please hurry up!
程序分析:
程序源代码:
#include <conio.h> void main(void) { int color; for (color = 0; color < 8; color++) { textbackground(color);/*设置文本的背景颜色*/ cprintf("This is color %d\r\n", color); cprintf("Press any key to continue\r\n"); getch();/*输入字符看不见*/ } }
#include <conio.h> void main(void) { int color; for (color = 1; color < 16; color++) { textcolor(color);/*设置文本颜色*/ cprintf("This is color %d\r\n", color); } textcolor(128 + 15); cprintf("This is blinking\r\n"); }
main() { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; printf("original array is:\n"); for(i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); printf("insert a new number:"); scanf("%d",&number); end=a[9]; if(number>end) a[10]=number; else {for(i=0;i<10;i++) { if(a[i]>number) {temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) {temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } for(i=0;i<11;i++) printf("%6d",a[i]); }
【程序40】
题目:将一个数组逆序输出。
程序分析:用第一个与最后一个交换。
程序源代码:
#define N 5 main() { int a[N]={9,6,5,4,1},i,temp; printf("\n original array:\n"); for(i=0;i<N;i++) printf("%4d",a[i]); for(i=0;i<N/2;i++) {temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp; } printf("\n sorted array:\n"); for(i=0;i<N;i++) printf("%4d",a[i]); }
【程序41】
题目:学习static定义静态变量的用法
程序分析:
程序源代码:
#include "stdio.h" varfunc() { int var=0; static int static_var=0; printf("\40:var equal %d \n",var); printf("\40:static var equal %d \n",static_var); printf("\n"); var++; static_var++; } void main() {int i; for(i=0;i<3;i++) varfunc(); }
【程序42】
题目:学习使用auto定义变量的用法
程序分析:
程序源代码:
#include "stdio.h" main() {int i,num; num=2; for (i=0;i<3;i++) { printf("\40: The num equal %d \n",num); num++; { auto int num=1; printf("\40: The internal block num equal %d \n",num); num++; } } }
【程序43】
题目:学习使用static的另一用法。
程序分析:
程序源代码:
#include "stdio.h" main() { int i,num; num=2; for(i=0;i<3;i++) { printf("\40: The num equal %d \n",num); num++; { static int num=1; printf("\40:The internal block num equal %d\n",num); num++; } } }
【程序44】
题目:学习使用external的用法。
程序分析:
程序源代码:
#include "stdio.h" int a,b,c; void add() { int a; a=3; c=a+b; } void main() { a=b=4; add(); printf("The value of c is equal to %d\n",c); }
【程序45】
题目:学习使用register定义变量的方法。
程序分析:
程序源代码:
void main() { register int i; int tmp=0; for(i=1;i<=100;i++) tmp+=i; printf("The sum is %d\n",tmp); }
【程序46】
题目:宏#define命令练习(1)
程序分析:
程序源代码:
#include "stdio.h" #define TRUE 1 #define FALSE 0 #define SQ(x) (x)*(x) void main() { int num; int again=1; printf("\40: Program will stop if input value less than 50.\n"); while(again) { printf("\40:Please input number==>"); scanf("%d",&num); printf("\40:The square for this number is %d \n",SQ(num)); if(num>=50) again=TRUE; else again=FALSE; } }
【程序47】
题目:宏#define命令练习(2)
程序分析:
程序源代码:
#include "stdio.h" #define exchange(a,b) { \ /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上"\"*/ int t;\ t=a;\ a=b;\ b=t;\ } void main(void) { int x=10; int y=20; printf("x=%d; y=%d\n",x,y); exchange(x,y); printf("x=%d; y=%d\n",x,y); }
【程序48】
题目:宏#define命令练习(3)
程序分析:
程序源代码:
#define LAG > #define SMA < #define EQ == #include "stdio.h" void main() { int i=10; int j=20; if(i LAG j) printf("\40: %d larger than %d \n",i,j); elseif(i EQ j) printf("\40: %d equal to %d \n",i,j); elseif(i SMA j) printf("\40:%d smaller than %d \n",i,j); else printf("\40: No such value.\n"); }
【程序49】
题目:#if #ifdef和#ifndef的综合应用。
程序分析:
程序源代码:
#include "stdio.h" #define MAX #define MAXIMUM(x,y) (x>y)?x:y #define MINIMUM(x,y) (x>y)?y:x void main() { int a=10,b=20; #ifdef MAX printf("\40: The larger one is %d\n",MAXIMUM(a,b)); #else printf("\40: The lower one is %d\n",MINIMUM(a,b)); #endif #ifndef MIN printf("\40: The lower one is %d\n",MINIMUM(a,b)); #else printf("\40: The larger one is %d\n",MAXIMUM(a,b)); #endif #undef MAX #ifdef MAX printf("\40: The larger one is %d\n",MAXIMUM(a,b)); #else printf("\40: The lower one is %d\n",MINIMUM(a,b)); #endif #define MIN #ifndef MIN printf("\40: The lower one is %d\n",MINIMUM(a,b)); #else printf("\40: The larger one is %d\n",MAXIMUM(a,b)); #endif }
【程序50】
题目:#include 的应用练习
程序分析:
程序源代码: test.h 文件如下:
#define LAG > #define SMA < #define EQ == #include "test.h" /*一个新文件50.c,包含test.h*/ #include "stdio.h" void main() { int i=10; int j=20; if(i LAG j) printf("\40: %d larger than %d \n",i,j); elseif(i EQ j) printf("\40: %d equal to %d \n",i,j); elseif(i SMA j) printf("\40:%d smaller than %d \n",i,j); else printf("\40: No such value.\n"); }
【程序51】
题目:学习使用按位与 & 。
程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
程序源代码:
#include "stdio.h" main() { int a,b; a=077; b=a&3; printf("\40: The a & b(decimal) is %d \n",b); b&=7; printf("\40: The a & b(decimal) is %d \n",b); }
【程序52】
题目:学习使用按位或 | 。
程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
程序源代码:
#include "stdio.h" main() { int a,b; a=077; b=a|3; printf("\40: The a & b(decimal) is %d \n",b); b|=7; printf("\40: The a & b(decimal) is %d \n",b); }
【程序53】
题目:学习使用按位异或 ^ 。
程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
程序源代码:
#include "stdio.h" main() { int a,b; a=077; b=a^3; printf("\40: The a & b(decimal) is %d \n",b); b^=7; printf("\40: The a & b(decimal) is %d \n",b); }