网址为: http://www.runoob.com/cprogramming/c-100-examples.html
#include
int main(void)
{
int i,x = 1;
for(i = 0; i < 9; i++)
{
x = (x + 1) * 2;
}
printf("%d\n",x);
}
#include
int main(void)
{
int i,j,k;
for(i = 0;i <= 3; i++)
{
for(j = 1;j <= 3 - i; j++)
printf(" ");
for(k = 1; k <= 2*i+1; k++)
printf("*");
printf("\n");
}
for(i = 1; i <= 3; i++)
{
for(j = 1; j <= i; j++)
printf(" ");
for(k = 1; k <= 7-2*i; k++)
printf("*");
printf("\n");
}
return 0;
}
#include
int main(void)
{
float sum = 0,temp;
float a = 2,b = 1;
int i;
for(i = 0; i < 20; i++)
{
sum += a / b;
temp = b;
b = a;
a = temp + a;
}
printf("%9.6f\n",sum);
return 0;
}
#include
double Fun(double n)
{
if(n == 0)
return 1;
else
return n*Fun(n - 1);
}
int main(void)
{
double sum = 0, i;
for(i = 1;i <= 20; i++)
{
sum += Fun(i);
}
printf("%lf\n",sum);
return 0;
}
#include
int fact(int n)
{
if(n == 0 || n == 1)
return 1;
else
return n*fact(n - 1);
}
int main(void)
{
int i;
for(i = 0; i <= 5; i++)
{
printf("%d!=%d\n",i,fact(i));
}
return 0;
}
#include
void Print(char a[], int n)
{
if(n >= 0)
{
printf("%c",a[n]);
Print(a,n - 1);
}
}
int main(void)
{
char a[5];
printf("请输入5个字符 :");
for(int i = 0; i < 5; i++)
scanf("%c",&a[i]);
printf("相反顺序输出结果 : ");
Print(a,4);
return 0;
}
#include
int age(int n)
{
if(n == 1)
return 10;
else
return age(n - 1) + 2;
}
int main(void)
{
int n;
n = age(5);
printf("%d\n",n);
return 0;
}
#include
int main(void)
{
int n,count = 0,num;
printf("请输入一个不多于5位的正整数:");
scanf("%d",&n);
num = n;
while(n)
{
n = n/10;
count++;
}
printf("为%d位数,逆序为:",count);
while(num)
{
printf("%-3d",num%10);
num = num/10;
}
return 0;
}
#include
#define N 20
int main(void)
{
int i,j;
int n;
int a[N];
printf("请输入数字:");
scanf("%d",&n);
for(j = 0; j < 5; j++)
{
a[j] = n%10;
n = n/10;
}
j = 0;
i = 4;
while(i < j)
{
if(a[i] != a[j])
{
printf("这不是回文数\n");
return 0;
}
j++;
i--;
}
printf("这是回文数\n");
return 0;
}
#include
int main(void)
{
char ch;
printf("请输入第一个字母:\n");
ch = getchar();
getchar();
switch(ch)
{
case 'm':
case 'M':
printf("monday\n");
break;
case 'w':
case 'W':
printf("wednesday\n");
break;
case 'f':
case 'F':
printf("friday\n");
break;
case 't':
case 'T':
{
printf("请输入下一个字母:\n");
scanf(" %c",&ch);
if(ch == 'h')
printf("thursday\n");
if(ch == 'u')
printf("tuesday\n");
break;
}
case 's':
case 'S':
{
printf("请输入下一个字母:\n");
scanf(" %c",&ch);
if(ch == 'a')
printf("saturday\n");
if(ch == 'u')
printf("sunday\n");
break;
}
}
return 0;
}
#include
#include
#define N 80
void delete_x(char *str,char *s,char ch);
int main(void)
{
char str[N],ch;
char s[N];
memset(str,'\0',sizeof(str));
memset(s,'\0',sizeof(s));
gets(str);
scanf(" %c",&ch);
delete_x(str,s,ch);
puts(s);
return 0;
}
void delete_x(char *str,char *s,char ch)
{
int i,j = 0, str_len = strlen(str);
for(i = 0; i < str_len; i++)
{
if(str[i] != ch)
{
s[j] = str[i];
j++;
}
}
}
#include
#include
#define N 80
void reverse(char *str)
{
int j = strlen(str);
int i = 0;
j--;
while(i < j)
{
char temp;
temp = str[i];
str[i] = str[j];
str[j] = temp;
i++;
j--;
}
}
int main(void)
{
char str[N];
memset(str,'\0',sizeof(str));
gets(str);
reverse(str);
puts(str);
return 0;
}
#include
#include
void bubblesort(int a[],int n)
{
int i, j;
int flag ;
for(i = 0; i < n - 1; i++)
{
flag = 0;
for(j = 0; j < n - 1; j++)
{
int temp;
if(a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
flag = 1;
}
}
if(flag == 0)
break;
}
}
int mycmp(const void *a,const void *b)
{
if((const int *)a - (const int *)b == 0)
return 0;
else if((const int *)a - (const int *)b > 0)
return 1;
else
return -1;
}
int main(void)
{
int a[10];
printf("请输入 10 个数字:\n");
for(int i = 0; i < 10; i++)
scanf("%d",&a[i]);
qsort(a,10,sizeof(int),mycmp); //快速排序
bubblesort(a,10);//冒泡排序
printf("排序结果是:\n");
for(int i = 0; i < 10; i++)
printf("%d ",a[i]);
return 0;
}
#include
int tangle_sum(int *a,int n)
{
int i;
int sum = 0;
for(i = 0; i < n; i++)
sum += a[i*n + i];
return sum;
}
int main(void)
{
int a[3][3],ret;
int *p = *a;
printf("请输入矩阵(3*3):\n");
for(int i = 0;i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
scanf("%d",&a[i][j]);
}
}
ret = tangle_sum(p,3);
printf("对角线之和为:%d",ret);
return 0;
}
#include
#define N 100
void insert_sort(int a[],int *length,int x);
int main(void)
{
int a[N] = {0},j = 0,x,n;
printf("输入数组长度:\n");
scanf("%d",&n);
printf("原始数组是:\n");
for(;j < n; j++)
scanf("%d",&a[j]);
printf("插入一个新的数字:");
scanf("%d",&x);
insert_sort(a,&n,x);
for(int i = 0;i < n; i++)
printf("%4d",a[i]);
return 0;
}
void insert_sort(int a[],int *length,int x)
{
int i = 0,j;
while(x > a[i]) //找到待插入位置
i++;
for(j = *length - 1; j >= i; j--)
a[j + 1] = a[j];
a[j + 1] = x;
(*length)++;
}
#include
void reverse_print(int a[],int n);
int main(void)
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
printf("原始数组是:\n");
for(int i = 0; i < 10;i++)
printf("%-3d",a[i]);
printf("\n排序后的数组:\n");
reverse_print(a,10);
return 0;
}
void reverse_print(int a[],int n)
{
int i = 0;
int j = n - 1;
while(i < j)
{
if(i < j)
{
int temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
i++;
j--;
}
for(i = 0; i < n; i++)
printf("%-3d",a[i]);
}