C语言求教

1.下面程序的功能是求1000以内的所有完全数。(说明:一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6为完全数。)试完善程序。#i... 1.下面程序的功能是求1000以内的所有完全数。(说明:一个数如果恰好等于它的因子之和(除自身外), 则称该数为完全数, 例如:6=1+2+3, 6为完全数。)试完善程序。
#include<stdio.h>
void main( )
{ ;
for(a=1;a<=1000;a++)
{ for ( ; i<=a/2;i++)
if(!(a%i)) ;
if (m==a) printf("%4d",a);
}
}
2. 程序功能:有一已经排好序的数组,现输入一个数,要求按原来的规律将它插入数组中。
main( )
{ int i,k;
int a[11]={2,3,8,15,19,21,28,31,45,50},n;
printf(“Original array is:\n”);
for(i=0;i<10;i++)
printf(“%4d”,a[i]);
printf(“\n”);
printf(“Insert a new number:”);
scanf(“%d”,&n);
if(n>a[9])
____ ___;
else
{
for(i=0;i<10;i++)
if(a[i]>n)
{
_________;
break;
}
for(i=10;i>k;i--)
_ _;
a[k]=n;
}
printf(“New array is:\n”);
for(i=0;i<11;i++)
printf(“%4d”,a[i]);
}
3.有5个人坐在一起,下面程序的功能是用递归的方法求第5个人的年龄。已知第1个人的年龄最小是10岁,第2个人比第1个人大2岁,第3个人又比第2个人大2岁,第4个人又比第3个人大2岁,第5个人又比第4个人大2岁。试完善程序。
#include <stdio.h>
int age(int n)
{ int c;
if( ) c=10;
else c= ;
return(c); }
void main( )
{ printf(“%d\n”, ); }
4. 在以下程序中,函数findMax 的功能是求3 行4 列二维数组每列元素中的最大值。请填空。
void findMax(int arr[][4],int m,int n,int *col)
{ int i,j,temp;
for(j=0; j<n; j++)
{ ;
for(i=0; i<m; i++)
if (temp <arr[i][j]) temp=arr[i][j];
=temp;
}
}
main( )
{ int brr[3][4]={{12,54,23,76},{97,23,54,66},{15,54,34,78} },c[4],i;
;
for(i=0;i<4;i++) printf("%d ",c[i]);
printf("\n");
}
5. 以下函数是把b 字符串连接到a 字符串的后面,并返回a 中新字符串的长度。
strcen(char a[ ], )
{ int num=0,n=0;
while(a[num++])!= ) ;
while(b[n]) {a[num]=b[n];num++; ;}
a[num]=b[n];
return(num);
}
展开
 我来答
华信333
2010-05-12 · TA获得超过809个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:422万
展开全部
1:
#include<stdio.h>
void main( )
{ ;
for(a=1;a<=1000;a++)
{ for ( int m=1 ; i<=a/2;i++)
if(!(a%i)) ;
if (m==a) printf("%4d",a);
}
}

2:
main( )
{ int i,k;
int a[11]={2,3,8,15,19,21,28,31,45,50},n;
printf(“Original array is:\n”);
for(i=0;i<10;i++)
printf(“%4d”,a[i]);
printf(“\n”);
printf(“Insert a new number:”);
scanf(“%d”,&n);
if(n>a[9])
____ a[10]=n ___;
else
{
for(i=0;i<10;i++)
if(a[i]>n)
{
____ k=i_____;
break;
}
for(i=10;i>k;i--)
_ a[i]=a[i-1] _;
a[k]=n;
}
printf(“New array is:\n”);
for(i=0;i<11;i++)
printf(“%4d”,a[i]);
}

