1.杨辉三角
#include <stdio.h>//杨辉三角
int main(int argc, char *argv[])
{
int i,j,n;
scanf("%d",&n);
int a[n][n];
for(i=0;i<n;i++)
{
for(j=i;j<=5;j++)
{
printf(" ");
}
for(j=0;j<=i;j++)
{
if(i==j||j==0)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("% d",a[i][j]);
}
printf("\n");
}
return 0;
}
运行结果
图形打印
#include <stdio.h>输出a bb ccc dddd
int main(int argc, char *argv[])
{
char a,b;
for(a='A';a<='D';a++)
{
for(b='A';b<=a;b++)
{
printf("%c",a);
}
printf("\n");
}
for(a='D';a>='A';a--)//输出 dddd ccc bb a
{
for(b='A';b<=a;b++)
{
printf("%c",a);
}
printf("\n");
}
return 0;
}
运行结果:
给定一个整数,判断它是否被3、5、7整除,并输出一下信息 1.能同时被3,5,7整除(直接输出3 5 7,每个数字之间一个空格) 2.只能内其中两个整数整除(输出两个数,小的在前,大的在后,例如3 5 或者 3 7 或者5 7,中间使用空格隔开) 3. 只能被其中一个整数整除(输出这个除数) 4.不能被任何数整除,输出小写字母n
#include <stdio.h>
int main(int argc, char *argv[])
{
int a;
printf("输入一个数");
scanf("%d",&a);
if(a%3==0&&a%5==0&&a%7==0)
{
printf("3 5 7");
}
else if(a%3==0&&a%7==0)
{
printf("3 7");
}
else if(a%3==0&&a%5==0)
{
printf("3 5");
}
else if(a%7==0&&a%5==0)
{
printf("5 7");
}
else if(a%3==0&&a%5!=0&&a%7!=0)
{
printf("3");
}
else if(a%3!=0&&a%5==0&&a%7!=0)
{
printf("5");
}
else if(a%3!=0&&a%5!=0&&a%7==0)
{
printf("7");
}
else if(a%3!=0&&a%5!=0&&a%7!=0)
{
printf("n");
}
return 0;
}
运行结果:
5.字符串单词逆置
#include <stdio.h>
int main(int argc, char *argv[])
{
char a[]="good good study",t,t1;
int i,j,k;
int n=sizeof(a)/sizeof(char)-2;
j=n;
for(i=0;i<n/2;i++)
{
t=a[i];
a[i]=a[j];
a[j]=t;
j--;
}
j=0;i=0;
while(a[i]!='\0')
{
while(a[j]!='\0'&&a[j]!=' ')
{
j++;
}
k=j-1;
while(i<k)
{
t1=a[i];
a[i]=a[k];
a[k]=t1;
k--;
i++;
}
while(a[j]==' ')
{
j++;
}
i=j;
}
printf("%s",a);
return 0;
}
运行结果:
实现atoi函数:
#include <stdio.h>
int main(int argc, char *argv[])
{
char a[]="1234";
int i=0,sum=0;
while(a[i]!='\0')
{
sum=sum*10+a[i]-'0';
i++;
}
printf("%d\n",sum);
return 0;
}
运行结果:
输入一个字符串,删除字符串中的空格
代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
char a[]="this is my class";
int n=sizeof(a)/sizeof(char);
int i;
for(i=0;i<n-1;i++)
{
if(a[i]!=' ')
{
printf("%c",a[i]);
}
}
return 0;
}
运行结果:
四个字符串函数,非函数实现
代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
//strlen
char a[10]="abcd";
char b[]="efgh";
int i=0,count=0,j=0;
while(a[i]!='\0'&&a[i]!=' ')
{
count++;
i++;
}
printf("strlen=%d\n",count);
//strcpy
i=0;
while(b[i]!='\0')
{
a[i]=b[i];
i++;
}
a[i]='\0';
printf("strcpy=%s\n",b);
//strcat
i=0;
for(i=0;a[i]!='\0';i++);
for(j=0;b[j]!='\0';j++)
{
a[i]=b[j];
i++;
}
printf("strcat=%s\n",a);
//strcmp
i=0;
while(a[i]==b[i])
{
if(a[i]=='\0')
{
break;
}
i++;
}
if(a[i]>b[i])
{
printf("a>b\n");
}
else if(a[i]<b[i])
{
printf("a<b\n");
}
else
{
printf("a=b\n");
}
return 0;
}
运行结果:
日本某地发生了一件谋杀案,警察通过排查确定茶人凶手必定4个中的一个 以下为4个嫌疑犯的供词 A说:罪犯是他们3人当中 B说:人不是我杀的,是C C说:A和D之间有一个是罪犯 D说:B说的是事实 已知2个人说了真话,2个人说了假话 请编程确定谁是凶手
#include <stdio.h>
int main(int argc, char *argv[])
{ int a,b,c,d,x;
int i;
for(i=1;i<=4;i++)
{
if(i=1)
{
a=0;
b=0;
c=1;
d=0;
}
if(i=2)
{
a=1;
b=0;
c=0;
d=0;
}
if(i=3)
{
a=1;
b=1;
c=0;
d=1;
}
if(i=4)
{
a=1;
b=0;
c=1;
d=0;
}
x=a+b+c+d;
if(x=2)
printf("凶手是:%d\n",i);
}
return 0;
运行结果: