`

经典c程序100例==61--70

 
阅读更多

【程序61】
题目:打印出杨辉三角形(要求打印出10行如下图)   
1.程序分析:
       1
      1  1
      1  2  1
      1  3  3  1
      1  4  6  4  1
      1  5  10 10 5  1 
2.程序源代码:
main()
{int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
 {a[i][0]=1;
 a[i][i]=1;}
for(i=2;i<10;i++)
 for(j=1;j<i;j++)
 a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
 {for(j=0;j<=i;j++)
 printf("%5d",a[i][j]);
 printf("\n");
 }
}
==============================================================
【程序62】
题目:学习putpixel画点。
1.程序分析:            
2.程序源代码:
#include "stdio.h"
#include "graphics.h"
main()
{
int i,j,driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=50;i<=230;i+=20)
 for(j=50;j<=230;j++)
 putpixel(i,j,1);
for(j=50;j<=230;j+=20)
 for(i=50;i<=230;i++)
 putpixel(i,j,1);
}
==============================================================
【程序63】
题目:画椭圆ellipse   
1.程序分析:
2.程序源代码:
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int x=360,y=160,driver=VGA,mode=VGAHI;
int num=20,i;
int top,bottom;
initgraph(&driver,&mode,"");
top=y-30;
bottom=y-30;
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,top,bottom);
top-=5;
bottom+=5;
}
getch();
}
==============================================================
【程序64】
题目:利用ellipse and rectangle 画图。
1.程序分析:
2.程序源代码:
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int driver=VGA,mode=VGAHI;
int i,num=15,top=50;
int left=20,right=50;
initgraph(&driver,&mode,"");
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,right,left);
ellipse(250,250,0,360,20,top);
rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));
right+=5;
left+=5;
top+=10;
}
getch();
}
==============================================================
【程序65】
题目:一个最优美的图案。   
1.程序分析:
2.程序源代码:
#include "graphics.h"
#include "math.h"
#include "dos.h"
#include "conio.h"
#include "stdlib.h"
#include "stdio.h"
#include "stdarg.h"
#define MAXPTS 15
#define PI 3.1415926
struct PTS {
int x,y;
};
double AspectRatio=0.85;
void LineToDemo(void)
{
struct viewporttype vp;
struct PTS points[MAXPTS];
int i, j, h, w, xcenter, ycenter;
int radius, angle, step;
double rads;
printf(" MoveTo / LineTo Demonstration" );
getviewsettings( &vp );
h = vp.bottom - vp.top;
w = vp.right - vp.left;
xcenter = w / 2; /* Determine the center of circle */
ycenter = h / 2;
radius = (h - 30) / (AspectRatio * 2);
step = 360 / MAXPTS; /* Determine # of increments */
angle = 0; /* Begin at zero degrees */
for( i=0 ; i<MAXPTS ; ++i ){ /* Determine circle intercepts */
rads = (double)angle * PI / 180.0; /* Convert angle to radians */
points[i].x = xcenter + (int)( cos(rads) * radius );
points[i].y = ycenter - (int)( sin(rads) * radius * AspectRatio );
angle += step; /* Move to next increment */
}
circle( xcenter, ycenter, radius ); /* Draw bounding circle */
for( i=0 ; i<MAXPTS ; ++i ){ /* Draw the cords to the circle */
for( j=i ; j<MAXPTS ; ++j ){ /* For each remaining intersect */
moveto(points[i].x, points[i].y); /* Move to beginning of cord */
lineto(points[j].x, points[j].y); /* Draw the cord */
} } }
main()
{int driver,mode;
driver=CGA;mode=CGAC0;
initgraph(&driver,&mode,"");
setcolor(3);
setbkcolor(GREEN);
LineToDemo();}
==============================================================
【程序66】
题目:输入3个数a,b,c,按大小顺序输出。   
1.程序分析:利用指针方法。
2.程序源代码:
/*pointer*/
main()
{
int n1,n2,n3;
int *pointer1,*pointer2,*pointer3;
printf("please input 3 number:n1,n2,n3:");
scanf("%d,%d,%d",&n1,&n2,&n3);
pointer1=&n1;
pointer2=&n2;
pointer3=&n3;
if(n1>n2) swap(pointer1,pointer2);
if(n1>n3) swap(pointer1,pointer3);
if(n2>n3) swap(pointer2,pointer3);
printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3);
}
swap(p1,p2)
int *p1,*p2;
{int p;
p=*p1;*p1=*p2;*p2=p;
}
==============================================================
【程序67】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
1.程序分析:谭浩强的书中答案有问题。      
2.程序源代码:
main()
{
int number[10];
input(number);
max_min(number);
output(number);
}
input(number)
int number[10];
{int i;
for(i=0;i<9;i++)
 scanf("%d,",&number[i]);
 scanf("%d",&number[9]);
}
max_min(array)
int array[10];
{int *max,*min,k,l;
int *p,*arr_end;
arr_end=array+10;
max=min=array;
for(p=array+1;p<arr_end;p++)
 if(*p>*max) max=p;
 else if(*p<*min) min=p;
 k=*max;
 l=*min;
 *p=array[0];array[0]=l;l=*p;
 *p=array[9];array[9]=k;k=*p;
 return;
}
output(array)
int array[10];
{ int *p;
for(p=array;p<array+9;p++)
 printf("%d,",*p);
printf("%d\n",array[9]);
}
==============================================================
【程序68】
题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
1.程序分析:
2.程序源代码:
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<n-1;i++)
 scanf("%d,",&number[i]);
scanf("%d",&number[n-1]);
move(number,n,m);
for(i=0;i<n-1;i++)
 printf("%d,",number[i]);
printf("%d",number[n-1]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
 *p=*(p-1);
 *array=array_end;
 m--;
 if(m>0) move(array,n,m);
}
==============================================================
【程序69】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
   圈子,问最后留下的是原来第几号的那位。
1. 程序分析:
2.程序源代码:
#define nmax 50
main()
{
int i,k,m,n,num[nmax],*p;
printf("please input the total of numbers:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
 *(p+i)=i+1;
 i=0;
 k=0;
 m=0;
 while(m<n-1)
 {
 if(*(p+i)!=0) k++;
 if(k==3)
 { *(p+i)=0;
 k=0;
 m++;
 }
i++;
if(i==n) i=0;
}
while(*p==0) p++;
printf("%d is left\n",*p);
}
==============================================================
【程序70】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。   
1.程序分析:
2.程序源代码:
main()
{
int len;
char *str[20];
printf("please input a string:\n");
scanf("%s",str);
len=length(str);
printf("the string has %d characters.",len);
}
length(p)
char *p;
{
int n;
n=0;
while(*p!='\0')
{
 n++;
 p++;
}
return n;
}

分享到:
评论

相关推荐

    经典C程序100例 - C-C++ - Unix爱好者家园.

    经典C程序100例 - C-C++ - Unix爱好者家园.mht经典C程序100例 - C-C++ - Unix爱好者家园.mht经典C程序100例 - C-C++ - Unix爱好者家园.mht经典C程序100例 - C-C++ - Unix爱好者家园.mht经典C程序100例 - C-C++ - ...

    经典c程序100例(61--70)

    "经典C程序100例(61--70)"这个压缩包文件包含的是一系列精选的C语言编程示例,旨在帮助程序员巩固基础知识,提升编程技能。以下是这些程序可能涵盖的一些关键知识点: 1. **数组操作**: - C语言中的数组是存储同...

    经典C语言程序100例.chm

    经典C语言程序100例.chm

    经典C语言程序100例

    《经典C语言程序100例》是一份专为C语言初学者设计的学习资源,它包含了一百个精心挑选的C语言程序实例,涵盖了C语言的基础语法、控制结构、数据类型、函数应用等多个方面。这些实例旨在帮助学习者通过实践来理解和...

    经典C程序100例(word格式)

    这份文档集收录了100个精选的C语言程序实例,涵盖了C语言的核心概念和技术,旨在帮助学习者深入理解C语言的编程思想,并通过实践提升编程能力。 1. **基本语法**:这100个例子中包含了C语言的基本语法元素,如变量...

    《单片机C语言程序设计实训100例-基于8051+Proteus仿真》下载.zip

    《单片机C语言程序设计实训100例——基于8051+Proteus仿真》下载.zip《单片机C语言程序设计实训100例——基于8051+Proteus仿真》下载.zip《单片机C语言程序设计实训100例——基于8051+Proteus仿真》下载.zip《单片机...

    C语言经典例程100例(经典c程序100例).rar_C语言 例程_C语言经典例程100例_silverwrt

    《C语言经典例程100例》是一个深入学习C语言的重要资源,它包含了大量精心设计的编程实例,旨在帮助...同时,结合文档《C语言经典例程100例(经典c程序100例).docx》,可以获取更详细的解释和解析,加深对例程的理解。

    经典C语言程序设计100例

    “经典C语言程序设计100例” 本书共收集了100个经典的C语言程序设计例子,每个例子都附有详细的程序分析和源代码,涵盖了基本数据类型、运算符、控制结构、函数、数组、指针等多方面的知识点。 【程序 1】:有 1、...

    C语言教程及经典程序100例_非常实用---tcstudy.jsp

    C语言教程及经典程序100例_非常实用---tcstudy.jsp详细讲述了一个最基本的程序构建过程,从简到繁……

    较为经典的c语言程序100例

    《C语言程序100例:经典实例解析》 C语言是一种强大且广泛应用的编程语言,它以其简洁、高效和灵活的特点深受程序员喜爱。对于初学者来说,通过一系列经典实例来学习C语言是最有效的途径之一。这个名为"较为经典的...

    经典C语言程序100篇实例

    "经典C语言程序100篇实例"集合了丰富的编程经验,旨在帮助学习者深入理解和掌握C语言的核心概念与编程技巧。 首先,这100个实例覆盖了C语言的基础语法,包括数据类型(如int, char, float, double等)、运算符...

    经典C源程序100例- C语言学习精品-进阶必备

    【描述】中的“经典C源程序100例”表明该压缩包包含100个精心挑选的C语言程序,涵盖了各种编程场景,如数据结构、算法、文件操作、系统调用等。"C语言学习精品"强调这些示例代码是C语言学习过程中的精华部分,能够...

    C 经典100例 C语言的经典小程序,100个经典的小程序

    C 语言经典 100 例 C 语言是一种功能强大且广泛使用的程序设计语言,以下是 100 个 C 语言经典小程序的知识点总结。 程序 1:三位数排列 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数...

    C语言经典程序100例

    根据给定文件的信息,我们可以从中提炼出四个C语言的经典编程示例,并对每个示例进行详细解析。 ### 示例1:生成三个不同的数字组合 #### 问题描述 编写一个程序,生成并打印所有由1到4之间的不同数字组成的三位数...

    经典C语言源程序100例(最常见的).doc

    经典C语言源程序100例(最常见的),WORD文档资料,可供学习及设计参考。 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都...

    经典c程序100例.doc

    本资源摘要信息对应的文件名称为"经典 C 程序 100 例.doc",描述了经典 C 程序 100 例的内容,标签为"c 程序",部分内容包括了四个程序:程序 1、程序 2、程序 3、程序 4。 程序 1:三位数排列 程序 1 的题目是:...

    C语言基础与经典C程序100例

    C语言爱好者网友搜集的学习资料。包括C语言基础、经典C程序100例,以及一些C语言的高级应用。exe格式电子书

    c语言经典c程序100例.rar_c/c_经典c程序

    而"c语言经典c程序100例"则很可能是包含100个实例的源代码文件集合,你可以逐个打开、编译并运行它们,亲身体验和学习C语言的魅力。 总之,《C语言经典程序100例》是学习C语言不可或缺的参考资料,它将带你踏上编程...

    经典C程序100例之1-10

    在《经典C程序100例之1-10》中,作者通过精选的十个C语言程序实例,为读者提供了学习C语言的良好起点。这些程序覆盖了C语言的基本语法、数据类型、流程控制语句等核心概念,旨在帮助初学者快速上手并深入理解C语言的...

Global site tag (gtag.js) - Google Analytics