sql server数据库教案excel表格制作值班表
27、键盘上输入一个33列矩阵的各个元素的值(为整数)
82  编写函数fun其功能是:根据整型形参m,计算如下
然后输出主对角线元素的积,并在fun()函数中输出。
      公式的值:y=1/2!+1/4!+...+1/m!m是偶数)
int sum;
      int I,j;
  int i'j;
    double s=1;
    sum=1;
  for(i=2;i<=m;i+=2)
for(i=0;i<3;i++)
  {for(j=i-1;j<=I;j++)
sum=sum*a[i][i];  return sum;
  s=s*j;
59、将从键盘上输入的每个单词的第一个字母转换为大写
  y=y+1.0/s;
字母,输入时各单词必须用空格隔开,用’.’结束输入
  }  return y ;
if(*c==' ') return 1;
10、编写函数判断一个整数m的各位数字之和能否被7整除,
else
    可以被7整除则返回1,否则返回0。调用该函数出
{if(status&&*c<='z'&&*c>='a')
    100~200之间满足条件的所有数。
*c+='A'-'a';
int k,s=0;
return0;
  do
}
{ s=s+m%10;
32、从键盘为一维整型数组输入10个整数,调用fun
  m=m/10;
    函数出其中最小的数,并在main函数中输出。
} while(m!=0);
    请编写fun函数。
if(s%7==0)k=1;
int min,i;
  else  k=0;
  min=x[0];
return(k);
  for(i=1;i<n;i++)
51、编写函数实现两个数据的交换,在主函数中输入任
  {if(x[i]<min)min=x[i];}
意三个数据,调用函数对这三个数据从大到小排序。
return min;
int k;k=*a;*a=*b;*b=k;
78、从键盘上输入任意实数,求出其所对应的函数值。
        z=ex次幂(x>10)
