C语言关于数组的问题? c语言数组遇到的问题
关于C语言数组的问题
#include "stdio.h"
#define NUM 10 ---------这里NUM的理解是下面碰到的NUM这个字符都表示整数10,所以下面data[NUM]可以理解为data[10],依此推.
main()
{ int data[NUM];
int i,j,temp;
~~~~~~~~~~~~~~~~~~~~~~~~
冒泡法排序
for(i=0; i<NUM-1; i++)
for(j=NUM-1; j>i; j--)
if(data[j]<data[j-1]) -----这里三句的意思是从数组最后开始进行比较,而数组的大小为10,但数组的下标是从0开始的,所以数组最后一个元素为NUM - 1 = 10-1 = 9,即DATA[9]是最后一个元素.
{temp=data[j];
data[j]=data[j-1];
data[j-1]=temp;
};
程序第二句#define NUM 10 和int data[NUM]已经定义数组长度为10,故输入的是10个整数,但是,这里没有scanf()函数,也没有为数组初始化,所以,date的十个元素date[0]date[1]date[2]……date[9]的值未知,
这样说清楚吗?
C语言数组问题
第一:
#include <stdio.h>
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int n,i;
printf("请输入要查找的数:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n==a[i])
{
printf("%d\n",i+1);
break;
}
if(i==10)
printf("数组中不存在这样的值\n");
}
第二题:
#include <stdio.h>
void main()
{
int a[300];
int i,j=0;
for(i=100;i<=300;i++)
if((i/100)*(i/10%10)*(i%10)==42 || (i/100)+(i/10%10)+(i%10)==12)
{
a[j]=i;
j++;
}
printf("%d \n",j);
for(i=0;i<j;i++)
printf("%d ",a[i]);
}
C语言代码.数组问题
#include
int main()
{
int a[100];// 所有学生成绩数组
int b[100];//不及格成绩数组
int n,i,j,t;
int count=0;
int lowscore=0;//不及格人数
while(scanf("%d",&n)&&n>0)
{
a[count] = n;
count++;
}
int max=a[0],min=a[0];
for(i=0;i { if(max max = a[i]; // 获取最高分 if(min>a[i]) min = a[i]; // 获取最低分 if(a[i]<60) { b[lowscore]=a[i]; lowscore++; } } printf("不及格人数为:%d\n",lowscore); int k; printf("不及格成绩为:\n"); for(k=0;k { printf("%d ",b[k]); } printf("\n"); printf("最高分为:%d,最低分为:%d\n",max,min); for(i=0;i { for(j=i;j { if(a[i] { t = a[i]; a[i] = a[j]; a[j] = t; } } } printf("分数从高到低排序为:\n"); for(i=0;i { printf("%d ",a[i]); } printf("\n"); return 0; }随便写的。。自己参考吧。 (1)#include<iostream> using namespace std; int main(void) { int a[10],min,temp; cout<<"输入10个整数"<<endl; for(int i=0;i<10;++i) cin>>a[i]; for(i=0;i<10;++i) for(int j=1;j<10;++j) if(a[j]<a[i]){min=j;} temp=a[min];a[min]=a[0];a[0]=temp; for(i=0;i<10;++i) cout<<a[i]; cout<<endl; return 0; } (2)#include<iostream> #include<string> using namespace std; int main(void) { char str[100]; cout<<"输入一段字符"<<endl; cin>>str; int len=strlen(str); for(int i=1;i<len-2;i=i+2) if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32; cout<<str<<endl; return 0; }c语言关于数组方面的问题