C语言编程(天天乐学)

题目:编写函数function对主程序中用户输入的具有10个数据的数组a按由大到小排序,
并在主程序中输出排序结果。
#include <stdio.h>
int function(int arr[], int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int a[10],i;
printf("请输入数组a中的十个数:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
function(a,10);
printf("由大到小的排序结果是:\n");
for (i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
}
题目:求大于num(num小于100的整数)并且小于100的所有素数并放在x数组中,
该函数返回所求出素数的个数。
例如:输入:56,结果为: 59 61 67 71 73 79 83 89 97
#include<stdio.h>
#include<conio.h>
#define MAX 100
int fun(int num,int x[MAX])
{
/**********Program**********/
/********** End **********/
}
main()
{
int limit,i,sum;
int x[MAX];
printf("Please input ainteger:");
scanf("%d",&limit);
sum=fun(limit,x);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) printf("\n");
printf("%4d",x[i]);
}
}
题目:请编写函数sum,其功能是:用for循环语句求1到n之间所有偶数之和(若n为偶数包括n),
并将结果返回给主函数。
(n值由主函数传入)
例如:输入:40,则输出为:sum=420。
#include <stdio.h>
int sum(int n)
{
/**********Program**********/
/********** End **********/
}
void main()
{
int n,s;
scanf("%d",&n);
s=sum(n);
printf("sum=%d\n",s);
}
题目:编写函数function求一个不多于5位的正整数的位数,
该数在主函数中输入,并在主函数中输出结果。
#include "stdio.h"
int function(int m)
{
/**********Program**********/
/********** End **********/
else if(m>9) con=2;
else con=1;
return con;
}
void main()
{ long num;
int weishu;
printf("输入一个不多于5位的整数:");
scanf("%ld",&num);
weishu=function(num);
printf("%ld是一个%d位正整数\n",num,weishu);
}
题目:请编写一个函数,用来删除字符串中的所有空格。
例如:输入asd af aa z67,则输出为asdafaaz67。
#include <stdio.h>
void fun (char *str)
{
/**********Program**********/
/********** End **********/
}
main()
{
char str[81];
printf("请输入带有空格的字符串:\n");
gets(str);
fun(str);
printf("删除空格后的字符串是: %s\n",str);
}
题目:请编写函数sum,其功能是:用While循环语句求1到n之间(包括n)能被7整除的所有整数之和,
并将结果返回给主函数。
(n值由主函数传入)
例如:若输入:20,则输出为:21
#include "stdio.h"
long sum(int n)
{
/**********Program**********/
/********** End **********/
}
void main()
{
int x;
long f;
scanf("%d",&x);
f=sum(x);
printf("%ld\n",f);
}
题目:打印100~200范围内所有能被3或7整除的数,将符合条件的数单行输出,
计算并输出这些数的和。
提示:总和=6322
#include <stdio.h>
void main()
{
int i,sum=0;
printf("100~200范围内能被3或7整除的数:\n");
/**********Program**********/
/********** End **********/
}
题目:请补充完整函数sort(int *p,int m,int n),实现对p所指向的
一维数组a从第m个元素开始的n个元素进行升序排序。
例如:输入4,7;输出顺序为: 12 -56 32 -48 -20 6 32 74 77 83 51 -48 11 -69 20 63
#include <stdio.h>
void sort(int *p,int m,int n)
{
/**********Program**********/
/********** End **********/
}
int main()
{
int a[16]={12,-56,32,6,-48,83,74,32,-20,77,51,-48,11,-69,20,63};
int i,m,n;
printf("Please input m and n:");
do
{
scanf("%d,%d",&m,&n);
}while(m<1||m>16||m+n>17);
sort(a,m,n);
for(i=0;i<16;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}
题目:编写函数fun,其功能是:求出1~100之间能被8或9整除,
但不能同时被8和9整除的所有整数,并将其放在a所指的数组中,
通过n返回这些数的个数。
#include <stdio.h>
void fun (int *a, int *n)
{
/**********Program**********/
/********** End **********/
}
main( )
{
int b[100], n, k ;
fun ( b, &n ) ;
for ( k = 0 ; k < n ; k++ )
if((k + 1) % 10 == 0)
printf("\n") ;
else
printf("%5d", b[k]) ;
}
题目:开发程序帮助老师统计出若干个学生的平均成绩、最高分以及得最高分的人数。
例如:输入10名学生的成绩分别为92.5 87 78 53 96 83.5 67.5 75 96 92,
则输出平均成绩为82.05, 最高分为96,得最高分的人数为2人。
#include <stdio.h>
float Max=0;
int J=0;
float fun(float array[],int n)
{
/**********Program**********/
/********** End **********/
}
void main( )
{
float a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("平均=%f\n",ave);
printf("最高=%f\n",Max);
printf("最高分合计人数:%d\n",J);
}
题目:编写函数用冒泡排序法对(20个元素)数组位中的数据进行从小到大的排序。
#include <stdlib.h>
#include<stdio.h>
void paixu(int arr[],int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int arr[20],i;
for(i=0;i<20;i++)
arr[i]=rand()%10+17;
for(i=0;i<20;i++)
printf("%3d",arr[i]);
printf("\n-------------------\n");
paixu(arr,20);
for(i=0;i<20;i++)
printf("%3d",arr[i]);
}
1. 编写程序,打印以下图案:
*****
***
*
#include<stdio.h>
void main()
{
int i,j,k;
/**********Program**********/
/********** End **********/
printf("\n");
}
题目: 打印以下图案:
*********
*******
*****
***
*
#include<stdio.h>
void main()
{
int i,j,k;
for( i=0 ; i<5; i++ )
{
/**********Program**********/
/********** End **********/
}
printf("\n");
}
功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
#include<stdio.h>
main()
{
int m,n,k,i=0;
for(m=100;m<=1000;m++)
{
k=0;
n=m;
/**********Program**********/
/********** End **********/
}
}
功能:设计程序打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
#include <stdio.h>
main()
{
int i,j,k;
/**********Program**********/
/********** End **********/
}
【程序设计】请编写函数sum,其功能是:用While循环语句求1到n之间(包括n)能
被3整除的所有整数之和,并将结果返回给主函数。(n值由主函数传入)
运行程序后若输入:10,则输出为:18
#include "stdio.h"
long sum(int n)
{
/**********Program**********/
/********** End **********/
}
void main()
{
int x;
long f;
scanf("%d",&x);
f=sum(x);
printf("%ld\n",f);
}
【程序设计】功能:使用for循环输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:1,1,2,3,5,8,13...........
#include <stdio.h>
main()
{
int fib[15],i;
fib[0]=1;fib[1]=1;
/**********Program**********/
/********** End **********/
for(i=0;i<15;i++)
{
printf("%d\t",fib[i] );
if ( i%5==4 ) printf("\n");
}
}
功能:功能:输入三角形的三边长,判断能否构成三角形,若能,利用海伦公式计
算该三角形的面积,计算结果保留3位小数。
l=(a+b+c)/2,s=sqrt(l*(l-a)*(l-b)*(l-c))
#include <stdio.h>
#include <math.h>
main()
{
float a,b,c,s,l;
scanf("%f,%f,%f",&a , &b , &c);
if(a+b<c||a+c<b||b+c<a)
printf("该3个数据不能构成三角形\n");
else
{
/**********Program**********/
/********** End **********/
printf("该三角形的面积为%.3f\n",s);
}
}
功能:从键盘输入2个整数相加,再输入答案,如果正确,显示"right",否则显示"error"。
--------------------------------------------------------*/
#include "stdio.h"
main( )
{
int a,b,c;
printf("please input a and b:\n");
scanf("%d,%d",&a , &b);
printf("please input the answer:\n");
scanf("%d",&c);
/**********Program**********/
/********** End **********/
else
printf("error\n");
}
功能:从键盘输入整数n,输出n以内所有奇数的和。(使用for循环)
#include<stdio.h>
void main()
{
int n,i,s;
s=0;
scanf("%d",&n);
/**********Program**********/
/********** End **********/
printf("s=%d\n",s);
}
功能:输入三个整数x,y,z,请把这三个数由小到大输出。
#include <stdio.h>
main()
{
int x,y,z,t;
scanf("%d%d%d",&x , &y , &z);
/**********Program**********/
/********** End **********/
printf("small to big: %d %d %d\n",x,y,z);
}
功能:编写比较a、b两个数的大小,且把大者赋给max,小者赋给min。
#include"stdio.h"
main()
{
int a,b,min,max;
printf("输入两个数给a,b:");
scanf("%d,%d",&a,&b);
/**********Program**********/
/********** End **********/
printf("min=%d,max=%d\n",min,max);
}
功能:找出n个数中最大的数和最小的数,并将它们的值输出出来。
#include<stdio.h>
int main()
{
int a,n,i,min,max;
scanf("%d",&n);
scanf("%d",&a);
min=a;
max=a;
for(i=1;i<n;i++)
{
/**********Program**********/
/********** End **********/
}
printf("The maximum number is %d.\n",max);
printf("The minimum number is %d.\n",min);
}
功能::使用for循环打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
#include <stdio.h>
main()
{
int i,j,k;
/**********Program**********/
/********** End **********/
}
功能:编写一个简单计算器程序,输入格式为:a op b。其中 a和b是
参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。
例:
输入:3,+,4
输出:3.000000+4.000000=7.000000
#include<stdio.h>
main()
{
float a,b;
char op;
printf("Please enter a,b and op:");
scanf("%f,%c,%f",&a,&op,&b);
switch(op)
{
/**********Program**********/
/********** End **********/
case '/':if(b!=0)
printf("%f/%f=%f\n",a,b,a/b);
else
printf("error!\n");break;
default:printf("error!\n");break;
}
}
功能:编写程序(使用Switch ),给出年月日,计算出该日是该年的第几天。判断是否为
闰年的条件是:能被 4 整除但是不能被100整除或者能被四百整除。
#include"stdio.h"
main()
{
int year,month,day,days=0,i,d;
printf("请输入年-月-日:");
scanf("%d-%d-%d",&year,&month,&day);
for(i=1;i<month;i++)
{
/**********Program**********/
/********** End **********/
}
printf("%d-%d-%d是该年第%d天\n",year,month,day,days + day);
}
功能:编写程序,把三个整数中最大的打印出来。
#include"stdio.h"
main()
{
int a,b,c,m;
scanf("%d,%d,%d", &a,&b,&c);
/**********Program**********/
/********** End **********/
printf ("m=%d\n",m);
}
编程计算:s=1-3+5-7+……-99(使用for循环)
#include <stdio.h>
main()
{
int i,f,sum;
f=1;
sum=0;
/**********Program**********/
/********** End **********/
printf("1-3+5-7+...-99 = %d\n",sum);
}
编程计算:s=1!+2!+3!+…n! (n由键盘输入,使用for循环)
#include <stdio.h>
main()
{
int i,j,n;
long p,sum;
sum=0;
printf("请输入一个正整数n:");
scanf("%d",&n);
/**********Program**********/
/********** End **********/
printf("1!+2!+...+%d!= %d\n",n,sum);
}
请编写输出以下图案的程序。
1
123
12345
1234567
12345
123
1
#include <stdio.h>
#include <math.h>
main()
{
int i,j;
for(i=-3;i<=3;i++)
{
/**********Program**********/
/********** End **********/
}
}
使用for循环输出99乘法表,要求格式如图所示: (注:乘积占四个字符)
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
4x1=4 4x2=8 4x3=12 4x4=16
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
#include <stdio.h>
main()
{
int i,j;
/**********Program**********/
/********** End **********/
}
编程判断m是否素数,m由键盘输入。(使用for循环)
#include <stdio.h>
main()
{
int m,i;
printf("请输入一个正整数 :");
scanf("%d",&m);
/**********Program**********/
/********** End **********/
if(i==m)
printf("%d是素数\n",m);
else
printf("%d不是素数\n",m);
}
编程判断m是否素数,m由键盘输入。(使用for)
#include <stdio.h>
#include <math.h>
main()
{
int m,i,k;
printf("请输入一个正整数 :");
scanf("%d",&m);
k=sqrt(m);
/**********Program**********/
/********** End **********/
if(i>k)
printf("%d是素数\n",m);
else
printf("%d不是素数\n",m);
}
编程计算:使用for计算,s=1+2+3+……+n (n由键盘输入)
#include <stdio.h>
main()
{
int i,n,sum;
sum=0;
printf("请输入一个正整数n:");
scanf("%d",&n);
/**********Program**********/
/********** End **********/
printf("1+2+...+%d = %d\n",n,sum);
}
使用for循环编写程序,打印以下图形,要求行数n由键盘输入。
*
***
*****
*******
#include <stdio.h>
main()
{
int i,j,k,n;
printf("请输入行数n:");
scanf("%d",&n );
/**********Program**********/
/********** End **********/
}
编写程序,打印以下图形:
*
***
*****
*******
*****
***
*
#include <stdio.h>
#include <math.h>
main()
{
int i,j,k;
for(i=-3;i<=3;i++)
{
/**********Program**********/
/********** End **********/
}
}
编程将一个正整数分解成质因数(注:使用while循环)
例如:
输入 90
输出 90=2*3*3*5
#include <stdio.h>
main()
{
int n,i;
printf("请输入一个正整数:");
scanf("%d",&n);
printf("%d=",n);
i=2;
/**********Program**********/
/********** End **********/
printf("%d\n",n);
}
鸡兔同笼,《孙子算经》中记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”,编程计算鸡和兔子各有多少只。(注:使用for循环)
结果:
鸡有23只,兔有12只
main()
{
int j,t;
/**********Program**********/
/********** End **********/
}
百马百担,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,每匹马都要驮货,编程计算大马(dm)、中马(zm)、小马(xm)各有多少匹。 (注:使用for循环)
结果:
大马有2匹,中马有30匹,小马有68匹
大马有5匹,中马有25匹,小马有70匹
大马有8匹,中马有20匹,小马有72匹
大马有11匹,中马有15匹,小马有74匹
大马有14匹,中马有10匹,小马有76匹
大马有17匹,中马有5匹,小马有78匹
#include <stdio.h>
void main() {
int dm,zm,xm;
/**********Program**********/
/********** End **********/
}
韩信点兵,韩信带1500名士兵打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。编程计算还有多少士兵? (注:使用for循环)
#include <stdio.h>
main()
{
int i;
/**********Program**********/
/********** End **********/
}
编写函数(fact),计算n的阶乘,n由键盘输入
#include <stdio.h>
long fact(int n);
main()
{
int n;
long f;
printf("请输入整数n:");
scanf("%d",&n);
f=fact(n);
printf("%d!=%ld\n",n,f);
}
/**********Program**********/
/********** End **********/
编写函数(fact),通过函数的递归调用,计算n的阶乘。
-------------------------------------------------------*/
#include <stdio.h>
long fact(int n);
main()
{
int n;
long f;
printf("请输入整数n:");
scanf("%d",&n);
f=fact(n);
printf("%d!=%ld\n",n,f);
}
/**********Program**********/
/********** End **********/
编写函数(fib),通过函数的递归调用,输出斐波那契前n 项的值。
#include <stdio.h>
int fib(int m);
main()
{
int i,n;
printf("请输入数列的项数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("%d\t",fib(i));
}
}
/**********Program**********/
/********** End **********/
编写函数(tj),通过函数的递归调用,实现:有n级台阶,一步可以上一级台阶,也可以一步上两级台阶,问上完n级台阶,有多少种走法?
#include <stdio.h>
int tj(int m);
main()
{
int n;
printf("请输入台阶的级数:");
scanf("%d",&n);
printf("走完%d级台阶有%d种走法\n",n,tj(n));
}
/**********Program**********/
/********** End **********/
编写函数(sum),通过函数的递归调用,计算1+2+…+n的值。
#include <stdio.h>
int sum(int n);
main()
{
int n,s;
printf("请输入整数n:");
scanf("%d",&n);
s=sum(n);
printf("1+...+%d=%d\n",n,s);
}
/**********Program**********/
/********** End **********/
编写函数(fun):通过函数的递归调用,计算n!的值。
#include <stdio.h>
/**********Program**********/
/********** End **********/
main()
{
int n;
scanf("%d",&n);
printf("%d!=%ld\n",n,fun(n));
}
1.函数fun的功能:对一个任意位数的正整数n,从十位起计算隔位数字之和,即十位、千位、……等数字之和。例如输入1234567,6+4+2的结果为12。
---------------------------------------------------------------------*/
int fun(int n)
{
int sum=0;
n=【1】;
【2】(n>0)
{
sum +=【3】;
n=【4】;
}
return sum;
}
#include <stdio.h>
int main()
{
int n;
printf("输入一个正整数: ");
scanf("%d",&n);
printf("从十位起,隔位数字之和是%d\n",fun(n));
return 0;
}
2.功能:产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。
---------------------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
main()
{
/***********SPACE***********/
【1】;
int i,j,k;
int a[10];
for(i=0;i<10;i++)
a[i]=rand()%90+15;
for(i=0;i<9;i++)
{
/***********SPACE***********/
【2】;
for(j=i+1;j<10;j++)
/***********SPACE***********/
if(【3】) k=j;
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
/***********SPACE***********/
for(【4】 )
printf("%5d",a[i]);
printf("\n");
}
3.请编写fun函数程序,从键盘输入某一年,判断该年是否为闰年。闰年的条件是:(1)能被4整除但不能被100整除。(2)能被400整除。符合任何一个条件就是闰年。 ( 输入年份为整型)
---------------------------------------------------------------------*/
#include <stdio.h>
int fun(int year )
{
/**********Program**********/
int leap;
if((【1】&& year % 100 != 0) || (【2】))
leap = 1;
else
【3】;
return leap;
}
void main( )
{
int year ;
scanf("%d", &year);
if(fun(year) == 1)
printf("yes");
else
printf("no");
}
4.
功能:将一个数组中的元素按逆序存放。
---------------------------------------------------------------------*/
#include <stdio.h>
#define N 7
main ()
{
static int a[N]={12,9,16,5,7,2,1},k,s;
printf("\n the origanal array:\n");
for (k=0;k<N;k++)
printf("%4d",a[k]);
/***********SPACE***********/
for (k=0;k<N/2; 【1】 )
{
s=a[k];
【2】 ;
【3】 ;
}
printf("\n the changed array:\n");
for (k=0;k<N;k++)
【4】 ("%4d",a[k]);
}
5. 题目:请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符。
---------------------------------------------------------------------*/
#include <stdio.h>
char fun (int n)
{
char s;
switch(n)
{
case 10:
【1】;break;
【2】;break;
case 7:
【3】;break;
default:s='D';
}
return s;
}
void main()
{
int score,n;
char p;
scanf("%d",&score);
n=score/10;
p=fun(n);
printf("%c" , p);
}
/*-------------------------- 【程序填空】 --------------------------
功能:编程统计一个字符串中的字母、数字、空格和其它字符的个数。
---------------------------------------------------------------------*/
#include <stdio.h>
void fun(char s[],int b[])
{
int i;
for (i=0;s[i]!='\0';i++)
if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')
b[0]++;
else if (【1】)
b[1]++;
else if (【2】 )
b[2]++;
else
b[3]++;
}
main ()
{
char s1[80];int a[4]={0};
int k;
【3】;
gets(s1);
【4】;
puts(s1);
for(k=0;k<4;k++)
printf("%4d",a[k]);
}
/*-------------------------- 【程序填空】 --------------------------
题目:s=1+(2*2)+(3*3*3)+(4*4*4*4)+...+(9*9*9*9*9*9*9*9*9)的值。要求:使用循环实现。 输出格式:s=405071317
---------------------------------------------------------------------*/
#include <stdio.h>
int main()
{
int i;
int j;
int sum = 0;
int tmp;
/**********Program**********/
for (i=1;【1】)
{
【2】;
for (j = 1; 【3】;j++)
{
【4】;
}
【5】;
}
/********** End **********/
printf("s=%d\n", sum);
return (0);
}
/*-------------------------- 【程序填空】 --------------------------
题目:求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。
例如:7+77 +777+7777+77777( 此时a=7,n=5),a,n均由键盘输入,输出为:Sn=86415 。
---------------------------------------------------------------------*/
#include <stdio.h>
int main()
{
int a,n,count=1,sn=0,tn=0;
printf("请输入 a 和 n 的值:\n");
scanf("%d%d",&a,&n);
/**********Program**********/
while(【1】)
{ tn【2】;
【3】tn;
【4】;
【5】
/********** End **********/
printf("sn=%d\n",sn);
return 0;
}
/*-------------------------- 【程序填空】 --------------------------
功能:输出Fibonacci数列的前15项,要求每行输出5项。Fibonacci数列:1,1,2,3,5,8,13...........
---------------------------------------------------------------------*/
#include <stdio.h>
main()
{
int 【1】[15],i;
fib[0]=1;fib[1]=1;
for (i=2;i<15;i++)
/***********SPACE***********/
fib[i]=【2】;
for(i=0;i<15;i++)
{ /***********SPACE***********/
printf("%d\t",【3】 );
/***********SPACE***********/
if ( 【4】 ) printf("\n");
}
}
/*-------------------------- 【程序填空】 --------------------------
请进行计算机编程,使其输出结果为下列图形。
*
***
*****
*******
*****
***
*
---------------------------------------------------------------------*/
#include<stdio.h>
main()
{
int i,j;
for(i=1; 【1】;i++)
{
if(i<=4)
{
for(j=1;j<=4-i;j++)
printf(【2】);
for(j=1;j<=2*i-1;j++)
printf(【3】);
}
else
{
for(j=1;j<=【4】;j++)
printf(" ");
for(j=1;j<=15-2*i;j++)
printf("*");
}
printf("【5】");
}
}
/*-------------------------- 【程序填空】 --------------------------
题目:编写函数求1~100(闭区间)中奇数的平方和。结果为166650。
---------------------------------------------------------------------*/
#include "stdio.h"
float sum(int n)
{
/**********Program**********/
float【1】;
int i,j;
【2】i=i+2)
s【3】;
return(s);
/********** End **********/
}
main()
{
printf("sum=%f\n",sum(100));
}
/*-------------------------- 【程序填空】 --------------------------
功能:用冒泡法对数组c 进行由大到小的排序。
---------------------------------------------------------------------*/
#include <stdio.h>
void fun(int c[],int n)
{
int i,j,t;
/***********SPACE***********/
for (j=0; 【1】;j++)
/***********SPACE***********/
for (i=0; 【2】;i++)
/***********SPACE***********/
if(【3】)
{
t=c[i];
c[i]=c[i+1];
c[i+1]=t;
}
}
main()
{
int i,c[12]={3,7,5,1,2,8,6,4,10,9,11,12};
/***********SPACE***********/
【4】;
for(i=0;i<12;i++)
printf("%3d",c[i]);
}
/*-------------------------- 【程序填空】 --------------------------
功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。
例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。
---------------------------------------------------------------------*/
#include <conio.h>
#include <stdio.h>
#include <string.h>
void fun (char *s, char *t)
{
int i, d;
/***********SPACE***********/
d = 【1】;
/***********SPACE***********/
for (i = 0; i<d; 【2】)
t[i] = s[i];
for (i = 0; i<d; i++)
/***********SPACE***********/
t[【3】] = s[d-1-i];
/***********SPACE***********/
t[【4】] ='\0';
}
main()
{
char s[100], t[100];
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
}
/*-------------------------- 【程序填空】 --------------------------
题目:函数fun的功能:返回1+12+123+1234+12345……,共n(≤9)项相加的值。
例如:输入5,输出 sum=13715
---------------------------------------------------------------------*/
#include <stdio.h>
int fun(int n)
{
int sum=0;
/**********Program**********/
【1】=0,i;
for(【2】;i++)
{
t【3】;
【4】t;
【5】
/********** End **********/
return sum;
}
int main()
{
int n;
do
{ printf("请输入n(1~9):");
scanf("%d",&n);
}while(n<1||n>9);
printf ("sum =%d\n",fun(n)) ;
return 0;
}
/*-------------------------- 【程序填空】 --------------------------
题目:下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。
例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。
---------------------------------------------------------------------*/
#include <stdio.h>
#define N 9
int fun(int a[], int n)
{
int i,j;
j = 0;
for (i=0; i<n; i++)
if (a[i]%2==【1】)
{
a[j] = a[i]; 【2】;
}
return 【3】;
}
main()
{
int b[N]={9,1,4,2,3,6,5,8,7}, i, n;
printf("\nThe original data :\n");
for (i=0; i<N; i++) printf("%4d ", b[i]);
printf("\n");
n = fun(b, N);
printf("\nThe number of odd : %d \n", n);
printf("\nThe odd number :\n");
for (i=0; i<n; i++) printf("%4d ", b[i]);
printf("\n");
}
/*-------------------------- 【程序填空】 --------------------------
编写函数fun(x,y),函数的功能是若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。
主函数的功能是计算(1+3+5+……+1999)-(2+4+6+……+1998)的值。
---------------------------------------------------------------------*/
#include "stdio.h"
int fun(int x,int y);
main()
{
int s;
s=fun(1,1999)-fun(2,1998);
printf("s=%d\n",s);
}
int fun(int x,int y)
{
/**********Program**********/
【1】 i,s=0;
for【2】
s=【3】;
return s;
/********** End **********/
}
/*-------------------------- 【程序填空】 --------------------------
题目:下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。
---------------------------------------------------------------------*/
#include <stdio.h>
void fun(int a[], int n)
{
int i,t;
for (i=0; i<【1】; i++)
{
t=a[i];
a[i] = a[【2】];
【3】 = t;
}
}
main()
{
int b[9]={1,2,3,4,5,6,7,8,9}, i;
printf("\nThe original data :\n");
for (i=0; i<9; i++)
printf("%4d ", b[i]);
printf("\n");
fun(b, 9);
printf("\nThe data after invert :\n");
for (i=0; i<9; i++)
printf("%4d ", b[i]);
printf("\n");
}
/*-------------------------- 【程序填空】 --------------------------
(2)功能:求一批数据(数组)的最大值并返回下标。
---------------------------------------------------------------------*/
#include <stdio.h>
int max(int *p,int n,int *index)
{
int i,in=0,m;
/***********SPACE***********/
【1】;
/***********SPACE***********/
for (【2】;i<n;i++)
if(m<*(p+i))
{
m=*(p+i);
/***********SPACE***********/
【3】;
}
*index=in;
/***********SPACE***********/
【4】;
}
void main()
{
int i,a[10]={3,7,5,1,2,8,6,4,10,9},m;
/***********SPACE***********/
m=【5】;
/***********SPACE***********/
printf("最大值%d,下标%d",【6】,i);
}
/*-------------------------- 【程序填空】 --------------------------
功能:用冒泡法对数组a进行由小到大的排序。
---------------------------------------------------------------------*/
#include <stdio.h>
void fun(int a[],int n)
{
int i,j,t;
/***********SPACE***********/
for (j=0; 【1】;j++)
/***********SPACE***********/
for (i=0; 【2】;i++)
/***********SPACE***********/
if(【3】)
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
main()
{
int i,a[9]={3,7,5,1,2,8,6,4,9};
【4】;
for(i=0;i<9;i++)
printf("%3d",a[i]);
}
/*-------------------------- 【程序填空】 --------------------------
功能:输入3个数a,b,c,按从小到大的顺序输出。
---------------------------------------------------------------------*/
#include <stdio.h>
main()
{
void swap(int *p1, int *p2);
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(【1】) swap(pointer1,pointer2);
if(【2】) swap(pointer1,pointer3);
if(【3】) swap(pointer2,pointer3);
printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3);
}
void swap(【4】)
int *p1,*p2;
{
int p;
p=*p1;*p1=*p2;*p2=p;
}
/*-------------------------- 【程序填空】 --------------------------
功能:用冒泡法对数组a 进行由小到大的排序。
---------------------------------------------------------------------*/
#include <stdio.h>
void fun(int a[],int n)
{
int i,j,t;
/***********SPACE***********/
for (j=0; 【1】;j++)
/***********SPACE***********/
for (i=0; 【2】;i++)
/***********SPACE***********/
if(【3】)
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
main()
{
int i,a[10]={3,7,5,1,2,8,6,4,10,9};
/***********SPACE***********/
【4】;
for(i=0;i<10;i++)
printf("%3d",a[i]);
}
/*-------------------------- 【程序填空】 --------------------------
功能:求两个正整数m和n的最大公约数。
---------------------------------------------------------------------*/
#include "stdio.h"
void main()
{
int r,m,n,t;
printf("Enter m,n:");
scanf("%d,%d",【1】);
printf("m=%d,n=%d",m,n);
r=【2】;
while(【3】)
{
m=【4】;
n=r;
r=【5】;
}
printf("h.c.f=%d\n",n);
}
/*-------------------------- 【程序填空】 --------------------------
打印以下图形。
*
**
***
****
*****
****
***
**
*
---------------------------------------------------------------------*/
#include "stdio.h"
void main()
{
int i,j,n;
printf("qing shu ru N:");
scanf("%d",【1】);
/***********SPACE***********/
for(i=1;i<=【2】;i++)
{
for(j=1;j<=【3】;j++)
printf("*");
printf("\n");
}
for(i=1;i【4】n;i++)
{
for(j=1;j<=【5】;j++)
printf("*");
printf("\n");
}
}
/*-------------------------- 【程序填空】 --------------------------
功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。
---------------------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
main()
{
int i,n,sum;
sum=0;
【1】;
for(i=1; 【2】 ;i++)
if(【3】)
if(i%2==0)
{
sum=sum+i;
n++;
printf("%6d",i);
if(【4】)
printf("\n");
}
printf("\ntotal=%d",sum);
}
/*-------------------------------------------------------------
程序功能:从键盘上输入10个学生的成绩(0-100分之间),统计并输出最高成绩和最低成绩,平均分。
---------------------------------------------------------------*/
#include <stdio.h>
main()
{
/***********SPACE***********/
int 【1】,max,min,i,sum=0;
printf("please input x:\n");
max=-1;
min=100;
for(i=0;i<10;i++)
{
/***********SPACE***********/
scanf("%d",【2】);
if(s[i]>max)
/***********SPACE***********/
【3】;
if(s[i]<min)
min=s[i];
/***********SPACE***********/
【4】;
}
printf("max=%d,min=%d,average=%.2f\n",max,min,【5】);
}
/*--------------------------------------------------------------
程序功能:从键盘输入一个长度为10的字符串,将它复制给字符数组,并将其中的所有小写字母转换为大写后输出。
----------------------------------------------------------------*/
#include <stdio.h>
void main()
{
/***********SPACE***********/
char ch【1】;
/***********SPACE***********/
int i,【2】;
scanf("%s",ch);
/***********SPACE***********/
for(【3】;i<=9;i++)
/***********SPACE***********/
if(【4】)
{
ch[i]-=32;
n++;
}
/***********SPACE***********/
printf("转换后为%s,共转换%d个字符\n",【5】,n);
}
/* ---------------------------------------------------------
程序功能:从键盘输入9个字符,按照3个一行的格式输出它们的ASCII码,每个字母左对齐占四列
------------------------------------------------------------*/
#include <stdio.h>
void main()
{
char ch[9];
int i;
/***********SPACE***********/
for(i=0;i<9;i++)
ch[i]=【1】;
for(i=0;i<9;i++)
/***********SPACE***********/
{
printf("【2】",ch[i]);
/***********SPACE***********/
if(【3】)
/***********SPACE***********/
printf("【4】");
}
}
/*--------------------------------------------------------------
程序功能:从键盘输入6个数,计算6个数的平均值(只保留整数),并打印每个数与平均值差的絶対値
---------------------------------------------------------------*/
#include<stdio.h>
/***********SPACE***********/
【1】
void main()
{
int i,s=0,n[6];
/***********SPACE***********/
for(【2】;i<6;i++)
{
scanf("%d",&n[i]);
/***********SPACE***********/
s+=【3】;
}
/***********SPACE***********/
【4】;
for(i=0;i<6;i++)
/***********SPACE***********/
printf("%-4d",【5】);
}
/*---------------------------------------------
程序功能:从键盘输入10个数将它们从大到小排列输出
----------------------------------------------*/
#include <stdio.h>
void main()
{
/***********SPACE***********/
int i,j,t,【1】;
for(i=0;i<10;i++)
{
/***********SPACE***********/
scanf("%d",【2】);
}
for(i=0;i<10;i++)
/***********SPACE***********/
for(【3】;j<10;j++)
/***********SPACE***********/
if(【4】)
{
t=n[i];
n[i]=n[j];
n[j]=t;
}
/***********SPACE***********/
for(i=0;【5】;i++)
printf("%-4d",n[i]);
}/*------------------------------------------------------------------
程序功能:从键盘输入10个字符,将它们隔位输出。
例如:输入asdfghjklp,则输出adgjl
-------------------------------------------------------------------*/
#include <stdio.h>
void main()
{
/***********SPACE***********/
【1】;
/***********SPACE***********/
int 【2】;
/***********SPACE***********/
for(【3】;i<10;i++)
{
/***********SPACE***********/
scanf("%c",【4】);
}
/***********SPACE***********/
for(i=0;i<10;【5】)
printf("%c",ch[i]);
}
/*----------------------------------------------------------------
程序功能:从键盘输入10个整数成绩,按照10分一段将每个分数段的成绩人数统计出来,输入负数结束循环
----------------------------------------------------------------*/
#include <stdio.h>
void main()
{
int s,i;
/***********SPACE***********/
int n【1】={0,0,0,0,0,0,0,0,0,0};
/***********SPACE***********/
scanf("%d",【2】);
/***********SPACE***********/
while(【3】)
{
/***********SPACE***********/
【4】++;
scanf("%d",&s);
}
for(i=0;i<10;i++)
/***********SPACE***********/
printf("%d分--%d分有%d个;\n ",i*10,i*10+10,【5】);
}
/*-------------------------------------------------------
程序功能:求100~200中能被9整除的所有整数的和。
-------------------------------------------------------*/
#include <stdio.h>
void main()
{
/**********************************/
int i,【1】;
for(i=100;i<=200;【2】)
if(【3】)
s+=【4】;
printf("%d\n",【5】);
/**********************************/
}
/*-------------------------------------------------------------------------
程序功能:输入年号,输出这一年的2月份的天数。
例如:输入:1990
输出:1990年的2月有28天
输入:2000
输出:2000年的2月有29天
判断闰年的方法:年号能被4整除且不能被100整除为闰年或年号能被400整除为闰年。
--------------------------------------------------------------------------*/
#include<stdio.h>
void main()
{
int year,leap;
printf("请输入年份:\n");
/*************************************/
scanf("%d",【1】);
leap=0;
if(year%4==0)
if(【2】)
leap=1;
if(【3】)
【4】;
if(【5】)
printf("%d年的2月有29天\n",year);
/*************************************/
else
printf("%d年的2月有28天\n",year);
}
/*-----------------------------------------------------------------
程序功能:求Sn=a+aa+aaa+……+aa…a之值,其a中代表1到9中的一个数字。
例如:a代表6,则求6+66+666+6666+66666(此时n=5),a和n均由键盘输入。
------------------------------------------------------------------*/
#include <stdio.h>
#include<stdlib.h>
int fun(int a,int n)
{
int t=a,i,s;
/***************************/
【1】;
for(i=1;i<=n;i++)
{
s+=【2】;
t=t*10+a;
}
【3】;
}
main( )
{
int a,n,s ;
printf("输入a和n的值:");
scanf("%d,%d",【4】) ;
printf("a=%d,n=%d:\n",a,n) ;
s=【5】;
/*****************************/
printf("a+aa+aaa+...+aa..a=%d\n",s);
system("pause");
}
/*-----------------------------------------------------------------------------------
程序功能:打印输出1~100范围内所有能被15整除的数(每个数单独一行),计算并输出这些数的和。
输出样式:
100以内能被15整除的数:
15
30
45
60
75
90
s=315
-----------------------------------------------------------------------------------*/
#include <stdio.h>
void main()
{
/*************************/
int i,【1】;
printf("100以内能被15整除的数:\n");
for(i=1;i<=100;【2】)
if(【3】==0)
{
printf("%d\n",【4】);
s=s+i;
}
printf("s=【5】\n",s);
/**************************/
}
/*-----------------------------------------------------------
功能:从键盘为一维整型数组输入10个整数,调用函数找出其中
最小的数并输出。
-----------------------------------------------------------*/
#include <stdio.h>
#include<stdlib.h>
int fun(int m[],int n)
{
/*************************/
int 【1】,i;
min=m[0];
for(i=1;【2】;i++)
{
【3】(m[i]<min)
【4】;
}
【5】;
/**************************/
}
main()
{
int a[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
min=fun(a,10);
printf("min=%d\n",min);
}
/*-------------------------- 【程序填空】 --------------------------
函数fun的功能:将字符串str中第k个字符开始的n个字符逆序重排后再全部输出字串,
例如:字符串为“12345abcde”
若 输入1,5 输出54321abcde
输入3,6 输出12cba543de
请完善下列程序项。
---------------------------------------------------------------------*/
#include <stdio.h>
#include <string.h>
void fun(char *str, int k, int n )
{
int i,j; char t;
for(i=【1】,j= k-1+n-1;i<j;i++,j--)
{
t=【2】;
【3】;
【4】=t;
}
}
int main( )
{
char str[]="12345abcde";
unsigned int k,n;
scanf("%d,%d",&k,&n);
if(k+n-1<=strlen(str))
{ fun(str,k,n);
puts(str);
}
else
printf("所输入的k,n值不合适!\n");
return 0;
}
/*-------------------------- 【程序填空】 --------------------------
用冒泡法对数组a进行由小到大的排序。
---------------------------------------------------------------------*/
#include "stdio.h"
void fun(int a[],int n)
{
int i,j,t;
/***********SPACE***********/
for(j=0;j<【1】;j++)
/***********SPACE***********/
for(i=0;i<【2】;i++)
/***********SPACE***********/
if(【3】)
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
main()
{
int i,a[9]={13,8,5,11,2,6,9,7,19};
/***********SPACE***********/
【4】;
for(i=0;i<9;i++)
printf("%3d",a[i]);
}