void sort(int x[],int n)
{
 int i,j,k,t;
 for(i=0;i<n-1;i++)
 {
  k=i;
  for(j=i+1;j<n;j++)
   if(*(x+j)>*(x+k))
    k=j;
   if(k!=i)
   {
    t=*(x+i);
    *(x+i)=*(x+j);
    *(x+j)=t;
   }
 }
}

一、/*输入一批考试分数,用-1作为结束标志,若输入大于100,则提示重新输入,并计算最高分,最低分,平均分*/

d=29;

  1. 程序分析:

「C语言」「例题」函数,c语言例题

    本篇收集《C语言程序设计教程》第八章“函数”的所有例题。

 

威尼斯城真人赌钱网站 1 1
#include <stdio.h> 2 3 //求矩形面积 4 5 print_star()/*
打印星号个数 */ 6 { 7 int i; 8 for(i=0;i<55;i++) 9 printf(“*”); 10
printf(“\n”); 11 } 12 13 float area(float a,float b)/* 求矩形面积函数
*/ 14 { 15 float s; 16 s=a*b; 17 return s; 18 } 19 20 int main()/*
主函数 */ 21 { 22 float a,b,s; 23 print_star(); 24 printf(“please
input a and b:\n”); 25 scanf(“%f,%f”,&a,&b); 26 s=area(a,b); 27
printf(“area=%.2f\n”,s); 28 print_star(); 29 return 0; 30 } 8.1 求矩形面积

 

威尼斯城真人赌钱网站 2 1
#include <stdio.h> 2 3 //无参函数定义举例 4 5 output() 6 { 7
printf(“***********************\n”); 8 printf(”
How are you! \n”); 9
printf(“***********************\n”); 10 } 11 12
int main() 13 { 14 output(); 15 return 0; 16 } 8.2 无参函数定义举例

 

威尼斯城真人赌钱网站 3 1
#include <stdio.h> 2 #define PI 3.1415926 3 4
//求半径为r的圆的面积 5 6 float a(float r) 7 { 8 return(PI*r*r); 9 }
10 11 int main() 12 { 13 float r; 14 printf(“请输入圆的半径:”); 15
scanf(“%f”,&r); 16 printf(“area=%f”,a(r)); 17 return 0; 18 } 8.3 求半径为r的圆的面积

 

威尼斯城真人赌钱网站 4 1
#include <stdio.h> 2 3 //函数表达式调用 4 5 max(int x,int y) 6 {
7 int z; 8 z=(x>y)?x:y; 9 return(z); 10 } 11 12 int main() 13 { 14
int a,b,m; 15 scanf(“%d,%d”,&a,&b); 16 m=max(a,b);/*
max(a,b)作为表达式出现在赋值号右边 */ 17 printf(“max=%d”,m); 18 return
0; 19 } 8.4 函数表达式调用

 

威尼斯城真人赌钱网站 5 1
#include <stdio.h> 2 3 //函数表达式调用出现在实参表中 4 5 max(int
x,int y) 6 { 7 int z; 8 z=(x>y)?x:y; 9 return(z); 10 } 11 12 int
main() 13 { 14 int a,b,c,m; 15 scanf(“%d,%d,%d”,&a,&b,&c); 16
m=max(max(a,b),c); 17 printf(“max=%d”,m); 18 return 0; 19 } 8.5 函数表达式调用出现在实参表中

 

威尼斯城真人赌钱网站 6 1
#include <stdio.h> 2 3
//将用户输入的华氏温度换算成摄氏温度输出。华氏温度与摄氏温度的换算公式为:C=(5/9)*(F-32)
4 5 int ftoc(float f) 6 { 7 return (5.0/9.0)*(f-32); 8 } 9 10 int
main() 11 { 12 float f; 13 printf(“请输入一个华氏温度:\n”); 14
scanf(“%f”,&f); 15 printf(“摄氏温度为:%d”,ftoc(f)); 16 return 0; 17 }
8.6
将用户输入的华氏温度换算成摄氏温度输出

 

威尼斯城真人赌钱网站 7 1
#include <stdio.h> 2 3 //实参与形参之间单向的值传递 4 5 int
main() 6 { 7 int a=3,b=5; 8 swap(a,b); 9 printf(“a=%d,b=%d”,a,b); 10
return 0; 11 } 12 13 void swap(int x,int y) 14 { 15 int t; 16 t=x; 17
x=y; 18 y=t; 19 } 8.7
实参与形参之间单向的值传递

 

威尼斯城真人赌钱网站 8 1
#include <stdio.h> 2 3 //实参的求职顺序 4 5 int main() 6 { 7 int
i=3,p; 8 p=f(i,++i,++i);/* 函数调用 */ 9 //Turbo
C系统按从右至左的顺序求实参的值,相当于(5,5,4) 10 printf(“%d”,p); 11
return 0; 12 } 13 14 int f(int a,int b,int c)/* 函数定义 */ 15 { 16
printf(“%d %d %d\n”,a,b,c); 17 return(a+b+c); 18 } 8.8 实参的求职顺序

 

威尼斯城真人赌钱网站 9 1
#include <stdio.h> 2 3 //数组元素作为函数的形参 4 5 float
max(float x,float y) 6 { 7 if(x>y) return x; 8 else return y; 9 } 10
11 int main() 12 { 13 float
m,a[10]={12.3,105,34.5,50,67,9,78,98,89,-20}; 14 int k; 15 m=a[0];
16 for(k=1;k<10;k++) 17 m=max(m,a[k]); 18 printf(“%2.f\n”,m); 19
return 0; 20 } 8.9
数组元素作为函数的形参

 

威尼斯城真人赌钱网站 10 1
#include <stdio.h> 2 3
//编写冒泡排序函数,对主函数中输入的无序整数按由大到小的顺序进行排序。 4
5 sort(int b[10],int n) 6 { 7 int i,j,t; 8 for(i=0;i<n-1;i++) 9
for(j=0;j<n-i-1;j++) 10 if(b[j]<b[j+1])/*
b[j]和b[j+1]交换 */ 11 { 12 t=b[j]; 13 b[j]=b[j+1]; 14
b[j+1]=t; 15 } 16 } 17 18 int main() 19 { 20 int a[10],i; 21
printf(“Please input 10 numbers:\n”); 22 for(i=0;i<10;i++) 23
scanf(“%d”,&a[i]); 24 sort(a,10);/* 调用函数对数组进行排序 */ 25
printf(“Sorted data is:\n”); 26 for(i=0;i<10;i++) 27 printf(“%d
“,a[i]); 28 printf(“\n”); 29 return 0; 30 } 8.10 编写冒泡排序函数

 

威尼斯城真人赌钱网站 11 1
#include <stdio.h> 2 3
//求3*4的矩阵中所有元素的最大值,要求用函数来实现 4 5 max(int
b[][4]) 6 { 7 int i,j,k,max1; 8 max1=b[0][0]; 9
for(i=0;i<3;i++) 10 for(j=0;j<4;j++) 11 if(b[i][j]>max1) 12
max1=b[i][j]; 13 return (max1); 14 } 15 16 int main() 17 { 18 int
m,a[3][4]={5,16,30,40,23,4,156,8,1,3,50,37}; 19 m=max(a); 20
printf(“max is %d\n”,m); 21 return 0; 22 } 8.11
求3*4的矩阵中所有元素的最大值,要求用函数来实现

 

威尼斯城真人赌钱网站 12 1
#include <stdio.h> 2 3
//输入两个整数,按从小到大的顺序输出,调用swap函数实现变量值的交换。 4 5
swap(int a1,int a2) 6 { 7 int a; 8 a=a1; 9 a1=a2; 10 a2=a;/*
交换a1和a2,m和n不变 */ 11 } 12 13 int main() 14 { 15 int m,n; 16
printf(“Input m,n:”); 17 scanf(“%d%d”,&m,&n); 18 if(m>n)
swap(m,n);/* 实参传送m和n的值 */ 19 printf(“Sorted:%d %d \n”,m,n); 20
return 0; 21 } 8.12
输入两个整数,按从小到大的顺序输出,调用swap函数实现变量值的交换

 

