这道C语言的答案对不对

来源:百度知道 编辑:UC知道 时间:2024/09/24 12:19:46
1、有5个人的学习成绩,分别为:58,87,99,71,68,要求设计出如下程序:

(1)在键盘上输入N个成绩值(例输入5个),放入名为X的数组中

(2)显示出X数组中成绩的值

(3)对数组中的成绩值从大到小排序

(4)显示出排序后X数组中成绩的值

2、设计1个程序,要求是:

(1)在键盘上输入1个不小于3的自然数N(例输入10),求出其不到第N个自然数中奇数之和,并输出
结果

(2)输出1到第N自然数中所有质数的个数

答案:

main()
{int i,j,a[5];
for(i=0;i<5;i++)
scanf("%d",a[i]);
for(i=0;i<5;i++)
printf("%d",a[i]);
for(i=0;i<5;i++)
for(j=1;j<5;j++)
{int t ;
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=a]i];}
}
for(i=0;i<5;i++)
printf("%d",a[i]);
}

2.
#include "stdio.h"
#define SIZE 10
void main()
{
int a[SIZE],i,j,flag,n,m;
j=o,falg=1,n=1,m=1;
printf("Input~~~~~ :");
for(i=0;i<SIZE,i++)
scanf("%d",a[i]);
for(i=0;i<SIZE;i++)

基本正确,需略加修改:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,a[5];

for(i=0;i<5;i++)
scanf("%d",&a[i]); // &号
for(i=0;i<5;i++) printf("%d ",a[i]);
printf("\n");
for(i=0;i<4;i++) // < 4
for(j=i+1;j<5;j++) // i+1
{int t ;
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;} // t
}
for(i=0;i<5;i++) printf("%d ",a[i]);
}

2:
#include "stdio.h"
#define SIZE 10
void main()
{
int a[SIZE],i,j,flag,n,m;
j=0,flag=1,n=1,m=1; // flag
printf("Input~~~~~ :");
for(i=0;i<SIZE;i++) // ;号
scanf("%d", &a[i]); // &号

for(i=0;i<SIZE;i++)
{if(a[i]%2!=0)
j+=a[i];
}
printf("%d\n",j);

for(i=0;i<SIZE;i++)
for(n=2;n<a[i]/2&&flag==1;n++)
{if(a[i]%n==0)
fla