52、编写函数判断一个整数能否同时被35整除,若能
        z=log(x+3) (x>-3)
    则返回值为1,否则为0。调用该函数求出15~300
        z=sin(x)/((cos(x)+4)
间能同时被35整除的数的个数。
    double z;
if(n%3==0&&n%5==0) return(1)
    If(x>10)z=log(x+3)
return(0)
    else if(x > -3)z=log(x+3);
34、编写函数求1~100中奇数的平方和。结果为166650
    else z=sin(x)/(cos(x)+4);
float s=0;int i,j;
    return(z);
  for(i=1;i<=n;i=i+2)
58、从键盘为一维整型数组输入10个整数,调用fun函数
    s=s+i*i;
出其中最小的数,并在main函数中输出。
    return(s);
int min i;  min=x[0];
for(i=1;i<n;i++)
37、编写函数求表达式的和(n的值由主函数输入)。
{if(x[i]<min)
      1-1/2+1/3-1/4+......+1/m
min=x[i];}
float s=0;
return min;
  int i,k=1;
54、从键盘输入一个大于3的整数,调用函数fun判断
  for(i=1;i<=n;i++)
      其是否素数,然后在main函数中输出相应的结论
    {s=s+k*1.0/i; k=-k;}
      信息。例如:7是素数,8不是素数。请编写fun
  return (s);
      函数。素数是仅能被1和自身整除的数
47、编写函数判断一个整数m的各位数字之和能否被7整除,
  int i;  int j;  j=1;
  可以被7整除则返回1,否则返回0。调用该函数出
for(i=2;i<n;j++)
  100~200之间满足条件的所有数。
{
int k,s=0;
if(a%i==0)j=0}
  do{s=s+m%10; m=m/10;}
return (j);
    while (m!=0);
5、从键盘上输入任意实数x,求出其所对应的函数值。
  if(s%7==0)k=1;
    z=(x-4)的二次幂(x>4)
  else k=0;  return (k);
    z=x的八次幂(x>-4)     
    z=z=4/(x*(x+1))(x>-10)
57、编写函数用选择排序法对数组中的数据进行从小到
z=|x|+20(其他)
大的排序。
  float z;
int i,j,k,t;
  if(x>4)z=sqrt(x-4);
for(i=0;i<n-1;j++)
  else if(x>-4)z=pow(x,8);
{k=i;  for(j=j+1;j<n;j++)
  else if(x>-10)z=4/(x*(x+1));
if(a[k]>a[j] k=j;
  else z=fabs(x)+20;
if(k!=i)
  return(z);
{t=a[i];
76、删除所有值为y的元素。数组元素中的值和y的值
a[i]=a[k];  a[k]=t;
  由主函数通过键盘输入int i,j;
  }
        for(i=0;i<*n;)
}
        {if(bb[i]==y)
71、编写函数用冒泡排序法对数组中的数据进行从小到
        { for(j=i;j<*n;j++);
      大的排序。
        *n=*n-1; }
int i,j,t;
        else  i++;
  for(i=0;i<n-1;i++)
        }
  for(j=0;j<n-1;j++)
83  能计算从1开始到n的自然数中偶数的平方的和,n
    if(a[j]>a[j+1])
      键盘输入,并在main()函数中输出。(n是偶数)
  { t=a[j]; a[j]=a[j+1];a[j+1]=t;
    int sum,I;
    }
    sum=0;
11、请编一个函数void fun(int tt[M][N],int pp[N])
  for(i=2;i<=n;i=i+2)
    tt指向一个MN列的二维数组,求出二维数组每列
  { sum=sum+i*I;}
    中最大元素,并依次放入pp所指一维数组中。二维
  return(sum)
数组中的数已在主函数中赋予。
39、能计算从1开始到n的自然数的和,n由键盘输入,
int i,j;
并在main()函数中输出。
  for(j=0;j<N;j++)
int sum,i; 
{ pp[j]=tt[0][j];
sum=0;
  for(i=1;i<m;i++)
for(i=1;i<=n;i++)
  if(tt[i][j]>pp[j])
{sum=sum+i;}return(sum);N为偶第三行i=2.i=i+2
  pp[j]=tt[i][j];
                        第四行i*i
}
40、计算出k以内最大的10个能被1317整除的自然数之
13、编写main程序调用函数fact求解从m个元素选n个元
和。(k3000
素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)
int a=0,b=0,j;
要求:m不能小于n,否则应有容错处理。
while(k>=2)&&(b<10))
说明:函数fact(x)的功能是求x!
  {if((k%13==0)||(k%17==0));k--;}
while(m<n)
    return a;
{printf("mn输入错误!请重新输入:\n");
scanf("%d%d,&m,&n");
21、判断整数x是否是同构数。若是同构数,函数返回1
}
    否则返回0x的值由主函数从键盘读入,要求不大
    100
30、编写程序,实现矩阵(33列)的转置(即行列互换) 
int k;
int i,j,t;
k=x*x;
  for(i=0;i<3;i++)
  if((k%10==x)|(k%100=x))
    for(j=0;j<i;j++)
  return 1;
  {t=array[i][j]=array[j][i];
  else  return 0;
    array[j][i]=t;}
41、判断一个整数w的各位数字平方之和能否被5整除,
66、编写程序, 求矩阵(33列)与2的乘积 
可以被5整除则返回1,否则返回0
例如:输入下面的矩阵:
int k,s=0;
      100 200 300   
  do{s=s+(w%10)*(w%10);w=w/10;}
      400 500 600   
  while(w!=0);
      700 800 900
    if(s%5==0)k=1;
      程序输出
    else k=0;  return(k);
      200  400  600   
3、求一批数中最大值和最小值的积。
      800 1000 1200   
int i,max,min;
      1400 1600 1800
  max=min=a[0];
int i,j;
  for(i=1;i<n;i++)冒泡排序代码c语言
  for(i=0;i<3;i++)
    if(a[i]<max)max=a[i];
  for(j=0;j<3;j++)
return(max*min);
  array[i][j]=array[i][j]*2;
6、求出N×M整型数组的最大元素及其所在的行坐标
及列坐标(如果最大元素不唯一,选择位置在最前面
2、编写程序求无理数e的值并输出。计算公式为:
的一个)。
  e=1+1/1!+1/2!+1/3!+......+1/n!
例如:输入的数组为:
  1/n!<0.000001e=2.718282
                  1  2  3
long int j;
                  4  15  6
int i,k;
                  12  18  9
float e,jc;
                  10  11  2
i=1;
e=0.0;
  求出的最大数为18,行坐标为2,列坐标为1
jc=1.0;
int max,i,j;
while(jc>=0.000001)
max=array[0][0];
{
row=0;
e=e+jc;
col=0;
j=1
for(i=0;i<n;i++)
for(k=1;k<=i;k++)
  {for(j=0;j<m;j++)
j=j*k;
matlab画图美化    if(max<array[i][j])
jc=1.0/j;
    {max=array[i][j];  row=i;
i++;
col=j;
}
}  }
19、对任意输入的 x,用下式计算并输出 y 的值。
            5      x<10
9、求一批数中小于平均值的数的个数。
      y=    0      x=10
  int i,sum=0,k=0;
          -5      x>10
    float average;
int m;
    for(i=0;i<n;i++)
if(n>=10)
    sum=sum+a[i];
  if(n>10)
  average=sum*1.0/n;
  m=-5;
  for(i=0;i<n;i++)
  else  m=0;
    if(average>a[i])k++;
  else  m=5;
  return(k);
  return m;
17、求一个四位数的各位数字的立方和。
int d,k,s=0;
25、对长度为8个字符的字符串,将8个字符按降序排列。
  while(n>0)
例如:原来的字符串为CEAedcab,排序后输出为edcbaECA
{d=n%10;
int i,j;
s+=d*d*d;
  char t;
n/=10;  }
  for(i=0;i<num;i++)
return  s;
      for(j=j+1;j<num;j++)
18、求一组数中大于平均值的数的个数。
    if(s[i]<s[j])
例如:给定的一组数为1,3,6,9,4,23,35,67,12
    {t=s[i];s[i]=s[j];s[j]=t;}
  ,88时,函 数值为3
73、对某一正数的值保留2位小数,并对第三位进行四舍
int i,k=o;
      五入。
  float s=0,ave;
int i;
  for(i=0;i<n;i++)
i=(int)(h*1000)%10;
    s+=a[i];
  if(i>=5)
  ave=s/n;
  return(int)(h*100+1)/100.0;
  printf("%f",ave);
else
  for(i=0;i<n;i++)
  return(int)(h*100)/100.0;
  if(a[i]>ave)k++;
  return k;
61、根据整型形参m,计算如下公式的值:y=sin(m)*10
例如:若m=9,则应输出:4.121185
56、求一批数中小于平均值的数的个数
double y=0;
double  y=1;
  y=sin(n)*10;
int i; 
  return(y);
for(i=1;i<=m;i++)
if(i%2==0) y=y*i;
26、根据整型参数n,计算如图公式的值。
return y;
float a=1;int i;
7、求一个n位自然数的各位数字的积。(n 是小于10
  for(i=1;i<n;i++)
  自然数)
  a=1.0/(1+a);  return a;
long d,s=1;
    while(n>0)
84  根据整型形参m,计算如下公式的值:
  {
      y=1/5+1/61/71/81/9+1/(m+5)
  d=n%10;
例如:若m=9,则应输出:1.168229
  s*=d;
double y=0;
  n/=10;
  int i;
}  return  s;
  for(i=0;i<=m;i++)
35、计算并输出给定整数的所有因子之积(包括自身)。
  {y+=1.0/(i+5);}
规定这个整数的值不大于50
    Return(y);
long s=1,i;
  for(i=2;i<=n;i++)
46、将两个两位数的正整数ab合并形成一个整数放在c
    if(n%i==0)s=s*i;
中。合并的方式是: a数的十位和个位数依次放在c
    return s;
的个位和百位上, b数的十位和个位数依次放在c数的十位
8、计算n门课程的平均值,计算结果作为函数值返回。
和千位上。例如:当a=45b=12,调用该函数后,c=2514
例如:若有5门课程的成绩是:9276695888
答案;
      则函数的值为76.599998
    *c=a/10+a%10*100+b/10*10+b%10*100;
int i;
72、将两个两位数的正整数ab合并形成一个整数放在c
  float y=0;
      中。合并的方式是:将a数的十位和个位数依次放在
  for(i=0;i<n;i++)
      c数的千位和十位上, b数的十位和个位数依次放在
  y+=a[i];
      c数的个位和百位上。   
  y=y/n;
例如:当a45b=12。调用该函数后,c=4251 
  return y;
*c=a/10*1000+a%10*10+b/10+b%10*100;
   
36、求1100之间的偶数之积
16、将字符串中的小写字母转换为对应的大写字母,
double y=1;
    其它字符不变。
  int i;
int i;
    for(i=1;i<=m;i++)
  for(i=0;str[i]!='\0';i++)
    if(i%2==0)y*=i;  return y;
    if(str[i]>='a'&& str[i]<='z')
64、求给定正整数n以内的素数之积。(n<28
      str[i]=str[i]-32;
long i,k;
long s=1;
33、用do-while语句求1100的累计和
  for(i=2;i<=n;i++)
int i=1,sum=0;
  {for(k=2;k<i;k++)
  do{sum=sum+i;i++;}
    if(i%k==0)break;
  while(i<=n);
    if(k==i)s=s*i;
    return sum;
}  return s;
63、求给定正整数m以内的素数之和。
55、用辗转相除法求两个整数的最大公约数
例如:当m=20时,函数值为77
int  r,t;
int i,ks=0;
if(n<m)  {t=n;n=m;m=t;}
    for(i=2;i<=m;i++)
r=n%m; 
  { for(k=2;k<i;k++)
while(r!=0)
    if(i%k==0)break;
{n=m;m=r;r=n%m;}
  if(k==i)s=s+i;
return (m);
}      return s;
14、出一批正整数中的最大的偶数。
48、判断m是否为素数
int i,amax=-1;
int i,k=1;
  for(i=0;i<n;i++)
  if(m<=1)k=0;
    if(a[i]%2==0)
  for(i=2;i<m;i++)
    if(a[i]>amax=a[i]);
  if(m%i==0)k=0;
  return amax;
  return k;
74、出一个大于给定整数且紧随这个整数的素数,并
15、实现两个整数的交换。
作为函数值返回。
例如:给ab分别输入:6065,输入为:a=65 b=60
int i,k;
int t;
  for(i=n+1;;i++)
t=*a,*a=*b,*b=t;
  {for(k=2;k<i;k++)
    if(i%k==0) break;
4、某一正数的值保留2位小数,对第三位进行四舍
  if(k==i)  return(i);
  五入。
}
  int i;
43、求大于limlim小于100的整数)并且小于100的所
  i=(int)(h*1000)%10;
    有素数并放在aa数组中,该函数返回所求出素数的
  if(i>=5)
个数。
  return(int)(h*100+1)%100.0;
int n=0;
  else
  int i,j;
catch a grenade
  return (int)(h*100)%100.0;
  for(i=lim;i<=100;i++)
29、统计出若干个学生的平均成绩,最高分以及得最高
    {for(j=2;j<i;j++)
    分的人数。
    if(i%j==0)break;
例如:输入10名学生的成绩分别为9287685692
    if(j==i)aa[n++]=i;}  return n;
      8467759266,则输出平均成绩为77.9
      最高分为92,得最高分的人数为3人。
44、求一批数中最大值和最小值的差
int i;float sum=0,ave;
int i,max,min;
  Max=array[0];
  max=min=a[0];
    for(i=0;i<n;i++)
  for(i=1;i<n;i++)
    {if(Max<array[i])Max=array[i];
    if(a[i]>max)max=a[i];
      sum=sum+array[i];}
    else if(a[i]<min)min=a[i];
      ave=sum/n;
  return(max-min);     
    for(i=0;i<n;i++)
如为积将-*
    if(array[i]==Max)j++;
45、求出菲波那契数列的前一项与后一项之比的极限的
  return (ave);
    近似值。
例如:当误差为0.0001时,函数值为0.618056
38、产生20[30,120]上的随机整数放入二维数组
int i,j;
a[5][4], 求其中的最小值。
  float f1=1,f2=1,f3;
int i,j,s;
  float r1=2,r2;
  s=a[0][0];
  do{ r2=r1;r1=f1/f2;f3=f1+f2;
  for(i=0;i<5;i++)
      f1=f2;f2=f3;  }
  for(j=0;j<4;j++)
    while(fabs(r1-r2)>1e-4);return r1;
  if(s>a[i][j])s=a[i][j];
50、求出二维数组周边元素之和,作为函数值返回。二
  return(s);
维数组的值在主函数中赋予。
int s=0; int i,j;
42、从低位开始取出长整型变量s奇数位上的数,依次
  for(i=0;i<M;i++)
      构成一个新数放在t中。   
  s=s+a[i][0]+a[i][N-1];
例如:当s中的数为:7654321时,t中的数为:7531
    for(j=1;j<N-1;j++)
long s1=10;
  s=s+a[0][j]+a[M-1][j];
t=s%10;
  return s;
while(s>0)
62、求一个大于10n位整数的后n-1位的数,并作为函
  { s=s/100; t=s%10*s1+t;s1=s1*10;}
  数值返回。
            如果为642,在第二行前加,s/=10;
int n=0;int i=1;
  while(w>10){n=n+i*(w%10);
1、给定n个数据, 求最小值出现的位置(如果最小值
  w/=10;
出现多次,求出第一次出现的位置即可)。
  i*=10; }  return n;
int i ,k;
k=0;
65、求一个给定字符串中的字母的个数。
for(i=1;i<n;i++)
int i,k=0;
if(s[i]<s[k])k=i;
  for(i=0;s[i]!='\0';i++)
return(k);        最大值 第三行i<=n五行k+1
    if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='z')