威尼斯城真人赌钱网站 13 1
#include <stdio.h> 2 3 //对用户定义的被调函数作声明 4 5 int
main() 6 { 7 float add(float x,float y);/* 对被调函数的声明 */ 8 float
a,b,c; 9 scanf(“%f,%f”,&a,&b); 10 c=add(a,b); 11 printf(“sum is %f”,c);
12 return 0; 13 } 14 15 float add(float x,float y)/* 函数定义 */ 16 {
17 return (x+y); 18 } 8.13
对用户定义的被调函数作声明

 

威尼斯城真人赌钱网站 14 1
#include <stdio.h> 2 #include <math.h> 3 #define PI
3.1415926 4 5 //函数的嵌套调用 6 7 float area_ring(float x,float y); 8
float area(float r); 9 10 int main() 11 { 12 float r,r1; 13
printf(“input two figures:\n”); 14 scanf(“%f,%f”,&r,&r1); 15
printf(“area_ring is %f “,area_ring(r,r1)); 16 return 0; 17 } 18 19
float area_ring(float x,float y) 20 { 21 float c; 22
c=fabs(area(x)-area(y)); 23 return c; 24 } 25 26 float area(float r) 27
{ 28 return (PI*r*r); 29 } 8.14
函数的嵌套调用

 

威尼斯城真人赌钱网站 15 1
#include <stdio.h> 2 3 //用递归方法n! 4 5 long int fac(unsigned
int n) 6 { 7 long int f; 8 if(n==0) return 1; 9 f=fac(n-1)*n; 10
return(f); 11 } 12 13 int main() 14 { 15 unsigned int n; 16
printf(“input a unsigned interger number:\n”); 17 scanf(“%d”,&n); 18
printf(“%d!=%10ld”,n,fac(n)); 19 return 0; 20 } 8.15 用递归方法n!

 

威尼斯城真人赌钱网站 16 1
#include <stdio.h> 2 3 //利用递归算法求Fibonacci数列 4 5 long
f(int n) 6 { 7 long s; 8 if(n==1 || n==2) 9 return 1; 10
s=f(n-1)+f(n-2); 11 return s; 12 } 13 14 int main() 15 { 16 int n; 17
printf(“please input n:\n”); 18 scanf(“%d”,&n); 19 if(n<0) 20
printf(“error!\n”); 21 else 22
printf(“第%d项Fibonacci数列的值为%ld”,n,f(n)); 23 return 0; 24 } 8.16 利用递归算法求Fibonacci数列

 

威尼斯城真人赌钱网站 17 1
#include <stdio.h> 2 3 //汉诺塔问题 4 5 void haoni(int n,char
x,char y,char z) 6 { 7 if(n==1) printf(“%c->%c\n”,x,z); 8 else 9 {
10 haoni(n-1,x,z,y);/* 递归调用 */ 11 printf(“%c->%c\n”,x,z); 12
haoni(n-1,y,x,z);/* 递归调用 */ 13 } 14 } 15 16 int main() 17 { 18 int
m; 19 printf(“Input the number of disks:”); 20 scanf(“%d”,&m); 21
printf(“The steps to moving %3d disks:\n”,m); 22 haoni(m,’A’,’B’,’C’);
23 return 0; 24 } 8.17 汉诺塔问题

 

威尼斯城真人赌钱网站 18 1
#include <stdio.h> 2 #define PI 3.14 3 4
//已知圆的半径,求周长、面积 5 6 float c,area; 7 8 void f(float r) 9 {
10 c=2*PI*r; 11 area=PI*r*r; 12 } 13 14 int main() 15 { 16 float r;
17 printf(“input radius:”); 18 scanf(“%f”,&r); 19 f(r); 20
printf(“%f,%f\n”,c,area); 21 return 0; 22 } 8.18 已知圆的半径,求周长、面积

 

威尼斯城真人赌钱网站 19 1
#include <stdio.h> 2 3 //比较两个数,输出较大者 4 5 int a=3,b=5;
6 7 max(int x,int y) 8 { 9 int c; 10 c=x>y?x:y; 11 } 12 13 int main()
14 { 15 int a=8; 16 printf(“%d\n”,max(a,b)); 17 return 0; 18 } 8.19 比较两个数,输出较大者

 

威尼斯城真人赌钱网站 20 1
#include <stdio.h> 2 3 //静态局部变量 4 5 int n=1; 6 7 func() 8 {
9 static int a=2;/* 静态局部变量,与main()函数中的a不同 */ 10 a+=2; 11
++n; 12 printf(“func:n=%d a=%d\n”,n,a); 13 } 14 15 int main() 16 { 17
static int a;/* 静态局部变量,初始化为0 */ 18 printf(“main:n=%d
a=%d\n”,n,a); 19 func(); 20 a+=10; 21 printf(“main:n=%d a=%d\n”,n,a);
22 func(); 23 printf(“main:n=%d a=%d\n”,n,a); 24 return 0; 25 } 8.20 静态局部变量

 

威尼斯城真人赌钱网站 21#include
<stdio.h> //自动变量的应用 func(int n) { auto int a=2;/*
自动变量a,每调用一次都要重新赋初值 */ a+=2; ++n; printf(“func:n=%d
a=%d\n”,n,a); } int main() { int a=0;/* 自动变量,与func()不同 */
func(1); printf(“main:n=1 a=%d\n”,a); a+=10; func(2); printf(“main:n=1
a=%d\n”,a); return 0; } 8.21
自动变量的应用

 

威尼斯城真人赌钱网站 22 1
#include <stdio.h> 2 3 //寄存器变量 4 5 int main() 6 { 7 register
int temp=0,j; 8 int i; 9 for(i=1;i<100;i++) 10 { 11
for(j=0;j<1000;j++) 12 temp+=j; 13 printf(“i=%d temp%d”,i,temp); 14
temp%=1; 15 } 16 return 0; 17 } 8.22
寄存器变量

 

威尼斯城真人赌钱网站 23 1
#include <stdio.h> 2 3 //外部变量声明语句 4 5 int main() 6 { 7
extern int a;/* 外部引用声明 */ 8 printf(“%d\n”,a); 9 return 0; 10 }
11 12 int a=5; 8.23 外部变量声明语句

 

威尼斯城真人赌钱网站 24 1
#include <stdio.h> 2 3 //下面程序由两个文件组成,请分析运行结果 4
5 /* 文件一 */ 6 int x=10;/* 定义非静态全局变量x,y */ 7 int y=10; 8
9 add() 10 { 11 y=10+x; 12 x=x*2; 13 } 14 15 int main() 16 { 17 extern
sub();/* 对外部函数sub进行引用声明 */ 18 x+=5; 19 add(); 20 21 22 23
/* 此段内容没印刷上 */ 24 25 26 return 0; 27 } 8.24
下面程序由两个文件组成,请分析运行结果

 

威尼斯城真人赌钱网站 25 1
#include <stdio.h> 2 3 //实现系统提供的字符串复制函数
strcpy()的全部功能 4 5 char *strcpy(char*s1,char *s2) 6 { 7 char
*p=s1;/* 用p保存s1接收来的实参字符数组的首地址 */ 8
while(*s1++=*s2++);/* 当s2指到’\0’时,先赋值完成后循环结束 */ 9
return(p);/* 通过函数名返回指针值 */ 10 } 11 12 int main() 13 { 14
char s[20]; 15 printf(“%s\n”,strcpy(s,”Welocme to you!”));/*
输出返回值指向的内容 */ 16 return 0; 17 } 8.25 实现系统提供的字符串复制函数
strcpy()的全部功能

 

