c语言实验四 数组程序设计

1.编写程序,把一个数组按从小到大的次序排列起来

#include <stdio.h>                                                                                                                                                                               
int main() {
    int a[10]={0};
    int i,j,temp;
    for(i = 0;i<10;i++){
        scanf("%d",&a[i]);
    }
    for(i = 0;i<10;i++){
        for(j = 0;j<10-i-1;j++){
            if(a[j]>a[j+1]){
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    for(i = 0;i<10;i++){
    printf("%d ",a[i]);
}
}

2.求一个3X3的整型矩阵对角线元素之和

#include<stdio.h>
int main(){
    int a[3][3];
    int i,j,sum;
    sum = 0;
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0,j=2;i<3;j--,i++){
        sum = sum + a[i][i] + a[i][j];
        if(i==j){
            sum = sum - a[i][j];
        }
    }
    printf("%d",sum);
    return 0;     
}

3.输入一行字符,统计其中有多少个单词

#include"stdio.h"
#include"string.h"
int main()
{
    char a[10000];
    int i,b=1,l;
    gets(a);
    l=strlen(a);
    for(i=0;i<l;i++)
    {
        if(a[i]==32)
            b++;
    }
    printf("这串字符中有%d个单词
",b);

}

4.用筛选法求100之内的素数

【未知错误程序】

#include<stdio.h>
#include<math.h>
int main()
{
    int n,i;
    for(n=2;n<=100;n++)
    {for(i=2;i<=10;i++)
    if(n/i!=0)
    printf("%d
",n);
    }
return 0;

【正确程序】

#include<stdio.h>
#include<math.h>
int main(){
    int a[101]={0};
    int i,j,s=0;
    a[0]=1;
    a[1]=1;
    for(i = 2;i * i<=100;i++){
        if(a[i]!=1){
            for(j=2;j<=100/i;j++){
                a[i*j]=1;
            }
        }
    }
    for(i=2;i<100;i++)
    {
        if(a[i]!=1)
        {
            printf("%d ",i);
            s=s+1;
            if(s%5 == 0)
            {
            printf("
");
            }    
        }    
    }
    return 0;
    
}

#include<stdio.h>
#include<math.h>
int main(){
   int i,j,a[100];
   for(i=2;i<100;i++)
   {
       a[i]=i;
       for(j=2;j<=i;j++)
       {
           if(j<i)
               if(a[i]%j==0)
                   break;
               if(a[i]-j==0)
                   printf("%d
",a[i]);}
   }
    return 0;
    
}

原文地址:https://www.cnblogs.com/P201821440043/p/10890355.html