79  用函数求一个N阶方阵右下三角元素的和(包括副
    k++;
      对角线上的元素)。   
  return k;
int I,j,k=0;
77、求一分数序列2/13/25/38/513/821/13
  for(i=0;i<N;i++)
      的前n项之和。
  for(j=N-1-I;j<N;j++)
说明:每一分数的分母是前两项的分母之和,每一分数的
  k=k+a[i][j];
      分子是前两项的分子之和
    return(k);
例如:求前20项之和的值为32.660259
80  用函数实现字符串的复制, 不允许用strcpy()函数。
int i;
  int i;
  float f1=1,f2=1,f3,s=0;
    for(i=0;str1[i]!=’\0’;i++)
  for(i=1;i<=n;i++)
    str2[i]=str1[i];
  {f3=f1+f2;
    str2[i]=’\0’
    f1=f2;
    f2=f3;
23、编写函数funsum=d+dd+ddd+resumes……+dd...d(nd)
    s=s=f2/f1;}
      其中d1-9的数字。
    return s;
例如:3+33+333+3333+33333(此时d=3,n=5)dn在主函
70、求一组数中大于平均值的数的个数。
      数中输入。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函
long int s=0,t=0;
      数值为3
  int i;
int i,k=0;
  for(i=1;i<n;i++)
  float s=0,ave;
    {t=t+d;
  for(i=0;i<n;i++)
    s=s+t;
  s+=a[i];
    d=d*10;
  ave=s/n;
}  return s;
  printf("%f",ave);
