建材秒知道
登录
建材号 > 设计 > 正文

c语言,数组程序设计

殷勤的小刺猬
瘦瘦的黑米
2023-02-18 08:39:45

c语言,数组程序设计

最佳答案
殷勤的刺猬
动人的枫叶
2026-05-16 13:16:34

#include <stdio.h>

int main(void)

{

int i,x,n

int a[10]

printf("输入数组元素的个数:")

scanf("%d",&n)

printf("输入数组%d个元素:",n)

for(i=0i<ni++)

scanf("%d",&a[i])

printf("输入x:")

scanf("%d",&x)

for(i=0i<ni++)

{

if(a[i]!=x)continue

if(i>n)

printf("没有找到与%d相同的元素!\n",x)

else

printf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i])

}

return 0

}

加上括号就可以了

最新回答
伶俐的橘子
昏睡的帽子
2026-05-16 13:16:34

//全部习题的源码如下

//第1题源码

#include <stdio.h>

#define N 30

int main (void)

{

int mol[N],den[N]//定义分子分母数组

double sum=0

int i

mol[0]=1,den[0]=2

for(i=0i<Ni++){

sum += (1.0*mol[i])/den[i]

mol[i+1]=den[i]

den[i+1]=mol[i]+den[i]

}

printf("sum = %.6lf\n", sum) //sum = 18.458635

return 0

}

//第2题源码

#include <stdio.h>

#define N 64

void insert(int *a, int len, int s)

{

int i,pos

if(s >= a[len-1]){

a[len] = s

return

}

for(pos=i=0i<leni++)

if(s >a[i] &&s <= a[i+1]){

pos = i+1

break

}

for(i=leni>=posi--)

a[i] = a[i-1]

a[pos] = s

}

int main (void)

{

int arr[N] = {3,6,9,12,17,21,31,34,40,55}

int len = 10

int i,n

printf("Input n: ")

scanf("%d", &n)

insert(arr, len, n)

for(i=0i<len+1i++)

printf("%d ", arr[i])

printf("\n")

return 0

}

//第3题源码

#include <stdio.h>

#define MAX 51

int main (void)

{

char string[MAX]={0},ch

int i=0

int upper,lower,digit,blank,others

upper=lower=digit=blank=others=0

printf("Input a string:\n")

while((ch=getchar()) != '\n'){

string[i] = ch

if(string[i]>='A' &&string[i]<='Z')

upper++

else if(string[i]>='a' &&string[i]<='z')

lower++

else if(string[i]>='0' &&string[i]<='9')

digit++

else if(string[i] == ' ')

blank++

else

others++

i++

}

printf("upper count: %d\n", upper)

printf("lower count: %d\n", lower)

printf("digit count: %d\n", digit)

printf("blank count: %d\n", blank)

printf("others count: %d\n", others)

return 0

}

//第4.1题源码

#include <stdio.h>

#define ROW 5

#define COL 9

int main (void)

{

char paral[ROW][COL]

int i,j

for(i=0i<ROWi++)

for(j=0j<COLj++){

if(j<ROW-i-1)

paral[i][j]=' '

else if(j<ROW-i+4)

paral[i][j]='*'

else

paral[i][j]=' '

}

for(i=0i<ROWi++){

for(j=0j<COLj++)

printf("%c", paral[i][j])

printf("\n")

}

return 0

}

//第4.2题源码

#include <stdio.h>

#define N 5

int main()

{

int i,j

for(i = 0i <Ni ++)

{

for(j = 0j <N-i-1j++)

putchar(' ')

for(j=0j<=ij++)

putchar('*')

for(j=i-1j>=0j--)

putchar('*')

putchar('\n')

}

return 0

}

所有程序都测试通过了的,如果觉得满足你的要求,希望采纳一下答案呀!

高贵的草丛
贪玩的西装
2026-05-16 13:16:34
一个2行4列的字符数组

strcpy就是把字符串的字符一个个赋值给数组

数组索引是从0开始的

you赋给arr,按顺序来,就是arr[0][0]=y,arr[0][1]=o,arr[0][2]=u

arr[0][3]=&

me赋给arr[1],就是arr[1][0]=m,arr[1][1]=e

把arr这个数组打印出来,刚好是you&me

丰富的香氛
疯狂的天空
2026-05-16 13:16:34
#include

int main(void)

