main()
{int a[20]={12,34,56,67,89,123,345,367,890,1234,1236,1345,1456,1789,1999,2111,2222,3333,4444,5555},i,n;
printf("请输入要查找的数:");
scanf("%d",&n);
for(i=0;i<20;i++)
if(a[i]==n) {printf("该数的下标值是%d",i);break;}
if(i==20) printf("no found");}
/构建学生信息库,实现输入、计算平均分、排序、输出状元信息/
#include<stdioh>
#include<stringh>
#define MaxSize 50
struct student{
int num;
char name[10];
char sex[5];
int cxsj,english,math;
double average;
};
int Count=0;
void inputInfo(struct student students[]); /函数声明,输入学生信息/
void getAverage(struct student students[]); /函数声明,计算平均分/
void sort(struct student students[],int n); /函数声明,学生成绩排序/
void getTop(struct student students[]); /函数声明,输出状元信息/
int main(void)
{
int choice;
struct student students[MaxSize];
do{
printf("choice: 1:输入学生信息 2:计算平均分 3:排序 4:输出状元信息 0:退出\n"); /用户 *** 作界面/
scanf("%d",&choice);
switch(choice){
case 1:inputInfo(students);break;
case 2:getAverage(students);break;
case 3:sort(students,Count);break;
case 4:getTop(students);break;
case 0:break;
}
}while(choice!=0);
printf("END!\n");
return 0;
}
/新建学生信息/
void inputInfo(struct student students[])
{
struct student s;
if(Count==MaxSize){
printf("the array is full!\n");
return;
}
printf("请输入姓名、学号、性别、高数成绩、英语成绩、程序设计成绩:\n");
scanf("%s%d%s%d%d%d",sname,&snum,ssex,&smath,&senglish,&scxsj);
while(snum!=0){
students[Count]=s;
Count++;
scanf("%s%d%s%d%d%d",sname,&snum,ssex,&smath,&senglish,&scxsj);
}
return;
}
/计算平均分/
void getAverage(struct student students[])
{
int i;
if(Count==MaxSize){
printf("the array is full!\n");
return;
}
for(i=0;i<Count;i++)
students[i]average=(students[i]math+students[i]english+students[i]cxsj)/30;
}
/学生成绩排序/
void sort(struct student students[],int n)
{
int i,j,index;
struct student temp;
for(i=0;i<n-1;i++){
index=i;
for(j=i+1;j<n;j++)
if(students[j]average>students[index]average)
index=j;
temp=students[i];
students[i]=students[index];
students[index]=temp;
}
}
/输出状元信息/
void getTop(struct student students[])
{
if(Count==0){
printf("count of student is zero!\n");
return;
}
printf("姓名\t学号\t性别\t高数成绩\t英语成绩\t程序设计成绩\t平均分\n");
printf("%s\t%d\t%s\t%d\t\t%d\t\t%d\t\t%2f\n",students[0]name,students[0]num,students[0]sex,students[0]math,students[0]english,students[0]cxsj,students[0]average);
}
问题出在IF语句上,请做如下修改:
//////////////////////////////////////
#include<stdioh>
#define N 5
void main()
{
int i,j,p=0;
int num[N+1]={23,45,60,67,88},in;
/声明一个数组,数组的大小为N+1,多出一个空间用来再输入一个数/
printf("\n输入新数之前的数组元素: \n");
for(i=0;i<N;i++)
{
printf("%d ",num[i]);
}
printf("\n请输入一个数:");
scanf("%d",&in);
for(i=0;i<N;i++)
{
if(num[i]==in)
{
p=1;
printf("请删除%d\n",in);
printf("%d",num[i]);
}
}
if (p!=1) {
printf("数组中没有这个数!");
}
getch();
}
#include <stdioh>
#include <conioh>
#define N 21//人数
#define M 5//报数的倍数
int main()
{
int i,
num,//报的数字
left = N,//圈子剩余的人数
people[N];//1表示还在圈中,0表示出去
for(i=0;i<N;++i)
people[i]=1;
//开始报数
i=0;
num=0;
//报数一个回合
while(left>1)
{
if(i>=N)
i=i%N;
if(people[i]==1)
{
++num;
if(num%M==0)
{
people[i]=0;
--left;
}
}
++i;//继续报
}
for(i=0;i<N;++i)
{
if(people[i]==1)
printf("Id:%d",i+1);
}
getch();
return 0;
}
#include<stdioh>
int main(){
int a[100];
int n,temp,k;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
temp = a[n-1] 5;
a[n] = temp%10;
temp = temp/10;
for(int i=n-2;i>=0;i--){
k = a[i] 5;
a[i+1] = k%10 + temp;
temp = k/10;
}
a[0] = temp;
for(int i=0;i<=n;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
以上就是关于C语言数组程序全部的内容,包括:C语言数组程序、c程序设计 简单学生信息的管理(用数组实现)、关于数组的一个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)