威尼斯城真人赌钱网站 26 1
#include <stdio.h> 2 3
//实现系统提供的字符串连接函数strcat(s1,s2) 4 5 char *strcat(char
*s1,char *s2) 6 { 7 char *p=s1;/*
用p保存s1接收来的实参字符数组的首地址 */ 8 while(*s1) s1++;/*
s1指到’\0’时循环结束 */ 9 while(*s1++=*s2++);/*
当s2指到’\0’时,先赋值完成后循环结束 */ 10 return(p);/*
通过函数名返回指针值 */ 11 } 12 13 int main() 14 { 15 char
s[20]=”Hello,”; 16 printf(“%s\n”,strcat(s,”Welcome to you!”)); 17
return 0; 18 } 8.26
实现系统提供的字符串连接函数strcat(s1,s2)

 

威尼斯城真人赌钱网站 27 1
#include <stdio.h> 2 3 //指向函数的指针程序举例 4 5 int f(int x)
6 { 7 return 3*x*x+5*x-7; 8 } 9 10 int main() 11 { 12 int (*p)();/*
定义p为指向函数的指针变量 */ 13 int a; 14 p=f;/*
对指向函数的指针变量p赋值 */ 15 printf(“Input x=”); 16 scanf(“%d”,&a);
17 printf(“(*p)(a)=%d\n”,(*p)(a));/*
用函数指针参数调用函数,相当于f(a) */ 18
printf(“p(2a)=%d\n”,p(2*a));/* p(a)以指针变量名代替函数名来调用 */
19 return 0; 20 } 8.27
指向函数的指针程序举例

 

威尼斯城真人赌钱网站 28 1
#include <stdio.h> 2 3
//求自然数1~n的奇数和或偶数和,用指向函数的指针变量实现 4 5 int
evensum(int n)/* 求自然数1~n中偶数的和 */ 6 { 7 int i,sum=0; 8
for(i=2;i<=n;i+=2) 9 sum+=i; 10 return sum; 11 } 12 13 int oddsum(int
n)/* 求自然数1~n中奇数的和 */ 14 { 15 int i,sum=0; 16
for(i=1;i<=n;i+=2) 17 sum+=i; 18 return sum; 19 } 20 21 int main() 22
{ 23 int n,sum,flag; 24 int (*p)(int);/*定义指向函数的指针变量*/ 25
printf(“input n:”); 26 scanf(“%d”,&n); 27 printf(“input flag(0 or 1):”);
28 scanf(“%d”,&flag);/* 输入标志 */ 29 if(flag==1) p=oddsum;/*
当flag为1时,p指向函数oddsum */ 30 else p=evensum;/*
当flag尾华1时,p指向函数evensum */ 31 sum=(*p)(n); 32
printf(“sum=%d\n”,sum); 33 return 0; 34 } 8.28
求自然数1~n的奇数和或偶数和,用指向函数的指针变量实现

 

威尼斯城真人赌钱网站 29 1
#include <stdio.h> 2 3 //用指向函数的指针变量作为函数的参数 4 5
int evensum(int n)/* 求自然数1~n中偶数的和 */ 6 { 7 int i,sum=0; 8
for(i=2;i<=n;i+=2) 9 sum+=i; 10 return sum; 11 } 12 13 int oddsum(int
n)/* 求自然数1~n中奇数的和 */ 14 { 15 int i,sum=0; 16
for(i=1;i<=n;i+=2) 17 sum+=i; 18 return sum; 19 } 20 21 int
result(int n,int (*p)(int)) 22 { 23 int sum; 24 sum=(*p)(n);/*
调用p所指向的函数 */ 25 return sum; 26 } 27 28 int main() 29 { 30 int
n,sum,flag; 31 printf(“input n:”); 32 scanf(“%d”,&n); 33 printf(“input
flag(0 or 1):”); 34 scanf(“%d”,&flag); 35 if(flag==1)
sum=result(n,oddsum); 36 else sum=result(n,evensum); 37
printf(“sum=%d\n”,sum); 38 return 0; 39 } 8.29
用指向函数的指针变量作为函数的参数

 

威尼斯城真人赌钱网站 30 1
#include <stdio.h> 2 #define N 30 3 4 //编写#include
<stdio.h> 5 #define N 30 6 7
//编写一个单科成绩分析统计程序,要求如下: 8
//(1)从键盘输入N名同学的成绩 9 //(2)求其平均分、最高分、最低分 10
//(3)并统计各分数段人数和及格率 11 //(4)对学生成绩进行降序排序 12
//(5)使用菜单完成各功能 13 14 input(float s[],int n) 15 { 16 int i; 17
printf(“请输入%d名学生的成绩:\n”,n); 18 for(i=0;i<n;i++) 19
scanf(“%f”,&s[i]); 20 } 21 22 count(float s[],int n) 23 { 24 int
i,j,b[10]={0,0,0,0,0,0,0,0,0,0}; 25 int failure=0; 26
for(i=0;i<n;i++) 27 { 28 j=s[i]/10; 29 b[j]++; 30 } 31 printf(”
0-9 ,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-100\n”); 32
for(i=0;i<10;i++) 33 printf(” %-4d”,b[i]); 34 for(i=0;i<6;i++)
35 failure+=b[i]; 36
printf(“\n及格率:%2.f%%\n”,(n-failure)/n*100); 37 } 38 39
avemaxmin(float s[],int n,float *aver,float *max,float *min) 40 {
41 int i; 42 float sum; 43 for(i=0;i<n;i++) 44 sum+=s[i]; 45
*min=s[0]; 46 *max=s[0]; 47 for(i=0;i<n;i++) 48
if(s[i]<s[0]) 49 *min=s[i]; 50 if(s[i]>s[0]) 51
*max=s[i+1]; 52 *aver=sum/n; 53 } 54 55 sort(float s[],int n) 56 {
57 int i,j,t; 58 for(i=0;i<n;i++) 59 for(j=0;j<n-i-1;j++) 60
if(s[j]<s[j+1]) 61 { 62 t=s[j]; 63 s[j]=s[j+1]; 64
s[j+1]=t; 65 } 66 } 67 68 output(float s[],int n) 69 { 70 int i; 71
printf(“排序后的成绩为:\n”); 72 for(i=0;i<n;i++) 73 printf(“%.2f
“,s[i]); 74 printf(“\n”); 75 } 76 77 int main() 78 { 79 int choice,n;
80 float s[N],aver,max,min; 81 do 82 { 83
printf(“1.输入N名同学成绩(必须先输入成绩)\n”); 84
printf(“2.求平均分、最高分、最低分\n”); 85
printf(“3.分段统计人数和及格率\n”); 86 printf(“4.排序\n”); 87
printf(“0.退出系统\n”); 88 printf(“请选择(0~4):请输入选择:”); 89
scanf(“%d”,&choice); 90 switch(choice) 91 { 92 case 1: 93
printf(“请输入学生人数:”); 94 scanf(“%d”,&n); 95 input(s,n); 96 break;
97 case 2: 98 avemaxmin(s,n,&aver,&max,&min); 99
printf(“平均分=%.2f,最高分=%.2f,最低分=%.2f\n”,aver,max,min); 100
break; 101 case 3: 102 count(s,n); 103 break; 104 case 4: 105 sort(s,n);
106 output; 107 break; 108 case 0:break; 109 } 110 }while(choice!=0);
111 return 0; 112 },要求如下: 113 //(1)从键盘输入N名同学的成绩 114
//(2)求其平均分、最高分、最低分 115 //(3)并统计各分数段人数和及格率 116
//(4)对学生成绩进行降序排序 117 //(5)使用菜单完成各功能 118 119
input(float s[],int n) 120 { 121 int i; 122
printf(“请输入%d名学生的成绩:\n”,n); 123 for(i=0;i<n;i++) 124
scanf(“%f”,&s[i]); 125 } 126 127 count(float s[],int n) 128 { 129
int i,j,b[10]={0,0,0,0,0,0,0,0,0,0}; 130 int failure=0; 131
for(i=0;i<n;i++) 132 { 133 j=s[i]/10; 134 b[j]++; 135 } 136
printf(” 0-9
,10-19,20-29,30-39,40-49,50-59,60-69,70-79,80-89,90-100\n”); 137
for(i=0;i<10;i++) 138 printf(” %-4d”,b[i]); 139 for(i=0;i<6;i++)
140 failure+=b[i]; 141
printf(“\n及格率:%2.f%%\n”,(n-failure)/n*100); 142 } 143 144
avemaxmin(float s[],int n,float *aver,float *max,float *min) 145 {
146 int i; 147 float sum; 148 for(i=0;i<n;i++) 149 sum+=s[i]; 150
*min=s[0]; 151 *max=s[0]; 152 for(i=0;i<n;i++) 153
if(s[i]<s[0]) 154 *min=s[i]; 155 if(s[i]>s[0]) 156
*max=s[i+1]; 157 *aver=sum/n; 158 } 159 160 sort(float s[],int n)
161 { 162 int i,j,t; 163 for(i=0;i<n;i++) 164 for(j=0;j<n-i-1;j++)
165 if(s[j]<s[j+1]) 166 { 167 t=s[j]; 168 s[j]=s[j+1]; 169
s[j+1]=t; 170 } 171 } 172 173 output(float s[],int n) 174 { 175 int
i; 176 printf(“排序后的成绩为:\n”); 177 for(i=0;i<n;i++) 178
printf(“%.2f “,s[i]); 179 printf(“\n”); 180 } 181 182 int main() 183
{ 184 int choice,n; 185 float s[N],aver,max,min; 186 do 187 { 188
printf(“1.输入N名同学成绩(必须先输入成绩)\n”); 189
printf(“2.求平均分、最高分、最低分\n”); 190
printf(“3.分段统计人数和及格率\n”); 191 printf(“4.排序\n”); 192
printf(“0.退出系统\n”); 193 printf(“请选择(0~4):请输入选择:”); 194
scanf(“%d”,&choice); 195 switch(choice) 196 { 197 case 1: 198
printf(“请输入学生人数:”); 199 scanf(“%d”,&n); 200 input(s,n); 201
break; 202 case 2: 203 avemaxmin(s,n,&aver,&max,&min); 204
printf(“平均分=%.2f,最高分=%.2f,最低分=%.2f\n”,aver,max,min); 205
break; 206 case 3: 207 count(s,n); 208 break; 209 case 4: 210 sort(s,n);
211 output; 212 break; 213 case 0:break; 214 } 215 }while(choice!=0);
216 return 0; 217 } 8.30
一个单科成绩分析统计程序

 

