c语言,数组程序设计
#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
}
加上括号就可以了
//全部习题的源码如下
//第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
}
所有程序都测试通过了的,如果觉得满足你的要求,希望采纳一下答案呀!
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
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
}
加上括号就可以了
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
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()}}程序运行结果:
#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")
}
#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
}
}
#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
}