/*自己摸索的编程的重要代码精华,以留作备份此文件需要用VC6.0打开运行
代码部分都经过注销了
每部分代码下都有相关程序的解释
欢迎大家给予更正和修改
补更:
关于头文件#include问题,因为用了两个井号自动,变成标题。。。所以呢 ,代码都经过编写运行的(没啥对错问题),主要是函数头记得加进去!
再加一个目录吧,也方便大家阅览!
#include <stdio.h>
求平均数
void main()
{
int x,y;
float area;
printf("please your put two INT:");
scanf("%d%d",&x,&y);
area=x+y;
printf("over=:%f\n",area/2);
}
比较两个数的大小
void main(){
int x,y,max;
int z(int a,int b);
printf("please your put two INT:");
scanf("%d %d",&x,&y);
max=z(x,y);
printf("the max number is :%d\n",max);
}
int z(int a,int b)
{
int c;
c=a>b?a:b;f
return c;
}
习题1
void main()
{
for(int i=1;i<=20;i++){
printf("*");
}
printf("\n");
printf("How do you do!\n");
for(int n=1;n<=20;n++){
printf("*");
}
printf("\n");
}
园的面积
define PI 3.14159//宏定义
void main(){
float r,s;
scanf("%f",&r);
s=PI*r*r;
printf("%f\n",s);
}
小数点的掌控
void main(){
int x=2,y=3;
int c=x+y;
printf("c=%d\n",c);
}
void main(){
float a;
a=30.3213;
printf("a=%f a=%1.1f a=%e\n",a,a,a);
}
将大写字母+32,更改为小写字母。备注:小写字母比大写字母大32位。
void main(){
char ch;
scanf("%c",ch);
ch=(ch>'A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
}
scanf的用法
void main(){
int a,b;
printf("Please enter values of width and height:\n");
scanf("%d %d",&a,&b);
printf("width=%d,height=%d,area=%d\n",a,b,a*b);
}
putchar与getchar合并的用法。
void main(){
char ch;
// ch=getchar();
// printf("%c\n",ch);
putchar(getchar());
printf("\n");
}//得到字符常量并获于一个字符变量给ch,然后输出
海伦公式
include <math.h>
void main(){
int x,y,z;
float s,area;
scanf("%d %d %d",&x,&y,&z);
if (x+y>z && x+z>y && y+z>x){
s=0.5*(x+y+z);
area=sqrt(s*(s-x)*(s-y)*(s-z));//海伦公式计算三角形面积
printf("area=%6.2f\n",area);
}
else
printf("输入数据错误\n");
}
买小鸡
void main(){
int x,y,z;
for (x=0;x<20;x++){
for (y=0;y<100-x;y++){//100代表金额
z=100-x-y;//100代表小鸡只数
if(z%3==0&&5*x+3*y+z/3==100){
printf("大鸡有%d只;雌鸡有%d只;小鸡有%d只;\n",x,y,z);
}
}
}
}//100元买100只鸡
宏定义的用法
define wkr 123
void main(){
int i=5;
printf("OMG=%d\n",i*wkr);
}//宏定义的用法
*/
/*
void main(){
unsigned long i=2;
// long
// unsigned long
for(i;i>1;i+=i){
printf("NUM:%d\n",i);
}
}
*/
/*
sqrt开根 abs绝对值
define wkr 846503898
void main(){
printf("qq号为:%d\n",wkr);
}//宏定义
include "math.h"
void main(){
float a,b,c,x1,x2,dt,p,q;
printf("请输入a,b,c三个数:");
scanf("%d %d %d",&a,&b,&c);
dt=sqrt(b*2-4*a*c);
p=-b/(2*a);
q=dt/(2*a);
x1=p+q;
x2=p-q;
printf("方程%6.2fx*x+%6.2fx+%6.2f=0的根为:\n",a,b,c);
printf("x1=%f \t x2=%f\n",x1,x2);
}// 存在问题!!
鸡兔同笼问题
void main()
{
int h,f,x,y;
printf("请输入鸡兔总头数:",h);
scanf("%d",&h);
printf("请输入鸡兔总脚数:",f);
scanf("%d",&f);
x=2*h-f/2;
y=f/2-h;
printf("鸡有:%d只\t 兔有:%d只\n",x,y);
}
利用循环求素数
include <math.h>
void main(){
int x,y,z;
scanf("%d",&x);
y=sqrt(x);
for(z=2;z<=y;z++)
if(x%z==0)
break;
if(z>y)
printf("此数%d是素数\n",x);
else printf("此数%d是合数\n",x);
}
打印正方形and打印平行四边形
void main(){
int row;
for(row=1;row<=5;row++)
printf("********\n");
}
--------------------------------------------------
void main(){
int row,col;
for(row=1;row<=5;row++)
{ for(col=4;col>=5-row;col--)
printf(" ");
printf("*******\n");
}}
建立金字塔形
void main(){
int row,col;
for(row=1;row<=8;row++){
for(col=1;col<=20-row;col++)
printf(" ");
for(col=1;col<=2*row-1;col++)
printf("*");
printf("\n");
}
}
倒着输出9-1
void main(){
int i,a[10];
for(i=0;i<=9;i++)
a[i]=i;
for (i=9;i>=0;i--)
printf("%d",a[i]);
printf("\n");
}
区别数组赋值问题
void main(){
int a[5]={1,2,3,4,5};
int b[5]={1,2,3};
int c[ ]={1,2,3,4,5};
static int d[5];
int e[5];
int i;
for(i=0;i<=4;i++) printf("%d",a[i]);printf("\n");
for(i=0;i<=4;i++) printf("%d",b[i]);printf("\n");
for(i=0;i<=4;i++) printf("%d",c[i]);printf("\n");
for(i=0;i<=4;i++) printf("%d",d[i]);printf("\n");
for(i=0;i<=4;i++) printf("%d",e[i]);printf("\n");
}
对比算法记录如下(A>B)?C:D 值正确取C;否则取D
成绩求平均分和最高分
define N 30
int main(){
int A[N],S=0,i,max=0;
printf("请输入%d个学生成绩\n",N);
for(i=0;i<N;i++){
printf("请输入第%d个学生成绩:",i+1);
scanf("%d",&A[i]);
printf("\n");
}//学生成绩输入
for(i=0;i<N;i++){
S+=A[i];
max=(A[i]>max)?A[i]:max;
}
printf("学生的平均成绩为:%d",S/N);
printf("学生的最好成绩为:%d",max);
printf("\n");
}
进行数组的累加;即投票!
void main(){
int i;
int static n[8];
printf("请输入你需要投票的号数:");
scanf("%d",&i);
while(i<=8&&i>=1){
n[i-1]+=1;
printf("请输入你需要投票的号数:");
scanf("%d",&i);
}
for(i=1;i<=8;i++){
printf("第%d号选手的票数是:%d\n",i,n[i-1]);
}
}
对于数组大小的排序;eg:5个数;从小到大的顺序排列!
#define N 10
void main(){
int x[N];
int a,b,i,w;
for(i=1;i<=N;i++){
printf("请输入第%d个数:",i);
scanf("%d",&x[i-1]);
}
for(a=1;a<=N;a++){
for(b=1;b<=N-a;b++){
if(x[b-1]>x[b]){
w=x[b-1];
x[b-1]=x[b];
x[b]=w;
}else continue;
}
}
printf("从小到大的顺序排序是:\n");
for(i=1;i<=N;i++){
printf("%d\n",x[i-1]);
}
}
数组
void main(){
int static a[2][5][5];
int i,n,m;
for(i=0;i<2;i++){
for(n=0;n<5;n++){
for(m=0;m<5;m++){
printf("请输入第%d个数:\t",i+n+m);
scanf("%d",&a[i][n][m]);
}}}
for(i=0;i<2;i++){
for(n=0;n<5;n++){
for(m=0;m<5;m++){
printf("%d\n",a[i][n][m]);}
}}}//test1
---------------------------------------------------------
int main(){
static int a[3][3]={{2,3,2},{4,4,2},{5,2,8}};
int i,k;
for(i=0;i<3;i++){
for(k=0;k<3;k++){
printf("这是第%d个数:",3*i+k+1);
printf("%5d",a[i][k]);
printf("\n");
}}
printf("\n");
}//test2
---------------------------------------------------------
void main(){
char a[7]={'a','p','p','l','e'};
char b[]={"apple"};
char c[7];
static char d[7];
int i;
for(i=0;i<7;i++){
printf("%c",b[i]);
}printf("\n");
}//test3
//二维数组
---------------------------------------------------------
void main(){
char s[100];
printf("please input:");
gets(s);
printf("output:");
puts(s);
}
%s的用法 %c的用法
void main(){
char s[20];
scanf("%s",s);
printf("%s\n",s);
}
while(ch[i]!='\0'){
printf("%c",str[i]);
i++;
}
strcat连接
#include "string.h"
void main(){
char str1[40],str2[40],str3[40];
gets(str1);
gets(str2);
gets(str3);
strcat(str1,str2);
strcat(str1,str3);
puts(str1);
}
strcpy拷贝
#include "string.h"
void main(){
char str1[40],str2[40],str3[40];
gets(str1);
strcpy(str2,str1);
puts(str2);
}
用于strcat/strcpy
include "string.h"
void main(){
char str1[40],str2[40],str3[40];
gets(str1);
strcpy(str2,str1);
strcpy(str3,str1);
strcat(str2,str1);
puts(str1);
puts(str2);
puts(str3);
}//连接!!
字符组之间的比较
include "string.h"
void main(){
char a[40],b[40];
printf("请输入a\n");
gets(a);
printf("请输入b\n");
gets(b);
if(strcmp(a,b)==0)
printf("相等\n");
else if(strcmp(a,b)>0)
printf("a大于b\n");
else
printf("a小于b\n");
}
将字符倒着输出
include "string.h"
void main(){
static char w[]={'s','t','r','i','n','g'};
int i;
i=strlen(w);
printf("为:%d\n",i);
puts(w);
} //给char申明的时候记得给char赋初值static!
#include "string.h"
void main(){
static char w[]={'s','t','r','i','n','g'};
int i;
i=strlen(w);
printf("为:%d\n",i);
for (;i>=0;i--)
putchar (w[i]);
puts("");
}
统计一行字符有多少字母
include "string.h"
void main(){
static char r[100];
static int i,s,k;
gets(r);
k=i=strlen(r);
for(;i>=0;i--){
if(r[i]==' ')
s+=1;
}
printf("你输入的数:%d\n",k-s);
}
static 赋初值
void main(){
static int i;
printf("%d\n",i);
}
大小写的问题
#include "string.h"
void main(){
static char k[40];
gets(k);
strlur(k);
puts(k);
}