3:
#include <stdio.h>
int age(int n)
{ int c;
if( n<10 ) c=10;
else c= n ;
return(c); }
void main( )
{ printf(“%d\n”, age(10)+2+2+2+2//age(自定值) ); }

4:
void findMax(int arr[][4],int m,int n,int *col)
{ int i,j,temp;
for(j=0; j<n; j++)
{ col++ ;
for(i=0; i<m; i++)
if (temp <arr[i][j]) temp=arr[i][j];
col[i] =temp;
}
}
main( )
{ int brr[3][4]={{12,54,23,76},{97,23,54,66},{15,54,34,78} },c[4],i;
findmax(b[][4],3,4,c) ;
for(i=0;i<4;i++) printf("%d ",c[i]);
printf("\n");
}

5:
strcen(char a[ ], char b[] )
{ int num=0,n=0;
while(a[num++])!= '\0' ) ;
while(b[n]) {a[num]=b[n];num++; n++ ;}
a[num]=b[n];
return(num);
}

1 int m=1;
2 a[10]=n k=i a[i]=a[i-1]
3 n<10 n age(10)+2+2+2+2//age(自定值)
4 col++ col[i] findmax(b[][4],3,4,c)
5 char b[] '\0' n++

第二题有点难度,不好想,其他的都很简单。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亲圆里2516
2010-05-12 · TA获得超过191个赞
知道小有建树答主
回答量:535
采纳率:0%
帮助的人:245万
展开全部
yunsi ..

1.#include<stdio.h>
void main( )
{
int a, m;
for(a=1;a<=1000;a++)
{
m = 0;
for (int i = 1; i<=a/2;i++)
if(!(a%i))
m += i;
if (m==a) printf("%4d",a);
}
}

2.#include <stdio.h>

void main()
{ int i,k;
int a[11]={2,3,8,15,19,21,28,31,45,50},n;
printf("Original array is:\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
printf("Insert a new number:");
scanf("%d",&n);
if(n>a[9])
a[10] = n;
else
{
for(i=0;i<10;i++)
if(a[i]>n)
{
k = i;
break;
}
for(i=10;i>k;i--)
a[i] = a[i-1];
a[k]=n;
}
printf("New array is:\n");
for(i=0;i<11;i++)
printf("%4d",a[i]);
}
3.#include <stdio.h>
int age(int n)
{ int c;
if(1==n) c=10;
else c= age(n-1) + 2;
return(c);
}
void main( )
{
printf("%d\n", age(5));
}
4.#include <stdio.h>
void findMax(int arr[][4],int m,int n,int *col)
{ int i,j,temp;
for(j=0; j<n; j++)
{ temp = 0;
for(i=0; i<m; i++)
if (temp <arr[i][j]) temp=arr[i][j];
*col=temp;
}
}
main( )
{ int brr[3][4]={{12,54,23,76},{97,23,54,66},{15,54,34,78} },c[4],i;
;
for(i=0;i<4;i++) printf("%d ",c[i]);
printf("\n");
}
5.strcen(char a[ ], char b[])
{ int num=0,n=0;
while(a[num++])!= '\0');
while(b[n]) {a[num]=b[n];num++; n++;}
a[num]=b[n];
return(num);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友001cc54a6
2010-05-13 · TA获得超过111个赞
知道答主
回答量:88
采纳率:0%
帮助的人:41.3万
展开全部
这是我编的,真痛苦呀!要不是看在你那么诱惑的份上……
第一题:
#include "stdio.h"
#include "conio.h"
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
for(i=0;i<n;i++)
printf("%5d,",k[i]);
printf("%5d\n",k[n]);
}
}
getch();
}

第二题:这一题费了我不少心血呀!
main( )
{ int i,k;
int a[15]={2,3,8,15,19,21,28,31,45,50},n,m,w;
printf("Original array is:\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
printf("Insert a new number:");
scanf("%d",&a[i]);

for(i=1;i<12;i++)
for(w=0;w<11-i;w++)
if (a[w]>a[w+1])
{m=a[w];
a[w]=a[w+1];
a[w+1]=m;}

printf("New array is:\n");
for(i=0;i<11;i++)
printf("%4d",a[i]);getch();
}
第三题:
#include <stdio.h>
int age(int n)
{ int c;
if(n==1) c=10;
else c=age(n-1)+2;
return (c);
}
void main()
{ printf("%d\n",age(5)); getch();
}
第四题:#include <stdio.h>
void findMax(int arr[][4],int m,int n,int *col)
{ int i,j,temp;
for(j=0; j<n; j++)
{ temp = 0;
for(i=0; i<m; i++)
if (temp <arr[i][j]) temp=arr[i][j];
*col=temp;
}
}
main( )
{ int brr[3][4]={{12,54,23,76},{97,23,54,66},{15,54,34,78} },c[4],i;
findMax(arr[][4],3,4,c); ;
for(i=0;i<4;i++) printf("%d ",c[i]);
printf("\n");getch();
}
第五题:#include "stdio.h"
main()
{int i;
char a[]="zhong";
char b[]="guo";
a[i]=strcat(a,b);

printf("%s",a[i]);
printf("\n%d",strlen(a));
getch();}
大哥,费了我两个半小时呀!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-05-19
展开全部
这5道题是谭浩强的C程序设计第三版的课后习题吧,对应的题号应该是
6.7 7.4 其它的三题大致也是课后的习题。
下面是谭浩强的C程序设计第三版的课后习题的电子档网址。
http://wenku.baidu.com/view/3a1081116c175f0e7cd13798.html
如果学期结束有课程设计,可与wyw2012@tom.com联系
本人长期在线。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-01-13 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5709万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式