威尼斯城真人赌钱网站 31 1
#include <stdio.h> 2 3
//通过调用一个函数,将整型数组的所有元素都加3 4 5 void add(int b[],int
n) 6 { 7 int i; 8 for(i=0;i<n;i++) 9 b[i]+=3; 10 } 11 12 int main()
13 { 14 int i,a[8]={1,2,3,4,5,6,7,8}; 15 add(a,8); 16
for(i=0;i<8;i++) 17 printf(“%4d”,a[i]); 18 return 0; 19 } 8.31
通过调用一个函数,将整型数组的所有元素都加3

 

威尼斯城真人赌钱网站 32 1
#include <stdio.h> 2 3 //利用插入排序法将10个字符从小到大进行排序
4 5 insert(char s[]) 6 { 7 int i,j,t; 8 for(i=1;i<9;i++) 9 { 10
t=s[i]; 11 j=i-1; 12 while((j>=0)&&(t<s[j])) 13 { 14
s[j+1]=s[j]; 15 j–; 16 } 17 s[j+1]=t; 18 } 19 } 20 21 int main()
22 { 23 char a[11]; 24 int i; 25 printf(“Input 10 character:”); 26
for(i=0;i<10;i++) 27 a[i]=getchar(); 28 a[i]=’\0′;/*
在10个字符后面加上’\0’,形成字符串 */ 29 insert(a); 30 printf(“Sorted
character is:%s\n”,a);/* 将已排序的10个字符输出 */ 31 return 0; 32 }
8.32
利用插入排序法将10个字符从小到大进行排序

 

威尼斯城真人赌钱网站 33 1
#include <stdio.h> 2 3
//十进制与其他进制(二至九进制)数间的互相转换,程序能够自动帮助用户纠正输入错误
4 5 long change(int a[],int len,int b) 6 /*
把输入的字符数字转换成十进制数字 */ 7 { 8 int i,k=1; 9 long num=0; 10
for(i=1;i<=len;i++) 11 { 12 num=num+a[i]*k; 13 k=k*b;/*
k表示权值 */ 14 } 15 return num; 16 } 17 18 ten_to_oth()/*
十进制转换为其他进制 */ 19 { 20 int sum,n,i=0,j,arr[80]; 21
printf(“Please input a Dec_num:”);/* 输入10进制数 */ 22
scanf(“%d”,&sum); 23 printf(“Please input the base:”);/*
输入想要转换的进制 */ 24 scanf(“%d”,&n); 25 do 26 { 27 i++; 28
arr[i]=sum%n;/* 从下标1开始计数 */ 29 sum=sum/n; 30 if(i>=80) 31
printf(“overflow”); 32 }while(sum!=0); 33 printf(“The result is:”); 34
for(j=i;j>0;j–) 35 printf(“%d”,arr[j]); 36 printf(“\n”); 37 } 38
39 oth_to_ten()/* 其他进制转换为十进制 */ 40 { 41 int
base,i,num,arr[80]; 42 long sum=0; 43 char ch; 44 /*
想将几进制数转换成十进制数,请输入 */ 45 printf(“Please input the base
you want to change :”); 46 scanf(“%d”,&base); 47 /* 请输入该数 */ 48
printf(“Please input number:”); 49 scanf(“%d”,&num); 50
for(i=1;num!=0;i++) 51 { 52 arr[i]=num%10;/* 从下标1开始计数 */ 53
num=num/10; 54 } 55 sum=change(arr,i-1,base); 56 printf(“The result
is:%ld\n”,sum); 57 } 58 59 int main() 60 { 61 int flag=1; 62
while(flag!=0) 63 { 64 printf(“1:ten_to_oth\n”); 65
printf(“2:oth_to_ten\n”); 66 printf(“0:exit\n”); 67 printf(“Enter a
number:”); 68 scanf(“%d”,&flag); 69 switch(flag) 70 { 71 case
1:ten_to_oth();break;/* 其他进制转换为十进制 */ 72 case
2:oth_to_ten();break;/* 十进制转换为其他进制 */ 73 case 0:return 0;
74 } 75 } 76 return 0; 77 } 8.33进制转换器

 

威尼斯城真人赌钱网站 34 1
#include <stdio.h> 2 #include <math.h> 3 4
/*一个素数经过任意次调换位,任然为素数,则称其为绝对素数, 5
例如,13(31)就是一个绝对素数。求两位的所有绝对素数并输出。*/ 6 7 int
prime(int n)/* 判断一个数是否是素数 */ 8 { 9 int i; 10 if(n<=1)/*
小于2不是素数 */ 11 return 0; 12 else if(n==2)/* 2是素数 */ 13 return
1; 14 else/* 大于2要判断是不是 */ 15 { 16 for(i=2;i<sqrt(n);i++) 17
if(n%i==0)/* 一旦能整除i,则n不是素数 */ 18 return 0; 19 return 1;/*
如鼓苤葱姓馓跤锞洌韓从来没被i整除过,是素数 */ 20 } 21 } 22 23 int
ab_prime(int m)/* 判断一个位数是否是绝对素数 */ 24 { 25 int a; 26
a=(m%10)*10+m/10;/* 得到换位后的数 */ 27 if(prime(m)&&prime(a))/*
m和a都是素数,则m为绝对素数,否则不是 */ 28 return 1; 29 else 30 return
0; 31 } 32 33 int main() 34 { 35 int i; 36 for(i=10;i<100;i++) 37
if(ab_prime(i))/* 循环从10到99找绝对素数 */ 38 printf(“%d,”,i);/*
是绝对素数则输出 */ 39 return 0; 40 } 8.34 绝对素数的判断

 