{

int i,x,n

int a[10]

printf("输入数组元素的个数:")

scanf("%d",&n)

printf("输入数组%d个元素:",n)

for(i=0i

n)

printf("没有找到与%d相同的元素!\n",x)

else

printf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i])

}

return 0

}

加上括号就可以了

苗条的黑猫
高高的导师
2026-05-16 13:16:34
第一题分别是

x[0][2] 3

x[1][1] 5

x[2][0] 7

第二题 i和j相等的一共有3个

a[0][0]2

a[1][1] 10

a[2][2] 18

值为30

辛勤的吐司
精明的豌豆
2026-05-16 13:16:34
程序代码如下:(一维数组)import java.util.*

public class Array

{

public static void main(String args[])

{

int i,j

int a[]={1,2,3,4,5,6,7,8,9,0}//10

//一维数组Buuble_sort

for(i=0i<10i++)

{

for(j=0j<10-i-1j++)

{

if(a[j]>a[j+1])

{

int temp=a[j]

a[j]=a[j+1]

a[j+1]=temp

}

}

}

System.out.println("冒泡排序结果:")

for(i=0i<10i++)

System.out.print(a[i]+" ")

System.out.println()}}程序运行结果:

欢呼的高山
辛勤的吐司
2026-05-16 13:16:34
#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void fun(int *b ,int n)

{

int i,j

for(i=0b[i]<ni++)

for(j=22j>ij-- )b[j]=b[j-1]

b[i]=n}

void main()

{

int a[23]={0}

int i,j,t,n

srand( (unsigned)time( NULL ) )

for(i=0i<20i++)

{ a[i]=rand()

for(j=0i<ij++)

if(a[i]==a[j])

i--}

for(i=0i<20i++)

for(j=i+1j<20j++)

if(a[i]>a[j]){t=a[i]a[i]=a[j]a[j]=t}

for(i=0i<20i++)

{ if(i%5==0)printf("\n")

printf(" %8d ",a[i]) }

printf("\n")

printf("输入三个整数 ")

scanf("%d",&n)fun(a,n)

scanf("%d",&n)fun(a,n)

scanf("%d",&n)fun(a,n)

for(i=0i<23i++)

{ if(i%5==0)printf("\n")

printf(" %8d ",a[i])}

printf("\n")

}

妩媚的柠檬
俭朴的白羊
2026-05-16 13:16:34
都已经写成这样了,连空格都不会自己加

#include "iostream.h"

struct car

{

char producer[20]

int year

}

void main()

{

int num=0

cout<<"请输入汽车的数量:"

cin>>num

car *cp=new car[num]

for(int i=0i<numi++)

{

cout<<"请输入第"<<i+1<<"辆车的生产商:"

cin>>cp[i].producer

cout<<"请输入第"<<i+1<<"辆车的生产年份:"

cin>>cp[i].year

cout<<endl

}

cout<<"输入完毕!"<<endl

cout<<"以下是输入结果:"<<endl

for(i=0i<numi++)

{

cout<<"第"<<i+1<<"辆车的生产商:"<<cp[i].producer<<endl

cout<<"第"<<i+1<<"辆车的生产年份:"<<cp[i].year<<endl

cout<<endl

}

}

自然的冬日
俊逸的小蝴蝶
2026-05-16 13:16:34
#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define M 5 //默认行数,因为要实现步骤3,故M应大于等于5,否则会出错

#define N 5 //默认列数

int main()

{

int i,j,a[M][N],max[M],index[M]={0},temp

srand((unsigned)time(NULL))//用当前时间,设置种子

printf("\n初始数组:\n")

for (i=0i<Mi++)

{

for (j=0j<Nj++)

{

a[i][j]=rand()%100//生成随机数

printf("%3d",a[i][j])

}

printf("\n")

}

for (j=0j<Nj++)

{

temp=a[0][j]

a[0][j]=a[4][j]

a[4][j]=temp

}

printf("\n第一行和第五行调换后:\n")

for (i=0i<Mi++)

{

for (j=0j<Nj++)

{

printf("%3d",a[i][j])

if(j==0)max[i]=a[i][j]

if (max[i]<a[i][j])

{

max[i]=a[i][j]

index[i]=j

}

}

printf("\n")

}

printf("各行最大值:\n")

for (i=0i<Mi++)

{

printf("第%d行最大值在第%d列值为%d\n",i+1,index[i]+1,max[i])

}

return 0

}