新手求答案 C语言编程

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:17:07
(1)从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.
(2)编程实现1000以内的所有完数.(提示:一个数如果恰好等于它的因子这各(除本身外),则称该数为完数.如:6=1+2+3,所以6为完数.)

请用C语言编程,简单最好,太高深了我看不懂.
先谢谢了

1、
#include <stdio.h>

void main()
{
int n,max,min;

scanf("%d",&n);
max=min=n;
while(n>=0)
{
if(max<n)
{
max=n;
}
if(min>n)
{
min=n;
}
scanf("%d",&n);
}
printf("max=%d,min=%d\n",max,min);
}

2、
#include <stdio.h>

#define N 1000 /*完数求解范围*/
void main()
{
unsigned int i,j,sum;

for(i=1;i<N;i++)
{
sum=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0)
sum=sum+j;
}
if(sum==i)
{
printf("%d=",i);
for(j=1;j<=i/2;j++)
{
if(i%j==0)
printf("%d+",j);
}
printf("\b\n");
}
}
}

(1)设定两个变量,用来存贮最高成绩和最低成绩,当输入一个分数时,判断是不是负数,不是,则把第一个数都赋给两个变量,输入第二个数值时,把这个数值与了当前“最高”,“最低”分值分别比较,比“高分”高的 则替换“高分”,比“低分”低的则替换“低分”,直到输入负数,此时跳出,然后输出最高最低分。