本篇收集《C语言程序设计教程》第八章函数的所有例题。 1 #include stdio.h
2 3 // 求矩形面积 4 5 print_sta…

//NO.2选择法排序
#include<stdio.h>

int i,n,j;

printf(“排序后的数组为:\n”);

}

void main()
{
 int a[10];
 int i;
 for(i=0;i<10;i++)
  scanf(“%d”,*(a+i));
 inv(a,10);
 for(i=0;i<10;i++)
  printf(“%d”,*(a+i));
}

for(i=0;i<n;i++)

* * *

rectangle(20-2*i,20-2*i,10*,10*;

//NO.1将a数组中的N个数按逆序排列
#include<stdio.h>

do{

case 7:

#include<stdio.h>

void inv(int a[],int n)
{
 int i;
 int j=(n-1)/2;
 int temp;
 for(i=0;i<j;i++)
 {
  temp=a[i];
  a[i]=a[n-i-1];
  a[n-i-1]=temp;
 }
 return;
}

int main()

f=n;

#include<stdio.h>

void inv(int a[],int n);

if<0)

break;

}

void sort(int x[],int n);

max=mark;

闰年的条件是:能被4整除但不能被100整除,或者能被400整除。*/

==============================================================

void main()
{
 int a[10];
 int i;
 int *p;
 p=a;
 for(i=0;i<10;i++)
 scanf(“%d”,p++);
 p=a;
 sort(p,10);
 for(i=0;i<10;i++)
  printf(“%d”,*p++);
}

* * * * *

return sum;

if

{

printf(“%d年%d月份有%d天\n”,y,m,d);

*/

printf;

m++;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

}

}

intlen,i,j=0;

return 0;

printf; //输完每一行后换行

p++;

int main()

return;

#include<stdio.h>

int i,n=20;

}

if

return 0;

for (i=1;i<=9;i++)

else

}

{ int i,j;

2.程序源代码:

int main()

else t++;}

设置一个低4位全为1,其余全为0的数。可用~(~0<<4)

{

void copy(char c[],char b[])

#ifdef MAX

}

int a,b,c,temp;

}

int sum=0;

}

int n,s,i,m;

}

{if break;}

*/

for(i=0;i<n;i++)

{

#include<stdio.h>

}

return 0;

else{

fx1=x1**x1+3)-6;

#include <string.h>

if{ //交换z,y的值

}

c++;

a=n/100; //百位

}

else f=1;

floatsum;

}

for(i=1;i<=20;i++)

2.程序源代码:

}

#include <stdio.h>

charname[20];

x1=x0;

#include<stdio.h>

printf;

continue;

printf;

}

#include<stdio.h>

#include <stdio.h>