28、编写函数fun(str,i,n),从字符串str中删除第i
  for(i=0;i<n;i++)
    字符开始的连续n个字符(注意:str[0]代表字符串
  if(a[i]>ave)k++;
的第一个字符)。
  return k;
while(str[i+n-1])
22、用函数求N[10,60]上的整数中能被5整除的最大
  { str[i-1]=str[i+n-1];i++}
的数,存在则返回这个最大值,如果不存在则返回0
  str[i-1]='\0';
int i;
12、编写函数fun用比较法对主程序中用户输入的具有10
  for(i=0;i<n;i++)
    个数据的数组a按由大到小排序,并在主程序中输出
    if(arr[i]%5==0&& arr[i]>m)
排序结果。
  m=arr[i];
int k,j,t;
31、用函数实现字符串的复制, 不允许用strcpy()函数。
  for(k=0;k<n-1;k++)
int i; for(i=0;str[j]!='\0';i++)
    for(j=k+1;j<n;j++)
  str2[i]='\0';
  if(array[k]<array[j])
69、用函数将第2个串连接到第1个串之后,不允许使用
{  t=array[k];
    strcat函数。 
  array[k]=array[j];
int i,j;
array[j]=t;
  for(i=0;c1[i]!='\0';i++);
}
    for(j=0;c2[j]!='\0';j++)
24、编写函数fun将一个数组中的值按逆序存放,并在
      c1[i+j]=c2[j];
      main()函数中输出。
    c1[i+j]='\0';
例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8
75、用函数求fibonacci数列前n项的和。
int i,t;
说明:fibonacci数列为数列的第一项值为1,第二项值
  for(i=0;i<n/2;i++)
也为1,从第三项开始,每一项均为其前面相邻两项和。
    {t=arr[i];arr[i]=arr[n-1-i];
例如:当n=28时,运行结果:832039
    arr[n-1-i]=t;
  long f,k=f1+f2;        int i;
}
  for(i=3;i<=28;i++)
53、编写函数fun,求任一整数mn次方
  {f=f1+f2;
long int x=1;  int i;
  k=k+f;
  for(i=1;i<=n;i++)
  f1=f2;
  x=x*m;   
  f2=f;
  return  x;
  }  return(k);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。