for(n=2;n<=10;n++){

{

else if(‘0′<=j && ‘9’>=j)

bonus10=bonus6+400000*0.015;

int
a[N],b[N],i,n;//定义一维数组为a[N],逆序存放以后的数组位b[N],输入数组的大小为n,循环次数i

printf(“%.0f\n”,power;

if(c[i]>c[j]){

}

void main()

for(i=0;i<N;i++)

max=a[0][0];//初始化max

s=s+a;

圹圹圹圹圹圹圹圹

a+=b;

十二、
//输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

int i,j,min,tem,a[N];

scanf(“%d%d”,&n,&m);//输入行与列数

puts;

move(number,n,m);

{

switch

1.程序分析:

printf;

printf(“%d “,a[i]);

..

#include<stdio.h>

for(i=0;i<3;i++)

void main(){

十、 //求该数列前20项的和:2/1,3/2,5/3,8/5,13/8……

return t;

   输入的字符串以!结束。

return 0;

for(i=2;i<x;i++)

else{

for(i=1;i<=10;i++)

*

for(i=0;i<5;i++)

#define N 100

b[j]=’\0′;

#include “stdlib.h”

if

printf;

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

x=i;//将i赋值给x

for(j=0;j<3;j++)

题目:企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

if

{int i,j=0;

Please input number==>32

k=sqrt;

int main()

/*

double s=0,a=2,b=1,t;

gets;

printf(“\1:The different is %6.3f\n”,(end-start));

}

for (x=100;x<=200;x++)

aa[0]=a%10;

printf(“enter x1 & x2:”);

for(i=0;i<10;i++)

==============================================================

int mark,n=0,sum=0,max=0,min=100;

q++;

printf;

return 0;

* * * * * * *

printf(” %d equal to %d \n”,i,j);

break;

b[j]=’\0′;

Press any key to continue

*/

{

}

{

case 9:

==============================================================

while>=1e-5);

printf;

 {

scanf(“%f%f”,&x1,&x2);

}

/*

int main()

return f;

intcolor=0;

* * * * * * * * *

for(i=0;i<n;i++)

p2=str2;

printf;

scanf(“%d”,&a[i]);

}

七、 //完数:一个数恰好等于它的因子之和,找出1000以内的完数

float b,s=0;

int n;

if(mark>max)

}

题目:八进制转换为十进制

a[n-i-1]=temp;//temp赋值给a[n-i-1]

m=m+a[i][j];

tmp=pointer;

{

sum++;

k=0;

break;

printf;

}

{

for(i=0;i<3;i++)

case 12:sum=334;break;

printf(“input n:”);//提示输入

{ int y,m,d;

printf;

scanf(“%d”,&a[i]);//输入

printf;

#include<stdio.h>

九、 //判断素数

1 2 3 4 3 2 1

printf;

}

else if

output;

for

for(j=0;j<3;j++)

printf(“please input second letter: “);

for(i=0;i<m;i++)//双重for循环求出矩阵中最大的元素,i从0开始,循环m次

八、 //用选择法对10个整数排序。10个整数用scanf函数输入。

Press any key to continue

for(j=0;j=n-1-i;j++);

t=t*x;

doublevar;

#define M 100

int temp;

gotoxy;printf;

#include<stdio.h>

void main()

scanf(“%d”,&stu[i].score[j]);

for(i=0;i<n;i++)//i从0开始,循环n次

for (i=0;s[i]!=’\0′;i++)

outtextxy(10,170,”pressa key”);

二、阶乘函数

1 2 1

void main(){

}

void main()

*/

s+=i;

}

/*

x0=/2;

#include<stdio.h>

}

{

case 12: d=31;break;

initgraph(&driver,&mode,””);

printf;

#include<stdio.h>

n=temp;

a[i]=a[n-i-1];//逆序

printf(“需要对多少数进行排序:”);

printf;

s+=a/b;

}

else if

{

for(n=1,a=1;n<=i;n++)

题目:要求输出国际象棋棋盘。

三、 //逆序输出数组元素

return f;}

if

六、 /*打印下述图案

int a=0,b=0,c=0,d=0;

2.程序源代码:

#include<stdio.h>

if(a[i]>a[i+1])

print(struct student stu[]){

t=a;

s=s+b;}

else if

scanf(“%d”,&n);

int main()

swap(int *p1,int *p2){

fx2=fx0;

{int prime;

4

printf(“%d\n”,sum);

{void paixu(int a[],int n);

#include <stdio.h>

#include<stdio.h>

int count;

inti,m=0;

* * * * * * *

#include<stdio.h>

}

for(i=1;i<=n;i++)

printf(“大写字母有%d个\n小写字母有%d个\n数字有%d个\n空格有%d个\n其他字符有%d个\n”,m,n,p,q,t);

void main(){

{

if f=0;

case ‘W’:printf(“wednesday\n”);break;

for(i=50;i<=80;i++)

十八、 //S=1!+2!+3!+……10!进制

/*

{

{

==============================================================

#include<stdio.h>

}

else //deletethe other node

if

return 0;

*/

{

double power(int x,int n)

}

}

power;

varfunc(){

continue;

{for (j=1;j<=10-i;j++) printf; //输出*之前的空格

void main(){

{

int i,j,m,min,t,a[10];

if{

#include<math.h>

{int prime;

hello_world(); //调用此函数

使用循环结构打印下述图形,打印行数n由用户输入。打印空格时使用”%s”格式,向printf函数传递只包含一个或多个空格的字符串”
“,下同。

return 0;

start=time;

}

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

while{

int
a[N][M],n,m,i,j;//定义二维数组a[M][N]表示矩阵,n与m表示行与列,i与j表示循环次数

int prime

/*

return 0;

void main()

s=0;

sum+=func;

int i,a=1,b=0;

1.程序分析:利用指针方法。

{

十、 //写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。

sprintf(chtime,”%4d.%02d.%02d”,d.da_year,d.da_mon,d.da_day);

else

case 5:

num=2;

scanf(“%d”,&mark);

printf(“字母%d 数字%d 空格%d 其他%d\n”,a,b,c,d);

tmp->next=tmp->next->next;

ave=sum/n;

printf;

题目:求1+2!+3!+…+20!的和

{

if printf;

fp=fopen(“test”,”r”);

* * *

return 0;

   一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,

for(j=0;j=2*i+1;j++)

return 0;

printf(“The sum is %d\n”,tmp);

sum+=mark;

case 10:

2.程序源代码:

{

1 2 3 4 5 4 3 2 1

2.程序源代码:

printf;

int main()

for(i=’x’;i<=’z’;i++){

printf(“x=%6.2f\n”,x0);

要求:

}

for(i=2;i<=k;i++)

for(i=1;i<=10;i++)

strcat;

}

printf;

73 79 83 89 97

else

case 11:d=30;

scanf(“%d%d %d”,&n1,&n2,&n3);

#include<stdio.h>

1

case ‘M’:printf(“Monday\n”);break;

{

四、 编写一个函数,统计字符数组中大写字母的个数。

int n=0;

for(j=0;j<m;j++)//j从0开始,循环n次

if(a[i]!=’a’)

aa[i]+=5;

问题描述

if (m%4==0&&m%100!=0 || m%400==0) //判断是否为闰年

printf(” The lower one is %d\n”,MINIMUM;

int max,x=0,y=0;//定义最大的元素为Max;x为行号初始化为0;y为列号初始化为0

{

for(i=0;i<=4;i++){

return 0;

{int x,n;

while(*p1!=’\0′){

{

scanf(“%d%d”,&x,&n);

printf(“%d\n”,min);

int i=1;

方法二:

5!=120

fx1=fx0;

t=a[i];a[i]=a[m];a[m]=t;

}

printf(“%6d”,b[i]);//输出

if (i==j || i+j==2)

if(num>=50)

return 0;

else if(str[i][j]>=’0’&&str[i][j]<=’9′)

space++;

void fun(int a[],int n)//函数参数,数组与数组的大小

十六、 /*输出如下图形。

cprintf(“This is color %d\n”,color);

break;

#include<stdio.h>

}

b[i]=a[i];//将a[i]赋给b[i]

b=b+a;}

clock_tstart,end;

float x0,x1,x2,fx0,fx1,fx2;

int main()

void main(){

return 0;

}

c=10;

else

{int i,k=0;

line(130,60,480,60);

int n,i;

保留判别素数的函数,修改主函数,要求实现输出100~200之前的素数。

}

int i,temp;//定义整型变量i表示循环次数,temp为存储变量

}

printf(“%c%c%c%c%c\n”,b,a,a,a,b);

b=t;

}

}

}

scanf(“%d”,&a[i][j]);

printf;

#include<stdio.h>

}

for(k=0;k<5;k++){

printf(“请输入最大的元素为:%d,行号为:%d,列号为:%d\n”,max,x,y);//输出

a=a*n;

int n;

float ave;

{

printf(“最小公倍数为:%d\n”,n*m/a);

}

paixu;

@ @

{

*pb = temp;

*/

#define N 100

if(str[i][j]>=’A’&&str[i][j]<=’Z’)

***

for(i=2;i<n-1;i++)

int main()

#include <stdio.h>

scanf(“%d”,&a[i][j]);//输入矩阵元素

else

}

max=a[i][j];//将a[i][j]赋值给Max

char j;

2.程序源代码:

if

return f;}

x1=x1+5;

四、
/*有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号*/

printf;

例: 设置文本背景颜色为蓝色:

int main()

{

for(j=1;j<=50;j++){

}

printf;

#include<stdio.h>

if

gets;

for(i=0;i<n;i++){

return 0;

case 1:

a=*i+(2*PAI/180)*k;

{

void main()

==============================================================

if(n==0||n==1)

{

2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

if

{int i,f;

while!=’\0′){

for(i=0;i<n;i++)//i从0开始,循环n次

{case 2:

}

}

for(i=0;i<n-1-j;i++)

1.程序分析:

八、 /*用二分法求方程2x^3-4x^2+3x-6=0在给定区间的根。*/

else if(str[i][j]>=’a’&&str[i][j]<=’z’)

Press any key to continue

scanf(“%d”,&n);

else

2.程序源代码:

if

else

#include <stdio.h>

{

for(j=i+1;j<10;j++)

num=2;

printf(“%d is\n”,n);

{void copy(char c[],char b[]);

}

int func

printf(“input string:\n”);

3!=6

{

for(i=2;i<x;i++)

}

min=mark;

Le=count; //调用count函数

1 8 2856 70 5628 8 1

return 0;

{int i,j,t;

restorecrtmode();

{

scanf(“%d”,&n);

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

#include<stdio.h>

m=i;min=a[i];

}

{

for(i=0;c[i]!=’\0′;i++)

#else

if

{int i,m=1,n=2,a;

printf(“Hello C-world!\n”);

int m,s,i;

#include <stdio.h>

4 is left

}

n++;

setcolor;

s=0;

printf;

printf(“Thevalue is ==>%d\n”,ptr->data);

int main()

}

将上面二者进行&运算。

#include<stdio.h>

void swap(int *pa,int *pb) {

Please input number==>54

scanf(“%d”,&n);

int main()

scanf(“%o”,&a);

int main()

int a[3][3],i,j,m=0;

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54

}

void main()

4,3,1 the number is 431

五、 //输出50到80之间不能被5整除的整数,并每五个一行

}

}

#include<stdio.h>

int a,x;

printf(” The larger one is %d\n”,MAXIMUM;

fun;//函数的调用

for(i=0;i<10;i++)

==============================================================

int main()

五、从键盘输入一个字符串,删除其中的字母
a后输出。例如,输入字符串”abcaca”,输出 bcc。

c[k]=’\0′;

}

void main() {

intc;

{

1 2 3 4 5 6 7 6 5 4 3 2 1

Press any key to continue

do{

{char string[100],Le;

intscore[4];

printf(“%d is\n”,n);

}

*/

if(mark<min)

copy;

#include<stdio.h>

}

temp = *pa;

start=clock();

fx2=x2**x2+3)-6;

#include <stdio.h>

#include “stdio.h”

if(a[i][j]>max)//如果a[i][j]大于Max时

for(i=1;i<=10;i++)

2.程序源代码:

}

}

s*=8;

temp=a[i];//将a[i]赋值给temp

三、写一函数,对输入的一组整数按由小到大的顺序排序,在main主函数调用该函数实现排序

Press any key to continue

*

if swap(&a,&b);

for(i=1;i<num;i++){

printf(“%d,its factors are”,m);

else d++;

******

for(i=0;i<n/2;i++)//i从0开始,循环n次

*/

#include “stdio.h”

printf;

}

}

}

scanf(“%d”,&n);

void main(){

}

}

lt=time; //system time anddate

return 1;

else if(str[i][j]==’ ‘)

#include<stdio.h>

for(i=1;i<m;i++)

#include<stdio.h>

for(i=0;i<=25;i++){

printf(“max=%d,min=%d,ave=%.2f”,max,min,ave);

*pa = *pb;

ifptr->next=NULL;

}

f=Fibonacci+Fibonacci;

==============================================================

printf(“sum=%5.2f\n”,s);

{ if (i%3==0 && i%5!=0)

a[i]=a[N-i-1];

fx0=x0**x0+3)-6;

1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1

}

int n,i,k;

void main()

Press any key to continue

}

* * * * *

以#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作;

int main()

printf(“请输入年份和月份”);

#include<math.h>

int main()

case 8:

/*

x2=x0;

}

void main(){

}

{a=a*i;

Press any key to continue

for(i=1;i<m;i++)

void main()

#else

printf(“Please reinput:\n”);

1 2 3 4 5 6 5 4 3 2 1

gotoxy;

{

gets;

#include<stdio.h>

printf;

char str[3][80];


printf(“%d is not\n”,n);

{min=a[j];m=j;}

The number is: 1048576

for(m=2;m<1000;m++)

}

printf(“%d\n”,array[9]);

if(mark>100)

for(j=0;j<n;j++)

printf(“The sum of duijiaoxian is %6.2f.\n”,sum);

#include<math.h>

{int i,s,a,n;

2.程序源代码:

/*

#include <string.h>

typedef struct list node;

}

for(i=0;i<n;i++)

3,2,4 the number is 324

y=j;//将j赋值给y

#include <stdio.h>

intn1,n2,n3;

printf(“%d is not\n”,n);

scanf(“%d”,&a[i]);

outtextxy(150,40,”Howbeautiful it is!”);

printf;

for(j=0;j<strlen;j++)

 printf(“%d\n”,k[n]);

{

case 3:

driver=VGA;

for(i=0;i<m;i++)//双重for循环输出矩阵,i从0开始,循环m次

for (j=1;j<=i;j++)

Press any key to continue

}while(fx1*fx2>0);

for(i=0;i<3;i++)

Press any key to continue

return n*func;

int a,x;

gotoxy;printf(“%s”,chtime);ch[0]=getch();

scanf(“%d”,&n);//输入

void main()

}

}

{int i,f;

exit;

for(j=0;j<n;j++)//j从0开始,循环n次

}

int day,x1,x2=1;

printf;

{

if(i<=100000)

{

for(i=0;i<9;i++)

#define BOTTOM 479

int main()

return;

case ‘M’:printf(“monday\n”);break;

{

二、
编写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后在主函数中输出。

inti=10;

int i;

}

printf(“Please input a number: “);

printf(“请输入矩阵的行数与列数:”);//提示输入

int a[100],i,n;

ptr=create_list;

{

b++;

:var equal 0

if

{b[j]=a[i];j++;}

if((c>=’a’&&c<=’z’)||(c>=’A’&&c<=’Z’))

return 0;

}

}

{

scanf(“%d%d%d”,&a,&b,&c);

#include “graphics.h”

}

{a=prime;

}

}

方法一:

if(*p>*max)

{

if (s[i]>=’A’ && s[i]<=’Z’)

c=n%10; //个位

n++;

九、
//用递归法求Fibonacci数列第n项的值。该数列有如下的特点:第1个数和第2个数都为1,从第3个数开台,每个数都是其前面两个数之和。即:

p1++;

else

s=0;

#include “graphics.h”

printf;//换行

if f=0;

a=234;

{

1 2 3 4 5 6 7 8 7 6 5 4 3 2 1

if((fp=fopen(“home.dat”,”a+”))!=NULL);

六、
有一篇文章,共有3行文字,每行有80个字符,要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

intdriver,mode,i;

for (j=1; j<=2*i-1;j++)printf;// 输出每一行的”*”

main(){

if

void main(){

if(min>a[j])

   共有5个数相加),几个数相加有键盘控制。

十五、 /*打印如下图形。请填空。

#include <stdio.h>

{

#include<stdio.h>

}

int*p,array_end;

for(i=0;(a[i]!=’\0′);i++)

for(i=0;i<6;i++)

{for (j=1;j<=20-i;j++)

else{

if(n==0||n==1)

2.程序源代码:

printf(“大写字母有%d个”,Le);

}

return 0;}

void main(){

for(;(j=getchar!=’\n’;)

==============================================================

int main()

#include<stdio.h>

printf(“%2d”,a[i]);

}

void main()

printf; //输出两个笑脸

#include <stdio.h>

while((c=getchar{

#include<stdio.h>

void main(){

函数名为prime,如果是素数,函数返回值为1,如果不是素数,函数返回值为0。

printf(“please input two strings\n”);

scanf(“%d,%d”,&y,&m);

printf(“Thursday\n”);

十四、 /*以下程序的功能为:通过输入年份和月份,判断该月的天数。请填空。

structdate d;

{int sum=0,i;

setcolor;

}

wan=x/10000;

return 0;

#include<stdio.h>

}

4,2,3 the number is 423

printf(“\n个数:%d\n”,k);

cprintf(“Press any key to continue\r\n”);

printf;

else

一年中1、3、5、7、8、10、12月份均为31天;4、6、9、11月份均为30天;如果该年是闰年,则2月份为29天,否则为28天。

}

a=prime;

==============================================================

void paixu(int a[],int n)

bottom=y-30;

1 2 3 2 1

4,1,3 the number is 413

else f=1;

setcolor;

{

void main(){

}

#if 条件语句
程序段1 //如果条件语句成立,那么就编译程序段1
#endif
程序段2 //如果条件不语句成立,那么就编译程序段2

for (i=1;i<=100;i++)

}

{

void selection_sort(link pointer,int num){

七、 //求一个3×3的整数矩阵对角线元素之和。

1.程序分析:

p++;

9 6 5 4 1 8 9 6 4 2

a++;

}

scanf(“%d”,&x);

if

int main()

max=min=array;

return;

int fact;

int i,j,m=0,n=0,p=0,q=0,t=0;

pointer=delete_node(pointer,btmp);

#include <stdio.h>

}

#include<stdio.h>

    k[n]=i;

for (i=1;i<=4;i++)

while(ch[0]!=’\r’){

char a[100],b[20];

if{

printf;

1.程序分析:关键是计算出每一项的值。

{

end=clock();

if(c[i]==’a’||c[i]==’A’||c[i]==’e’||c[i]==’E’||c[i]==’i’||c[i]==’I’||c[i]==’O’||c[i]==’o’||c[i]==’u’||c[i]==’U’)

圹 圹 圹 圹

}

i++;

}

}

#include<stdio.h>

y=ceil(y0+48*sin;

case 6:

}

for(;n>=1;n–)

2.程序源代码:

{ long f;

gotoxy;printf;

case 4:

typedef node *link;

}

floodfill(202,100,WHITE);

#include<stdio.h>

}

#include <stdio.h>

elseif(var<25)

*/

static_var++;

printf(“%d,%d,%d”,a,b,c);

strcpy;

int prime

printf(“insert a new number: “);

十三、
//自己编写一个求x的n次方的函数(函数名为power,n为整数),在主函数中输入x和n的值,调用函数求出x的n次方。

f1=f2=1;

分析:

}

}

void LineToDemo{

d=28;

intdata;

{if break;}

printf(“please input a string:\n”);

十七、 // S=1/2+2/3+3/5+5/8+…… (12.278297)

printf(asctime(localtime; //tranfer to tm

b=m/n;a=n;n=m+n;m=a;

用法: 此函数调用方式为void textbackground(int bcolor);

{b[j]=c[i];j++;}

==============================================================

{

b=n%100/10; //十位

char a[100],b[100];int i,j=0;

ellipse(250,250,0,360,20,top);

#include <stdio.h>

#include<stdio.h>

long Fibonacci

fp=fopen(“home.dat”,”r+”);

printf=%d\n”,n,Fibonacci;

==============================================================

}

3

if swap(&a,&c);

textbackground() 文本背景函数

printf(“输入x和n的值:”);

}

int n;

1.程序分析:

for (j=i-1;j>=1;j–)

next=getchar();

{ int i,j;

void main(){

十一、
//输出100以内所有能被3整余但不能被5整除的数,按每5个数的形式输出。

*/

int count( char s[ ] )

#include “stdio.h”

k++;

bonus=i*0.1;

return 0;}

gotoxy;printf;

if swap(&b,&c);

#include “stdio.h”

{double t=1;

*/

printf(“请输入要排序的一组数;

The number is: 16384

printf(“s=%d\n”,s);

angle= 0; //Beginat zero degrees

}

m=n;

}

printf(“the number is %d%d%d\n”,i,j,k);

if

fputc;

#include <stdio.h>

min=j;

}

floats;

_gets__; //输入字符串

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

{ if(‘a'<=j && ‘z’>=j || ‘A'<=j &&’Z’>=j)

2.程序源代码:

一、指针 用指针方法编写一个程序,输入 3
个整数,将它们按由小到大的顺序输出

printf(” ****\n”);

for(i=0;i<3;i++)

BLACK 0 黑

{printf;

if((year%4==0&&year%100!=0)||(year%400==0)) //判断是否是闰年

void main()

printf; //每一行后换行

#include <graphics.h>

printf(“%c%c%c%c%c\n”,a,b,a,b,a);

2.程序源代码:

1.程序分析:

for(i=0;(ch=fgetc!=EOF;i++){

settextstyle(DEFAULT_FONT,HORIZ_DIR,0);

==============================================================

if((c=getchar

void main(){

mm:i=0;

FILE*fp;

e=x%10; //分解出个位

233 377 610 987

@ @

gotoxy;printf;

6 is a wanshu

textcolor; //设置文本颜色

printf(“thesorted numbers are:%d,%d,%d\n”,n1,n2,n3);

printf(“score%d.”,j+1);

return;

1,2,3 the number is 123

void main(){

圹 圹 圹 圹

char c;

#include <conio.h>

}

Please input a and n: 3 4

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。   

Please input some characters

scanf(“%s”,str1);

return n;

1.程序分析:

printf(“\ndoyou want to try it again?(\”yy\”.or.\”n\”)\n”);

bonus=bonus1+*0.075;

printf(” The larger one is %d\n”,MAXIMUM;

setcolor;circle;

*

elseif(*p<*min)

circle;

/*

a=077;

gotoxy;printf(“|————– | |”);

break;

t=*;

gotoxy;printf(“|—————————————————————————|”);

1 6 1520 15 61

3524578 5702887 9227465 14930352

#define MAXPTS 15

left+=5;

setcolor;

   平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件”stud”中。

void main(){

}

The internal block num equal 3

struct student{

#include <stdio.h>

Please input a score: 50

}

void main(){

bonus4=bonus2+200000*0.05;

intdriver,mode,error;

for(i=0;i<=18;i++){

int i,j,line,a[N];

result=i*j;

3,1,4 the number is 314

ptr=head;

d=a-b;

inti,j,driver=VGA,mode=VGAHI;

#include<stdio.h>

2.程序源代码:

The num equal 2

selection_sort;

==============================================================

int color;

}

printf(“%d,%d,%d “,i,j,k);

scanf(“%s%s”,str1,str2);

*******

==============================================================

if{

printf;

putchar;

#define LAG >

printf(“Tuesday\n”);

ellipse(250,250,0,360,right,left);

ptr->next=malloc(sizeof;

printf(“%c%c%c%c%c\n”,a,b,a,b,a);

intx=360,y=160,driver=VGA,mode=VGAHI;

2.程序源代码:

==============================================================

floata;

2.程序源代码:

1.程序分析:

void main(){

2.程序源代码:

printf(“Pleaseinput nine numbers: “);

fclose;

}

printf(“%s”,chshop);

int k[10];

gets;

pointer->data=array[0];

==============================================================

printf(“%d,%c\n”,a.x,a.c);

gotoxy;printf;

ptr->data=num;

一、if 就是判断语句,不是预编译指令

Please input a score: 87

if{

b&=7;

for(int i=2;i<=sqrt{ //2–sqrt

if(a[i]==’\0′)

structPTS points[MAXPTS];

/*

time_ta,b;

}

1.程序分析:

break;

printf(“there are 3, %ld %ld %ld\n”,e,d,c);

for(i=0;i<3;i++)

}

   比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出

*****

gotoxy;printf(“|—————————————————————————|”);

for(i=0;i<=18;i++){

==============================================================

floatsum,chm=0.0;

5 8 13 21

}

i++;

printf(“%d * “,i);

printf(“score%d: “,j+1);

printf;

2,3,1 the number is 231

min=tmp->data;

printf;

aa[3]=a/1000;

void main(){

printf(“\nThe total is %d\n”,k);

intdx1,dy1,dx2,dy2,i=1;

50 belongs to C

y0=y0-5;

ch[0]=getchar();

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

c[i]=c[j];

4,2,1 the number is 421

*/

#include <stdio.h>

the number is 21

#include<stdio.h>

   }

j=j-2;

int len;

if{

if{

}

{case ‘S’:printf(“please input second letter\n”);

题目:宏#define命令练习   

GREEN 2 绿

main(){

s+=t;

please input 5 data==>

*/

*=i+1;

背景颜色 等价值 含 义

*

}

int i;

*/

printf(“Pleaseinput an even number: “);

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

Press any key to continue

for(i=0;i<=4;i++){

printf(“%d”,aa[i]);

a[i][0]=1;

}

char *str[20];

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt,如果能被整除,

1.程序分析:

inti,j,k,x0,y0,x,y,driver,mode;

The num equal 4

#include<stdio.h>

printf(“filewrite error\n”);

#include<stdio.h>

==============================================================

2.程序源代码:

tn=tn+a;

gotoxy;printf;

initgraph(&driver,&mode,””);

/*这里填写什么语句?*/

intdriver,mode;

printf(“%d”,*;

}

for(i=0;i<n;i++)

initgraph(&driver,&mode,””);

题目:判断101-200之间有多少个素数,并输出所有素数。

if{

for(j=0;j<=i;j++){

for(i=0;i<n-1;i++)

z=temp;

The value is ==>43213

ch=getchar();

}

}

the number is 261

y=ceil(y0+48+sin;

==============================================================

min=tmp->next->data;

structman *q,*p;

*

a[min]=tem;

j=18;

      1  4  6  4  1

float dcall(float ,int n){

for(j=i+1;j<N;j++){

*/

sum=sum+m9;

printf(“%d*%d=%-3d”,i,j,result);//-3d表示左对齐,占3位

strcpy(chshop,””);

aa[3-i]=t;

}

2.程序源代码:

initgraph(&driver,&mode,””);

==============================================================

printf(“%-8d”,stu[i].score[j]);

fclose;

void main(){

#define MAXCOLOR 15

printf(“%d=%d+%d\n”,a,b,d);

int tmp=0;

scanf(“%d”,&a[i]);

10 smaller than 20

float sn=100.0,hn=sn/2;

pointer1=&n1;

1 4 6 9 11 13 16 19 28 40 100

inti,j,sum;

getdate;

#include<stdio.h>

struct student{

gotoxy;printf(“|money management system 2000.03 |”);

1,2,4 the number is 124

}

*/

letters++;

ch=getchar();

printf(“It is the %dth day.\n”,sum);

struct list{

#include “stdlib.h”

if(strcmp(str1,str3)>0) swap(str1,str3);

1.程序分析:

Press any key to continue

Press any key to continue

if(c>sqrt

#include<stdio.h>

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

others++;

BROWN 6 棕

1 2 1

#define exchange{int t;t=a;a=b;b=t;}

grade=score>=90?’A’:(score>=60?’B’:’C’);

}

相关文章